No matter how I try, I can't seem to get a library profile from sprof on CentOS5. Does anyone know if sprof actually works on CentOS5? I'd be very interested to hear if anyone is using it successfully. At the moment I'm trying something like this to get the dump: LD_LIBRARY_PATH=. LD_PROFILE=libmy.so ./mymain where libmy.so is the library I want to profile, and mymain is the executable which links to it. This appears to create the profile dump successfully (which appears at /var/tmp/libmy.so.profile), but when I try to get a readable profile using sprof it fails: $ sprof libmy.so /var/tmp/libmy.so.profile sprof: failed to load shared object `libmy.so' I have a CentOS4 machine here, and doing the above on that works fine, but I've had no luck at all on CentOS5 (all currently up-to-date). Can anyone help? (Please!)
On Wed, Jul 9, 2008 at 1:57 PM, Hywel Richards <hywelbr at googlemail.com> wrote:> LD_LIBRARY_PATH=. LD_PROFILE=libmy.so ./mymain...> $ sprof libmy.so /var/tmp/libmy.so.profile > sprof: failed to load shared object `libmy.so'Acutally I have no idea of what sprof is or does, but from the error message above it seems sprof cannot find your library because it is not in the default library search path. Try this: $ LD_LIBRARY_PATH=. sprof libmy.so /var/tmp/libmy.so.profile Let us know how that goes. HTH, Filipe
Hywel Richards
2008-Jul-29 09:49 UTC
[CentOS] Bug Policy [was Re: Does sprof work on CentOS5?]
Hywel Richards wrote:> No matter how I try, I can't seem to get a library profile from sprof > on CentOS5. > > Does anyone know if sprof actually works on CentOS5? I'd be very > interested to hear if anyone is using it successfully. > > At the moment I'm trying something like this to get the dump: > > LD_LIBRARY_PATH=. LD_PROFILE=libmy.so ./mymain > > where libmy.so is the library I want to profile, and mymain is the > executable which links to it. > > This appears to create the profile dump successfully (which appears at > /var/tmp/libmy.so.profile), but when I try to get a readable profile > using sprof it fails: > > $ sprof libmy.so /var/tmp/libmy.so.profile > sprof: failed to load shared object `libmy.so' > > I have a CentOS4 machine here, and doing the above on that works fine, > but I've had no luck at all on CentOS5 (all currently up-to-date). > > Can anyone help? (Please!) >Given that I can get this to work well on a CentOS4 machine, and I have tried lots of minor trivial changes to command-line, etc, but still fail on CentOS5, does anyone know what I can do or where I can go to progress this further? My current guess is that it is a (probably very trivial) bug, although I recognise there still the possibility that this is simply a usage problem (however, if that is so, the usage since centos4 has clearly changed). A more straightforward program I might have a go at debugging, but I don't feel competent on this one - sprof is part of the glibc package. The glibc pages (http://www.gnu.org/software/libc/bugs.html) say that bugs should be reported to the distribution project first. I would also be interested to know what the general policy is regarding what to do about bugs on Centos. I presume there is no way for people involved in centos to make changes directly, otherwise the distribution stops being a clone, so bugs/fixes on the centos bugzilla presumably get fed back to redhat at some point, and then eventually trickle down? (Is there a webpage somewhere explaining how this works? I know the FAQ states that there is no relationship with redhat, but surely they must exploit the bug reports somehow). Anyway, should I report this on the CentOS bugzilla? Would someone take it up if I did? I assume that reporting it to redhat would be inappropriate. If not centos, should I go on to report it to glibc? Hywel.