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.
3 Réponses :
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)
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.
apt install -y libc6-dbg It worked for me. (Note: without :i386.) Possible duplicate of install valgrind, Fatal error at startup.
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
etlibc6-dbg:i386
. Je pense que vous les avez épelés avecp
au lieu deb
.@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écutezsudo 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
etindex
dansld.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