bug-gnustep
[Top][All Lists]
Advanced

[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/





reply via email to

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