Как исправить фатальную ошибку при запуске в valgrind (связана с libc6-dbg и libc6-dbg: i386) - PullRequest
1 голос
/ 16 февраля 2020

Имейте эту проблему, которая никак не может быть исправлена. Я попытался установить libc6-dbg и libc6-dbg: i386, но это не помогло (у меня 64-битная версия Ubuntu 19.10).

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.

Итак, покажите вам установленные пакеты. Как видите, все правильно установлено, но не работает. Я не знаю, что еще сделать, чтобы он работал.

пакет для 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>

пакет для i386

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>

1 Ответ

0 голосов
/ 03 мая 2020

Я столкнулся с той же проблемой с Ubuntu 20.04. Как указал пользователь phd в своем комментарии, это ошибка Valgrind, которая была исправлена ​​в commit db07db4c8706d17124a621a254bee1b6f08d2e1d

Вы можете легко собрать valgrind, выполнив что-то вроде

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

(пожалуйста, не запускайте команды как sudo, если вы не уверены, что они делают)

...