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

Reply via email to