• Open Menu Close Menu
  • Apple
  • Shopping Bag
  • Apple
  • Mac
  • iPad
  • iPhone
  • Watch
  • TV
  • Music
  • Support
  • Search apple.com
  • Shopping Bag

Lists

Open Menu Close Menu
  • Terms and Conditions
  • Lists hosted on this site
  • Email the Postmaster
  • Tips for posting to public mailing lists
Problems with linker (ld)
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Problems with linker (ld)


  • Subject: Problems with linker (ld)
  • From: "Fabrizio Bertocci" <email@hidden>
  • Date: Wed, 4 Jun 2008 05:58:21 -0700

I'm having a weird problem with the linker I cannot explain. Before
filing it as a possible bug, I'd like to have your opinion on that.

Brief description:
I'm building an executable (command-line) that requires some external libraries.
Let's say I need to link (statically) with:
/usr/local/lib/libfoo.a
/usr/local/lib/libbar.a
/usr/local/lib/libfoo++.a
/usr/local/lib/libbar++.a

When I add those libraries to my Xcode project, Xcode end up passing
them to the link phase using the -l<lib> form:
-lfoo -lbar -lfoo++ -lbar++

Unfortunately, the link phase reports a bunch of unresolved symbols.

If I invoke by hand ld by specifying the static libs directly as input
files instead of libraries everything works fine:
ld ... /usr/local/lib/libfoo.a /usr/locallib/libbar.a
/usr/local/lib/libfoo++.a /usr/local/lib/libbar++.a

Interested?
If you want to reproduce it, download the xmlrpc-c library from Sourceforge
(xmlrpc-c.sourceforge.net), build it and install it under /usr/local
and try to build one of the example first using the form that uses the
-l<lib> flag, and then with the other form.

In my case I also discovered that ONLY ONE library needs to be listed
using /usr/local/lib/<blah>.a...

To be more specific, this is *NOT* working:
ld <...> -lxmlrpc++ -lxmlrpc_server_abyss++ -lxmlrpc_server++
-lxmlrpc_server_abyss -lxmlrpc_server -lxmlrpc_abyss -lxmlrpc_util
-lxmlrpc_xmlparse -lxmlrpc_xmltok -lxmlrpc

and this IS WORKING:
-lxmlrpc++ -lxmlrpc_server_abyss++ -lxmlrpc_server++
-lxmlrpc_server_abyss -lxmlrpc_server -lxmlrpc_abyss -lxmlrpc_util
-lxmlrpc_xmlparse -lxmlrpc_xmltok /usr/local/lib/libxmlrpc.a

Weird isn't it?
Am I missing something?
Is it really a bug ?

Thanks for your opinion.
Fab
 _______________________________________________
Do not post admin requests to the list. They will be ignored.
Darwin-dev mailing list      (email@hidden)
Help/Unsubscribe/Update your Subscription:

This email sent to email@hidden

  • Follow-Ups:
    • Re: Problems with linker (ld)
      • From: Jean-Daniel Dupas <email@hidden>
  • Prev by Date: Compiling msdosfs...
  • Next by Date: Re: Compiling msdosfs...
  • Previous by thread: Re: Compiling msdosfs...
  • Next by thread: Re: Problems with linker (ld)
  • Index(es):
    • Date
    • Thread