[Bug c/55105] New: use of LD_LIBRARY_PATH incorrect for AIX -- cause trunk build to fail
pedzsan at gmail dot com
gcc-bugzilla@gcc.gnu.org
Sun Oct 28 13:32:00 GMT 2012
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55105
Bug #: 55105
Summary: use of LD_LIBRARY_PATH incorrect for AIX -- cause
trunk build to fail
Classification: Unclassified
Product: gcc
Version: 4.8.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: c
AssignedTo: unassigned@gcc.gnu.org
ReportedBy: pedzsan@gmail.com
configure.ac has this:
# Decide which environment variable is used to find dynamic libraries.
case "${host}" in
*-*-hpux*) RPATH_ENVVAR=SHLIB_PATH ;;
*-*-darwin*) RPATH_ENVVAR=DYLD_LIBRARY_PATH ;;
*-*-mingw* | *-*-cygwin ) RPATH_ENVVAR=PATH ;;
*) RPATH_ENVVAR=LD_LIBRARY_PATH ;;
esac
Starting with AIX 6.1, LD_LIBRARY_PATH is used. I don't 100% understand the
intent of the code above. The environment variable mentioned (e.g.
LD_LIBRARY_PATH) is passed via the environment when (e.g.) libatomic is built.
With LD_LIBRARY_PATH in the environment, xgcc and cc1 no longer execute
properly because at the time they execute, LD_LIBRARY_PATH points to the bit
version being built -- not the bit version that xgcc was built for. There is a
longer description here: http://gcc.gnu.org/ml/gcc/2012-10/msg00386.html
I changed it to this:
# Decide which environment variable is used to find dynamic libraries.
case "${host}" in
*-*-aix*) RPATH_ENVVAR=BOGUS ;;
*-*-hpux*) RPATH_ENVVAR=SHLIB_PATH ;;
*-*-darwin*) RPATH_ENVVAR=DYLD_LIBRARY_PATH ;;
*-*-mingw* | *-*-cygwin ) RPATH_ENVVAR=PATH ;;
*) RPATH_ENVVAR=LD_LIBRARY_PATH ;;
esac
In theory, it should be "LIBPATH" but I'm sure that will cause the build to
fail as well. In essence, the logic needs to be reviewed. Perhaps other
platforms are different in their use of LD_LIBRARY_PATH / LIBPATH than AIX.
More information about the Gcc-bugs
mailing list