On Wed, 17 Nov 2010 14:55:13 0100, Philip Lamb wrote: Hi all, > > I'm updating one of my fink packages (openvrml016) and I've run into an issue with the linker. I'm not sure if I'm missing something totally obvious here, so please bear with me if these is trivial to solve. > > Basically, the openvrml fink package links against a bunch of other fink packages, and some of these have static libs (.a) as well as dylibs. The build process appears to be pulling in the static libraries in preference to the dylibs. E.g. for freetype, it's linking to /sw/lib/freetype219/lib/libfreetype.a rather than /sw/lib/freetype219/lib/libfreetype.6.dylib. > > Given that the build process for openvrml is based on autoconf, I can't see any obvious error here, nor do I recall any simple way to force the linker to prefer dylibs, as I thought it did that already! > > One other point which is probably not relevant, is that in this case, I'm cross-compiling for i386 arch on an x86_64 host. Assuming libtool, there are ./configure flags that can control whether static and/or dynamic libs are generated. I don't know whether these also affect preference for static vs dynamic linking against dependent libs for compiling programs (vs public libraries). I assume there is a way for configure.in or Makefile.am to specify preferences also, and possibly override the ./configure choice. Depending how some of the autoconf tests are written, they may look only for specific files in specific places rather than actually testing linkability, and these tests may not know about ".dylib" as a filename extension. I've seen some libs that publish (via their -config script or .pc file) /path/to/libFOO.a instead of -lFOO for various reasons, and so packages that read this config info will blindly use whatever ridiculous info is published there. I can hypothesize reasons that cross-compiling may or may not matter, but I have no experience with doing that (with cross-compiling; I spend my life hypothesizing about stuff:) Can you host the .info/.patch file you're working on so others can try it and compare results and/or diagnose what's happening? dan -- Daniel Macks [email protected]
------------------------------------------------------------------------------ Beautiful is writing same markup. Internet Explorer 9 supports standards for HTML5, CSS3, SVG 1.1, ECMAScript5, and DOM L2 & L3. Spend less time writing and rewriting code and more time creating great experiences on the web. Be a part of the beta today http://p.sf.net/sfu/msIE9-sfdev2dev _______________________________________________ Fink-devel mailing list [email protected] http://news.gmane.org/gmane.os.apple.fink.devel Subscription management: https://lists.sourceforge.net/lists/listinfo/fink-devel
