Am 13.12.2012 04:15, schrieb David Robillard:
On Wed, 2012-12-12 at 21:34 +0000, Chris Cannam
wrote:
> On 11 December 2012 16:31, David Robillard<d(a)drobilla.net> wrote:
>> Looks like you are building against a static library. Since you
>> are building
>> a shared module, pedantically you can't do this
> A static library is just a pile of object files. Of course you can
> build a shared object against them. The problem is just that the
> objects in this particular static library were built without PIC.
Well, yes, "pedantically" was not quite the right word. It is more
of a
sweeping generalization.
If you're building them yourself, ensure they're PIC, and it will
work,
but it's reasonable to expect static libraries from elsewhere to be
non-PIC, particularly things that aim to be small since PIC code is
larger.
So if I add -fPIC to the static lib build flags for libgxw/mm, it will
work on 64bit also?
Right now I prefer the static build, as long no other application or
plug use it.
Yes, you should be able to link a shared library to a static library
compiled as PIC even on 64-bit. Hence the "recompile with -fPIC"
message from the linker :)