Graham Leggett wrote: > William A. Rowe, Jr. wrote: > >> -0.5, can you clarify why this isn't true from the Makefile itself? >> This just didn't seem like a rpm-specific quirk. > > On MacOSX, libtool does the right thing, and ./testall is a script that > picks up the right libraries from the right place. On Linux, ./testall > is the final binary, and so only picks up libs from LD_LIBRARY_PATH.
Irrelevant. ./testall wasn't built for execution, make check was built for execution. And the Makefile check: target illustrates how to run this. -1 (binding, veto) for an RPM-specific hack. Nothing that is produced from make; make check; make install should be altered by the rpm process; you obviously screw non-rpm, linux users in the process. > It looks like this is caused by a flag called "-no-install" which is > passed to libtool, and I find this hard wired into configure.in: > > # Use -no-install to link the test programs on all platforms > # but Darwin, where it would cause the programs to be linked > # against installed versions of libapr instead of those just > # built. > case $host in > *-apple-darwin*) LT_NO_INSTALL="" ;; > *) LT_NO_INSTALL="-no-install" ;; > esac > AC_SUBST(LT_NO_INSTALL) > > So, anyone know who put this there, and why? Because you do not want the destination RPATH as recorded in the binary, you want the LD_LIBRARY_PATH (or LIBPATH or SHLIB_PATH). Because you may test before install, while installing over an existing tree, using the installed flavor would be fatal.
