2013-03-30 26 views
8

Sto installando Valgrind ma ho riscontrato alcuni problemi. Le informazioni della mia piattaforma:installa valgrind, errore irreversibile all'avvio

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 

Seguo le istruzioni di installazione del file README nella cartella valgrind. ./configure -> make -> sudo make install.

Non riesco a capire il seguente promemoria nel file README, l'ho appena trascurato. appare

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. 

dopo aver digitato "valgrind ls -l", errore:

[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. 

Qualcuno potrebbe dare qualche suggerimento?

grazie!

risposta

2

Valgrind indica che non può funzionare perché mancano le informazioni di debug libc, e indica quale pacchetto deve essere installato per risolverlo. Nel tuo caso (Ubuntu), devi installare libc6-dbg

+0

, grazie. L'ho capito e ho provato ad installare libc6-dbg. ma il mio Ubuntu 12.04 ha riscontrato un problema con i sistemi x, e non sono in grado di inserire la GUI. In seguito aggiornerò il mio stato con valgrind. – ulyssis2

+0

Sei riuscito a risolvere questo? Installa libc6-dbg e ottengo ancora questo errore. –

+0

@Erik: trovato una soluzione per questo problema. – rashok

10

Ho anche affrontato questo errore, ma alla fine è stato risolto nel modo seguente.

Ho 64 bit Ubuntu 14.04 e il mio eseguibile è a 32 bit. Quando eseguo il mio eseguibile a 32 bit con valgrind ho ottenuto lo stesso errore. Questo errore non è stato risolto anche dopo aver installato lib6c-dbg (utilizzando il comando apt-get install lib6c-dbg).

Successivamente ho trovato come qualsiasi cosa lib6c-dbg presente nella mia macchina era 64 bit e valgrind richiede un 32 bit lib6c-dbg per eseguire il mio eseguibile a 32 bit. Dopo aver installato 32 bit lib6c-dbg (utilizzando il comando apt-get install lib6c-dbg:i386) ha iniziato a funzionare.

+0

Ho dovuto passare attraverso alcuni loop per aggiungere i386 arch sulla mia macchina amd64, ma dopo tutto è andato tutto molto facile. Grazie per il consiglio. – Umut