[LAD] building the new Guitarix LV2 Amp

hermann meyer brummer- at web.de
Thu Dec 13 07:53:22 UTC 2012


Am 13.12.2012 08:16, schrieb hermann meyer:
> Am 13.12.2012 07:35, schrieb David Robillard:
>> On Thu, 2012-12-13 at 07:08 +0100, hermann meyer wrote:
>>> 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 at 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 :)
> Thanks for confirm it.
>
I just wonder if there will be problems as well, when linking the 
executable (which is build without PIC) against a static lib with PIC 
enabled?

>> Probably fine if it's part of the same build process, maybe not so much
>> if it's from another package.  If it is, on Lignux at least, plugins
>> depending on shared libraries isn't really a big deal anyway.
>>
>> -dr
>>
> Well, just if packagers like to split the package, which they often 
> like to do :-) , it will be handy to reduce the dependency. So that 
> the LV2 plug is installable even if guitarix itself isn't installed.
> As long libgxw/mm only lives in the guitarix package.
> As well, the plug just use a small amount of the lib, so we can avoid 
> loading it, even if it increase the plug-so.size
> So I will add the flag, and anyone could decide self what build method 
> is preferred.
>
> regards
> hermann
>




More information about the Linux-audio-dev mailing list