2013-03-30 45 views
8

Tôi đang cài đặt Valgrind nhưng gặp phải một số sự cố. Thông tin về nền tảng của tôi:cài đặt valgrind, Lỗi nghiêm trọng khi khởi động

Linux xx-ThinkPad-X61 3.2.0-39-generic-pae #62-Ubuntu SMP Wed Feb 27 22:25:11 UTC 2013 i686 i686 i386 GNU/Linux 

Tôi làm theo hướng dẫn cài đặt của tệp README trong thư mục valgrind. ./configure -> make -> sudo make install.

Tôi không thể hiểu lời nhắc sau trong tệp README, tôi chỉ bỏ qua nó.

Important! Do not move the valgrind installation into a place 
different from that specified by --prefix at build time. This will 
cause things to break in subtle ways, mostly when Valgrind handles 
fork/exec calls. 

sau khi nhập "valgrind ls -l", lỗi xuất hiện:

[email protected]:~/Downloads/valgrind-3.8.1$ valgrind ls -l 
==7674== Memcheck, a memory error detector 
==7674== Copyright (C) 2002-2012, and GNU GPL'd, by Julian Seward et al. 
==7674== Using Valgrind-3.8.1 and LibVEX; rerun with -h for copyright info 
==7674== Command: ls -l 
==7674== 

valgrind: Fatal error at startup: a function redirection 
valgrind: which is mandatory for this platform-tool combination 
valgrind: cannot be set up. Details of the redirection are: 
valgrind: 
valgrind: A must-be-redirected function 
valgrind: whose name matches the pattern:  strlen 
valgrind: in an object with soname matching: ld-linux.so.2 
valgrind: was not found whilst processing 
valgrind: symbols from the object with soname: ld-linux.so.2 
valgrind: 
valgrind: Possible fixes: (1, short term): install glibc's debuginfo 
valgrind: package on this machine. (2, longer term): ask the packagers 
valgrind: for your Linux distribution to please in future ship a non- 
valgrind: stripped ld.so (or whatever the dynamic linker .so is called) 
valgrind: that exports the above-named function using the standard 
valgrind: calling conventions for this platform. The package you need 
valgrind: to install for fix (1) is called 
valgrind: 
valgrind: On Debian, Ubuntu:     libc6-dbg 
valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo 
valgrind: 
valgrind: Cannot continue -- exiting now. Sorry. 

một người nào đó có thể đưa ra một số gợi ý?

cảm ơn!

Trả lời

2

Valgrind cho biết nó không thể hoạt động vì thiếu thông tin gỡ lỗi libc, và nó cho biết gói nào phải được cài đặt để giải quyết điều đó. Trong trường hợp của bạn (Ubuntu), bạn phải cài đặt libc6-dbg

+0

, cảm ơn. Tôi nhận ra điều đó và cố gắng cài đặt libc6-dbg. nhưng ubuntu 12.04 của tôi gặp phải vấn đề với x hệ thống, và tôi không thể vào GUI. Tôi sẽ cập nhật trạng thái của tôi với valgrind sau đó. – ulyssis2

+0

Bạn đã từng giải quyết vấn đề này chưa? Tôi cài đặt libc6-dbg và vẫn gặp lỗi này. –

+0

@Erik: đã tìm ra giải pháp cho vấn đề này. – rashok

10

Tôi cũng phải đối mặt với lỗi này, nhưng cuối cùng được giải quyết theo cách dưới đây.

Tôi đang có Ubuntu 64 bit 64.04 và tệp thi hành của tôi là 32 bit. Khi tôi chạy 32 bit thực thi của tôi với valgrind tôi đã nhận lỗi này. Lỗi này không được giải quyết ngay cả sau khi cài đặt lib6c-dbg (sử dụng lệnh apt-get install lib6c-dbg).

Sau đó tôi thấy như bất cứ thứ gì lib6c-dbg hiện diện trong máy của tôi là 64 bit và valgrind yêu cầu 32 bit lib6c-dbg để chạy 32 bit thực thi của tôi. Sau khi cài đặt 32 bit lib6c-dbg (sử dụng lệnh apt-get install lib6c-dbg:i386), nó bắt đầu hoạt động.

+0

Tôi đã phải đi qua một số hoops để thêm i386 vòm trên máy amd64 của tôi nhưng sau đó tất cả mọi thứ đã đi thực sự dễ dàng. Cảm ơn vì tiền hỗ trợ. – Umut

Các vấn đề liên quan