[Top][All Lists]
[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