Jeff Epler writes ("Re: Should .a library contains non-reallocatable code?"):
> On Thu, Feb 19, 2015 at 05:19:30PM -0600, Jeff Epler wrote:
> >  * foomodule is a Python wrapper for libfoo, so it must be shipped
> >    as a .so, but if it links libfoo.a, and libfoo.a is not -fPIC,
> >    it is not possible to build foomodule at all
> > 
> >    (The same goes for wrapping the library for most other interpreted
> >    languages)
> 
> So here is a concrete example of this.  I chose libtomcrypt at
> semi-random, because in libtomcrypt-dev 1.17-6 there is both a shared
> library and a static library; the latter has non-PIC code.

This is of course an artificial example.  Because libtomcrypt has a
shared library, it would be better to use that and avoid all of these
problems.

But if libtomcrypt had only a .a (perhaps because it has no stable
ABI) then it ought to be compiled -fPIC, to avoid the problem you
describe.

In that case your tommodule.o ought to be compiled with -Bdynamic (or
use a version file, as you demonstrate).

Thanks,
Ian.


-- 
To UNSUBSCRIBE, email to debian-devel-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org
Archive: 
https://lists.debian.org/21740.36969.435710.598...@chiark.greenend.org.uk

Reply via email to