注意:
The Funtoo Linux project has transitioned to "Hobby Mode" and this wiki is now read-only.
Difference between revisions of "Package:Valgrind"
Jump to navigation
Jump to search
(Added information as to how to get Valgrind working on Funtoo.) |
|||
Line 2: | Line 2: | ||
|Summary=An Open Source memory debugger for GNU/Linux. | |Summary=An Open Source memory debugger for GNU/Linux. | ||
|CatPkg=dev-util/valgrind | |CatPkg=dev-util/valgrind | ||
|Homepage=http://www.valgrind.org | |Homepage=http://www.valgrind.org | ||
}} | }} | ||
{{PageNeedsUpdates}} | |||
== Troubleshooting == | |||
=== Fatal error at startup === | |||
If you receive the following error message when you try to run Valgrind: | |||
{{console|body= | |||
==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 {{Package|sys-libs/glibc}} was built without the {{f|debug}} USE flag. To enable this USE flag, you can do the following: | |||
{{console|body= | |||
###i## mkdir /etc/portage/package.use (if it doesn't exist on your system) | |||
###i## touch /etc/portage/package.use/glibc | |||
###i## echo "sys-libs/glibc debug" > /etc/portage/package.use/glibc | |||
###i## echo 'FEATURES="splitdebug"' >> /etc/portage/make.conf | |||
}} | |||
After making the required changes, simply re-emerge {{f|glibc}} with the following command: | |||
{{console|body= | |||
###i## emerge --ask glibc | |||
}} | |||
You should receive an output similar to the following: | |||
{{console|body= | |||
Calculating dependencies... done! | |||
[ebuild R ] sys-libs/glibc-2.20-r1 USE="debug*" | |||
}} | |||
After re-emering {{f|glibc}}, Valgrind should function properly. | |||
{{EbuildFooter}} | {{EbuildFooter}} |
Latest revision as of 18:09, June 12, 2015
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.