Missing linker flags when statically linking

Laurent Bigonville bigon at debian.org
Sun Jul 10 17:42:33 UTC 2016


Le 10/07/16 à 19:18, Steve Grubb a écrit :
> On Sunday, July 10, 2016 10:45:13 AM EDT Laurent Bigonville wrote:
>> Le 09/07/16 à 23:41, Steve Grubb a écrit :
>>> On Saturday, July 9, 2016 11:02:44 PM EDT Laurent Bigonville wrote:
>>>> Apparently the fix is not 100% correct:
>>>>
>>>> The "Libs.private" field should be _after_ the Libs one in the .pc file,
>>>> otherwise the ordering of the libraries is not OK during liking:
>>>>
>>>> -lcap-ng -laudit
>>>>
>>>> it should be: -laudit -lcap-ng instead.
>>> OK, I switched the order.
>> Thanks
>>
>>>> Also any reasons you are using Libs.private instead of Package.private?
>>> Libs.private is used to add flags for static linking. The dynamic linker
>>> shouldn't need a hint since libaudit its already linked to libcap-ng.
>> I was talking about Package*.private* not package itself.
>> Package.private is the equivalent to Libs.private but for libs that also
>> have a .pc file
> Do you mean Requires.private? (I don't see Package.private documented in the
> man page.) That takes a package name which is not available from the m4 macro
> that libcap-ng provides. I think what this means is that I should switch from
> using m4 to pkg-config which means reworking configure.ac and the Makefiles.am
> wherever libcap-ng is used. I'll look into this, but I think in the meantime
> what's in svn generally works. libcap-ng is most likley built with the same
> flags that audit is.

Yes I meant Requires.private.

The audit.pc file is used by 3rd party, so using Requires.private has no 
impact over audit buildsystem I think. I would say that the 2 can be 
changed independently.




More information about the Linux-audit mailing list