Package:Valgrind

From Funtoo
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

Valgrind

   Tip

We welcome improvements to this page. To edit this page, Create a Funtoo account. Then log in and then click here to edit this page. See our editing guidelines to becoming a wiki-editing pro.


Troubleshooting

Fatal error at startup

If you receive the following error message when you try to run Valgrind:

==23489== Memcheck, a memory error detector
==23489== Copyright (C) 2002-2013, and GNU GPL'd, by Julian Seward et al.
==23489== Using Valgrind-3.10.1 and LibVEX; rerun with -h for copyright info
==23489== Command: <some command name goes here>
==23489== 

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:  Cannot continue -- exiting now.  Sorry.

it is because No results was built without the debug USE flag. To enable this USE flag, you can do the following:

root # mkdir /etc/portage/package.use (if it doesn't exist on your system)
root # touch /etc/portage/package.use/glibc
root # echo "sys-libs/glibc debug" > /etc/portage/package.use/glibc
root # echo 'FEATURES="splitdebug"' >> /etc/portage/make.conf

After making the required changes, simply re-emerge glibc with the following command:

root # emerge --ask glibc

You should receive an output similar to the following:

Calculating dependencies... done!
[ebuild   R    ] sys-libs/glibc-2.20-r1  USE="debug*"

After re-emering glibc, Valgrind should function properly.