On Wed, 2007-08-22 at 06:40 -0400, Mike Frysinger wrote:
> On Wednesday 22 August 2007, Peter O'Gorman wrote:
> > libsuff=`ldd conftest 2>/dev/null | awk '/libc\.so/
> > {n=split([$]3,x,"/"); for (i=0; i < n; i++) { if (x[[i]] == "lib64") {print
> > "64"}}}'`
>
> this test would still be subject to the environment of ldd ... in otherwords,
> it is still possible to have ldd return /lib/libc.so.6 when /lib is a symlink
> to /lib64 ...
>
> since the dynamic loader is the only hardcoded path, wouldnt it be better to
> check that ? so drop the /libc\.so/ and change the $3 to $1 ...
Makes sense to me. However, I think we'd need to match the first
absolute path output from ldd because:
[EMAIL PROTECTED] ]$ ldd fool
linux-gate.so.1 => (0x009be000)
libc.so.6 => /lib/libc.so.6 (0x00b82000)
/lib/ld-linux.so.2 (0x00b65000)
So, how about the attached?
Ralph, the only linux that I have access to outside of TWW are debian 32
bit, and Fedora 32 bit, glad that your list is so much longer :)
Peter
Index: libtool.m4
===================================================================
RCS file: /sources/libtool/libtool/Attic/libtool.m4,v
retrieving revision 1.314.2.187
diff -u -r1.314.2.187 libtool.m4
--- libtool.m4 16 Aug 2007 18:23:24 -0000 1.314.2.187
+++ libtool.m4 22 Aug 2007 16:35:45 -0000
@@ -1622,10 +1622,16 @@
# before this can be enabled.
hardcode_into_libs=yes
+ echo "int main() { return 0; }" > conftest.c
+ $CC $CFLAGS $LDFLAGS $CPPFLAGS -o conftest conftest.c -lc 2>&1 >/dev/null
+ rm conftest.c
+ libsuff=`ldd conftest 2>/dev/null | awk '/^[[ \t]]*\// {n=split([$]1,x,"/"); for (i=0; i < n; i++) { if (x[[i]] == "lib64") {print "64"}}}'`
+ rm conftest
+ sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}"
# Append ld.so.conf contents to the search path
if test -f /etc/ld.so.conf; then
lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \[$]2)); skip = 1; } { if (!skip) print \[$]0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '`
- sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
+ sys_lib_dlsearch_path_spec="$sys_lib_dlsearch_path_spec $lt_ld_extra"
fi
# We used to test for /lib/ld.so.1 and disable shared libraries on
_______________________________________________
http://lists.gnu.org/mailman/listinfo/libtool