[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[bug #13800] link/dependency order issue (e.g. amd64-unknown-freebsd7.0)
From: |
David Ayers |
Subject: |
[bug #13800] link/dependency order issue (e.g. amd64-unknown-freebsd7.0) |
Date: |
Thu, 14 Jul 2005 10:33:14 +0000 |
User-agent: |
Mozilla/5.0 (X11; U; Linux i686; rv:1.7.8) Gecko/20050513 Debian/1.7.8-1 |
URL:
<http://savannah.gnu.org/bugs/?func=detailitem&item_id=13800>
Summary: link/dependency order issue (e.g.
amd64-unknown-freebsd7.0)
Project: GNUstep
Submitted by: ayers
Submitted on: Thu 07/14/05 at 10:33
Category: Makefiles
Severity: 3 - Normal
Item Group: Bug
Status: None
Privacy: Public
Assigned to: None
Open/Closed: Open
_______________________________________________________
Details:
OK, I now have access to the amd64-unknown-freebsd7.0 box and it seems the
issue is a link ordering issue. Let's look at plparse as an example.
by default plparse is linked via:
gcc -rdynamic -pthread -o shared_debug_obj/plparse \
./shared_debug_obj/plparse.o \
-L../Source/./shared_debug_obj
-L/home/ayers/GNUstep/Library/Libraries
-L/home/ayers/GNUstep/Local/Library/Libraries
-L/home/ayers/GNUstep/System/Library/Libraries -L/usr/local/lib
-lgnustep-base_d
ldd shows:
obj/plparse:
libgnustep-base_d.so.1.10 =>
/home/ayers/GNUstep/System/Library/Libraries/libgnustep-base_d.so.1.10
(0x80062e000)
libpthread.so.1 => /usr/lib/libpthread.so.1 (0x800b8c000)
libc.so.6 => /lib/libc.so.6 (0x800cb7000)
libobjc.so.1 => /usr/lib/libobjc.so.1 (0x800ebc000)
libgmp.so.6 => /usr/local/lib/libgmp.so.6 (0x800fd7000)
libxslt.so.2 => /usr/local/lib/libxslt.so.2 (0x80110c000)
libxml2.so.5 => /usr/local/lib/libxml2.so.5 (0x801243000)
libz.so.2 => /lib/libz.so.2 (0x801482000)
libiconv.so.3 => /usr/local/lib/libiconv.so.3 (0x801595000)
libm.so.3 => /lib/libm.so.3 (0x801788000)
libkvm.so.2 => /lib/libkvm.so.2 (0x8018a8000)
this version segfaults during the thread system setup. (Sorry, no debug
version of libobjc and libpthread yet, so no further info on the actual reason
of the segfault.)
But if I manually execute the link command above appending '-lobjc' ldd
reports:
obj/plparse: libgnustep-base_d.so.1.10 =>
/home/ayers/GNUstep/System/Library/Libraries/libgnustep-base_d.so.1.10
(0x80062e000)
libobjc.so.1 => /usr/lib/libobjc.so.1 (0x800b8c000)
libpthread.so.1 => /usr/lib/libpthread.so.1 (0x800ca7000)
libc.so.6 => /lib/libc.so.6 (0x800dd2000)
libgmp.so.6 => /usr/local/lib/libgmp.so.6 (0x800fd7000)
libxslt.so.2 => /usr/local/lib/libxslt.so.2 (0x80110c000)
libxml2.so.5 => /usr/local/lib/libxml2.so.5 (0x801243000)
libz.so.2 => /lib/libz.so.2 (0x801482000)
libiconv.so.3 => /usr/local/lib/libiconv.so.3 (0x801595000)
libm.so.3 => /lib/libm.so.3 (0x801788000)
libkvm.so.2 => /lib/libkvm.so.2 (0x8018a8000)
and plparse executes as expected. (Note that assumed redundant -lobjc flags
where removed by the -make patch on the 2005-06-06 which lead to this
breakage.)
I suppose this is the kind of issues that libtool was invented for. I suppose
that -make may have to replicate some of that libtool knowledge. I'll see
what else I can dig up.
_______________________________________________________
Reply to this item at:
<http://savannah.gnu.org/bugs/?func=detailitem&item_id=13800>
_______________________________________________
Message sent via/by Savannah
http://savannah.gnu.org/
- [bug #13800] link/dependency order issue (e.g. amd64-unknown-freebsd7.0),
David Ayers <=