bug-libtool
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

FYI: lt_ld_extra computation via ld.so.conf is broken


From: Ralf Wildenhues
Subject: FYI: lt_ld_extra computation via ld.so.conf is broken
Date: Wed, 27 Apr 2005 13:54:43 +0200
User-agent: Mutt/1.4.1i

Hi Tim,

Congratulations for being the first to report a yet unknown bug in
libtool-1.5.16!  :-)

* Tim Van Holder wrote on Wed, Apr 27, 2005 at 01:25:23PM CEST:
> On GNU/Linux, the list of paths searched by the dynamic linker is
> computed from the contents of ld.so.conf, using:
> 
> ... | $SED -e '...;s/[:,\t]/ /g;...'
> 
> However, GNU sed (at least version 3.02, which is the most recent
> version that is officially available for my system (RH8)) does not

sed 3.02.  Dated February 1998.  Wow, I am amazed someone still uses
this.  :-)

No, to be serious, we do strive to support much older systems actually,
it's just rare that people use such old _linux_ systems.

> support \t as an escape sequence.
> As such I ended up with
> "...:/op:/local-libs/:/usr/lib/q:-3.0.5/lib:..." instead of
> "...:/opt/local-libs/:/usr/lib/qt-3.0.5/lib:...".  Using an actual TAB
> character instead in the sed command  works just fine.
> 
> Seems to be present in both HEAD and 1.5.16.

Thank you for your bug report.  I have committed the following to all
three branches.

Regards,
Ralf

2005-04-27  Ralf Wildenhues  <address@hidden>
 
        * m4/libtool.m4 (_LT_SYS_DYNAMIC_LINKER) [ linux ]: sed 3.02 does
        not understand \t in regex.
        Reported by Tim Van Holder <address@hidden>.

Index: m4/libtool.m4
===================================================================
RCS file: /cvsroot/libtool/libtool/m4/libtool.m4,v
retrieving revision 1.125.2.54
diff -u -r1.125.2.54 libtool.m4
--- m4/libtool.m4       24 Apr 2005 17:43:31 -0000      1.125.2.54
+++ m4/libtool.m4       27 Apr 2005 11:50:28 -0000
@@ -2017,7 +2017,7 @@
 
   # 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)); 
skip = 1; } { if (!skip) print \[$]0; skip = 0; }' < /etc/ld.so.conf | $SED -e 
's/#.*//;s/[:,\t]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '`
+    lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s", \[$]2)); 
skip = 1; } { if (!skip) print \[$]0; skip = 0; }' < /etc/ld.so.conf | $SED -e 
's/#.*//;s/[:,   ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '`
     sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
   fi
 




reply via email to

[Prev in Thread] Current Thread [Next in Thread]