我正在从源代码编译erlang otp,如下所示:
./configure --with-dynamic-trace=systemtap但它报告了错误:
checking for dtrace... no
configure: error: No dtrace utility found.我认为系统访问是为了linux的使用,它不同于dtrace,对吗?
现在安装了德特里斯之后,错误是:
dtrace: failed to compile script emulator/beam/erlang_dtrace.d: Preprocessor not found
configure: error: Could not precompile erlang_dtrace.d: dtrace -h failed
configure: error: /root/otp/erts/configure failed for erts发布于 2012-09-21 16:10:41
你用的是哪个发行版?我会忘记使用DTRACE,要使它工作起来要比Systemtap要难一些(至少对我来说是这样)。我使用的是Systemtap,它工作得很好。
如果您不使用Fedora/RH,则应该使用UTRACE对内核进行修补,或者使用启用了UPBOBES的内核>= 3.5。
要验证内核是否启用了UTRACE/UPROBE,请运行以下命令:
grep UTRACE /boot/config-$(uname -r)或
grep PROBES /boot/config-$(uname -r)例如,在我的机器中(带有Mainline内核3.5的Ubuntu12.04):
$ grep UTRACE /boot/config-$(uname -r)
$
$ grep UPROBES /boot/config-$(uname -r)
CONFIG_ARCH_SUPPORTS_UPROBES=y
CONFIG_UPROBES=y您还应该安装系统You。Ubuntu附带的版本(我的例子)很旧,所以我从源代码(传统的配置/make/make)编译它。你可以在这里找到它:
http://sourceware.org/systemtap/ftp/releases/
我用的是1.8版。
然后再尝试重新编译它。应该管用的。
问候
发布于 2020-04-29 04:03:52
https://stackoverflow.com/questions/12416518
复制相似问题