I think I have a fix for the libtool convenience library bug, I've
included a diff to ltmain.sh.
This bug occurs in libtool 1.4 and higher (possibly earlier versions
too, though I haven't seen that yet). Basically it happens when libtool
causes cc to link a "convenience library" with a .al extension twice.
You get errors where a symbol is multiply defined from the same file,
like this:
cc <...> -all_load dir/.libs/libfoo.al <...> dir/.libs/libfoo.al
ld: multiple definitions of symbol _foo_bar
dir/.libs/libfoo.al(foo.lo) definition of _foo_bar in section
(__TEXT,__text)
dir/.libs/libfoo.al(foo.lo) definition of _foo_bar in section
(__TEXT,__text)
/usr/bin/libtool: internal link edit command failed
So far, this patch has worked with audiofile, gdk-pixbuf, and nautilus.
This patch can has been worked around by adding --disable-shared as a
param to configure, since this error only occurs when creating shared
libs. If anyone else has a package which uses --disable-shared for this
reason, or uses some other workaround to this bug, please test this
patch so I can send it upstream.
Thanks,
Dave Vasilevsky
--- ltmain-old.sh Fri Jan 18 15:10:01 2002
+++ ltmain.sh Sat Jan 26 17:55:29 2002
@@ -2862,7 +2862,12 @@
if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then
eval cmds=\"$archive_expsym_cmds\"
else
+ save_deplibs="$deplibs"
+ for conv in $convenience; do
+ deplibs="${deplibs%$conv*} ${deplibs#*$conv}"
+ done
eval cmds=\"$archive_cmds\"
+ deplibs="$save_deplibs"
fi
IFS="${IFS= }"; save_ifs="$IFS"; IFS='~'
for cmd in $cmds; do
_______________________________________________
Fink-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/fink-devel