2
votes

Comment réparer l'erreur fatale au démarrage dans valgrind (connecté avec libc6-dbg et libc6-dbg: i386)

Vous avez ce problème qui ne peut en aucun cas être résolu. J'ai essayé d'installer libc6-dbg et libc6-dbg: i386 et cela n'a pas aidé (j'ai Ubuntu 19.10 64 bits).

Package: libc6-dbg
Status: install ok installed
Priority: optional
Section: debug
Installed-Size: 35315
Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com>
Architecture: i386
Multi-Arch: same
Source: glibc
Version: 2.30-0ubuntu2
Provides: libc-dbg
Depends: libc6 (= 2.30-0ubuntu2)
Description: GNU C Library: detached debugging symbols
 This package contains the detached debugging symbols for the GNU C
 library.
Homepage: https://www.gnu.org/software/libc/libc.html
Original-Maintainer: GNU Libc Maintainers <debian-glibc@lists.debian.org>

Alors, montrez que vous avez installé les packages. Comme vous le voyez, tout est correctement installé, mais ne fonctionne pas. Je ne sais pas quoi faire de plus pour que cela fonctionne.

paquet pour amd64

Package: libc6-dbg
Status: install ok installed
Priority: optional
Section: debug
Installed-Size: 44570
Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com>
Architecture: amd64
Multi-Arch: same
Source: glibc
Version: 2.30-0ubuntu2
Provides: libc-dbg
Depends: libc6 (= 2.30-0ubuntu2)
Description: GNU C Library: detached debugging symbols
 This package contains the detached debugging symbols for the GNU C
 library.
Homepage: https://www.gnu.org/software/libc/libc.html
Original-Maintainer: GNU Libc Maintainers <debian-glibc@lists.debian.org>

paquet pour i386

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-x86-64.so.2
    valgrind:  was not found whilst processing
    valgrind:  symbols from the object with soname: ld-linux-x86-64.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:  Note that if you are debugging a 32 bit process on a
    valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo
    valgrind:  package (e.g. libc6-dbg:i386).
    valgrind:  
    valgrind:  Cannot continue -- exiting now.  Sorry.


13 commentaires

En plus du commentaire de @ sam, veuillez nous indiquer si vous avez installé avec succès libc6-dbg ou non, ainsi que toute sortie qui aurait pu être produite par l'installation de ce paquet.


Les packages sont appelés libc6-dbg et libc6-dbg:i386 . Je pense que vous les avez épelés avec p au lieu de b .


@SSAnne, j'ai ajouté les informations nécessaires et modifié les noms


Merci pour les modifications. C'est étrange. Avez-vous installé valgrind vous-même ou avez-vous utilisé le package?


@SSAnne j'ai d'abord installé par moi-même avec le package (archive tat.bz2) du site officiel. Je l'ai fait par étapes et je ne pense pas que je me suis trompé. Ensuite, j'ai vu ce message et installé libc6 pour i386 et cela ne fonctionne toujours pas.


À la place, vous devez installer Valgrind via votre gestionnaire de paquets: sudo apt-get install valgrind .


@SSAnne, et pourriez-vous nous dire comment procéder maintenant? Comment supprimer complètement cela et réinstaller correctement?


Vous exécutez sudo make uninstall partir du répertoire dans lequel vous avez construit Valgrind, puis vous exécutez sudo apt-get install valgrind .


@SSAnne wow, merci beaucoup !!! Cela fonctionne maintenant. Alors, je sais que je suis déjà fatigué de mes questions. Mais pouvez-vous dire pourquoi cette méthode d'installation est correcte et pourquoi j'ai eu des problèmes avec l'installation de (tar.bz2)?


La distribution ajoute des chemins spéciaux au chemin de recherche de débogage de Valgrinds.


Sous Linux, il existe des redirections obligatoires pour strlen et index dans ld.so Que voyez-vous lorsque vous exécutez Valgrind avec l'option --trace-symtab = yes?


Ce problème a maintenant été corrigé dans le référentiel git, à partir du commit db07db4c8706


Est-ce que cela répond à votre question? installer valgrind, erreur fatale au démarrage


3 Réponses :


0
votes

J'ai rencontré le même problème avec Ubuntu 20.04. Comme l'utilisateur phd l'a souligné dans son commentaire, il s'agit d'un bogue Valgrind qui a été corrigé dans le commit db07db4c8706d17124a621a254bee1b6f08d2e1d

Vous pouvez créer facilement valgrind en exécutant quelque chose comme

git clone git://sourceware.org/git/valgrind.git
cd valgrind
./autogen.sh
./configure
make -j
sudo make install

(veuillez ne pas exécuter de commandes en tant que sudo si vous n'êtes pas sûr de ce qu'elles font)


0 commentaires

0
votes

valgrind recherche les fichiers dans le mauvais chemin.

Ubuntu a un désordre dans /usr/lib/debug . Si vous unifiez /usr/lib/debug/lib et /usr/lib/debug/usr/lib cela devrait fonctionner.

Au moins, cela a réglé le problème pour moi.


0 commentaires

0
votes
apt install -y libc6-dbg
It worked for me. (Note: without :i386.)
Possible duplicate of install valgrind, Fatal error at startup.

0 commentaires