自行编译的Linux Perf工具缺失Python等脚本语言支持求助
解决自行编译的perf无脚本语言支持问题
排查步骤与解决方案
检查编译配置有效性
进入内核源码的tools/perf目录,执行以下命令确认Python支持是否真的开启:./config.status --config | grep CONFIG_PERF_SCRIPTING_PYTHON如果输出不是
CONFIG_PERF_SCRIPTING_PYTHON=y,说明配置未生效。可以查看config.log搜索python相关日志,确认编译时是否成功找到Python头文件和库:grep -i python ./config.log手动指定Python版本编译
如果系统存在多个Python版本,编译时显式指定目标Python路径,确保链接正确的库:sudo make -C tools/perf clean sudo make -C tools/perf PYTHON=/usr/bin/python3 PYTHON_CONFIG=/usr/bin/python3-config perf_install验证perf的Python依赖链接
检查安装后的perf是否正确链接了Python库:ldd $(which perf) | grep python若没有输出任何libpython相关条目,说明编译时未成功链接,需重新检查依赖安装情况。
补全系统开发依赖
确保安装了Python和Perl的开发包:- Debian/Ubuntu系:
sudo apt install python3-dev libperl-dev - RHEL/CentOS系:
sudo dnf install python3-devel perl-devel
安装完成后重新编译perf。
- Debian/Ubuntu系:
确认perf的PATH优先级
检查当前调用的perf是否为自行编译的版本:which perf如果输出是系统自带路径(如
/usr/bin/perf),需调整PATH让自行编译的版本(通常在/usr/local/bin/perf)优先,或直接使用绝对路径测试:/usr/local/bin/perf script -s lang
内容的提问来源于stack exchange,提问作者jithu83
相关产品推荐
相关产品推荐

