Fix Valgrind's must-be-redirected error in Gentoo

Last week, I tried to use Valgrind to identify potential memory related bugs, since segmentation faults occured randomly in a Python C library. However, Valgrind failed to start and displayed the following error message:linux

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.
                

The message mentions how to fix this error in various distributions (Debian, Ubuntu, Fedora, etc), except for Gentoo. Note that there is no such thing as a "debugging symbols package" in Gentoo, because Portage will compile all packages from scratch.dom

相關文章
相關標籤/搜索