fails on build if if libiberty is not installed. Fails on version 0.5.3.1 (latest as of posting date) but also on prior versions. Reproducible: Always Steps to Reproduce: 1. emerge ltrace 2. 3. Actual Results: build complains about my_demangle missing while linking. Expected Results: clean build Related warning during compilation of my_summary.c indicates the problem is that if USE_DEMANGLE is not set, the header files are not included, and the my_demangle call is never compiled. Cleanest solution is to ifdef/elseif around the call to my_demangle. But forwarded to author/package maintainer.
Created attachment 191785 [details, diff] patch to resolve problem This patch was tested against 0.5.3.1 of ltrace, which is normally MASKED. However, it should work the same or similarly to ltrace-0.4.
It would be of much help if you could state which package you are talking about...
(In reply to comment #2) > It would be of much help if you could state which package you are talking > about... > Surprisingly, there's no form field for that. I have now mentioned this in Summary.
(In reply to comment #3) > Surprisingly, there's no form field for that. I have now mentioned this in > Summary. That's where it belongs. And to make us more happy attach emerge --info and the complete build.log please.
> That's where it belongs. And to make us more happy attach emerge --info and the > complete build.log please. I would have, but after the patch worked, I couldn't figure out how to build a bad version.
It would be very useful to us if you could recreate this problem and provide the build.log from the failed compilation attempt (providing the output from emerge --info should be the same whether you've applied the patch or not, so please post that even if you're having trouble recreating the problem). Setting your system back to a state that isn't patched should be relatively easy (remove any ltrace ebuilds from your overlays, and any ltrace distfiles from /usr/portage/distfiles, then emerge --sync to ensure you have a clean copy of the ebuild and manifest and then rebuild ltrace).
"Setting your system back to a state that isn't patched should be relatively easy" Actually, it is quite difficult. Apparently, this bug happens when a particularly library (libiberty) is not installed, and since then, I've installed it and a bunch of things now require it. I've provided a patch... what more could you reasonably ask for?
Ideally we were hoping for a build.log or even just a copy of the compilation error you experienced, so that we could investigate the problem ourself. We get a lot people submitting a lot of bugs and a lot of patches. Sometimes the bugs only occur in certain circumstances and sometimes the patches are poor work-arounds for the actual problem. By providing as much information about the problem as possible, it helps our maintainers figure out the best solutions for the problem. I'll reassign this to the appropriate herd, but please be aware they may still require further information from you.
Right. Well, the actual bug is that someone inserted code to make ltrace not completely depend on this "demangle" feature, which requires a library, which may or may not be installed (the build for Gentoo may be the problem here). The patch simply checks for the "USE_DEMANGLE" configuration option (already set in the configure scripts); if not set, the demangle option is not checked and unconditionally, the name is printed without trying to demangle.
I cannot reproduce this with dev-util/ltrace-0.5.3.1
(In reply to comment #10) > I cannot reproduce this with dev-util/ltrace-0.5.3.1