Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 19 Aug 2005 20:13:36 +0100
From:      Jonathon McKitrick <jcm@FreeBSD-uk.eu.org>
To:        freebsd-questions@freebsd.org
Subject:   Forcing symbol resolution in lib rather than bin
Message-ID:  <20050819191335.GA76538@dogma.freebsd-uk.eu.org>

next in thread | raw e-mail | index | archive | help

I have a binary that links to a shared object library.  That .so calls a
routine in an archive library (.a).  When I link the main app with -lar-a it
works fine, even though the function is actually called in the .so.  But when
I link the .so with -lar-a, the linker doesn't resolve the symbol!

So, here's the call graph:

bin --> shared --> archive

If I link bin to shared and archive, it works.  But if I link shared to
archive, and then bin to shared, it doesn't, even though the shared object
calls the archived function, rather than bin.

What basic link concept am I missing here?

Thanks in advance,

jm
-- 



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20050819191335.GA76538>