valgrind在64位机器上没有建立32位rpm

时间:2013-10-28 13:11:22

标签: valgrind

我有32位C应用程序(在64位系统上运行)泄漏内存。

调试它我从http://valgrind.org/downloads/下载了valgrind 3.8.1。 是./configure,make和make install来安装valgrind。

但是valgrind只构建了64位memcheck-amd64-linux二进制文件。 32位memcheck没有建成。

因此我得到以下错误

# valgrind --tool=memcheck --time-stamp=yes -v --track-origins=yes --leak-check=yes /home/test_code32 --error-limit=no
valgrind: failed to start tool 'memcheck' for platform 'x86-linux': No such file or directory

屈服于valgrind给了我:

execve("/usr/local/lib/valgrind/memcheck-x86-linux", ["valgrind", "--tool=memcheck", "--time-stamp=yes", "-v", "--track-origins=yes", "--leak-check=yes", "/home/test_code32", "--error-limit=no"], [/* 60 vars */]) = -1 ENOENT (No such file or directory)
write(2, "valgrind: failed to start tool '"..., 94valgrind: failed to start tool 'memcheck' for platform 'x86-linux': No such file or directory
) = 94

我检查了./configure输出,它说:

checking for 32 bit build support... no

我正在使用gcc(SUSE Linux)4.3.4。

任何想法如何让valgrind在64位机器上构建32位memcheck?

4 个答案:

答案 0 :(得分:2)

我已经解决了这个问题。 我安装了32位gcc支持,然后再次构建了valgrind,它创建了32位memcheck。

答案 1 :(得分:1)

我遇到了同样的问题,并通过设置环境变量解决了这个问题:

export VALGRIND_LIB=/YourValgrindInstallDirectory/lib/valgrind

这是valgrind缺少lib的目录。

答案 2 :(得分:0)

尝试使用configure选项重新运行--enable-only32bit脚本:

 ./configure --enable-only32bit

答案 3 :(得分:0)

我安装了32位版本的valgrind,它现在似乎有效。有关安装32位版本的信息,我是从here

获取的