Missing linker flags when statically linking

Steve Grubb sgrubb at redhat.com
Sun Jul 10 17:18:01 UTC 2016


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.

-Steve




More information about the Linux-audit mailing list