A fix is available
APAR status
Closed as program error.
Error description
Environment: Red Hat Linux Purify 7.0.1 002 gcc/g++ Purify uses the LD_LIBRARY_PATH environment variable to locate libraries, by searching it first, apparently ignoring directories specified with the -L linker option. In most scenarios, this works fine, but in some others, it does not. Here is a scenario where it does not work: During the purify linking step, the behavior of finding a shared lib is expected to be the following: 1- if the library is found from the -L path: use it.... 2- otherwise, if it can be found from the LD_LIBRARY_PATH: use it... 3- otherwise, if it can be found in the ld.so.conf cache: then use it (on Linux) 4- otherwise: fail However, there is a scenario where this does not work and upon further inspection, it appears this is what is happening: 1- if the library is found from the -L path: read it but do not use it... 1.1- if it can be found from the LD_LIBRARY_PATH: then use it... even if another lib was first found in the -L search path 1.2- otherwise, if it can be found in the ld.so.conf cache: then use it.. even if another lib was first found in the -L search path 1.3 - otherwise fall back to using the one found in the -L path 2- otherwise, if it can be found from the LD_LIBRARY_PATH: use it... 3- otherwise, if it can be found in the ld.so.conf cache: then use it 4- otherwise: fail Providing a new environment variable or a new option like '-link-using-link-searchpath' would be acceptable as it will ignore run-time search paths during link time. This would mean that Purify will ignore things like LD_LIBRARY_PATH as well as the LD cache.
Local fix
Problem summary
**************************************************************** * USERS AFFECTED: * **************************************************************** * PROBLEM DESCRIPTION: * **************************************************************** * RECOMMENDATION: * **************************************************************** Purify uses the LD_LIBRARY_PATH environment variable to located libraries during link time, so it picks up the library that will be used at runtime. Customer wants the ability to have Purify pick up the library from the -L path instead.
Problem conclusion
New option -use-link-time-search-path was added to cause Purify on Linux to instrument and link with the library that would be used at link time.
Temporary fix
Comments
APAR Information
APAR number
PM47987
Reported component name
PURIFY UNIX
Reported component ID
5724G2102
Reported release
701
Status
CLOSED PER
PE
NoPE
HIPER
NoHIPER
Special Attention
NoSpecatt
Submitted date
2011-09-15
Closed date
2012-01-17
Last modified date
2012-01-17
APAR is sysrouted FROM one or more of the following:
APAR is sysrouted TO one or more of the following:
Fix information
Fixed component name
PURIFY UNIX
Fixed component ID
5724G2102
Applicable component levels
R701 PSN
UP
Rate this page:
Average rating
Copyright and trademark information
IBM, the IBM logo and ibm.com are trademarks of International Business Machines Corp., registered in many jurisdictions worldwide. Other product and service names might be trademarks of IBM or other companies. A current list of IBM trademarks is available on the Web at "Copyright and trademark information" at www.ibm.com/legal/copytrade.shtml.