[opensuse-packaging] autoconf's PKG_CHECK_MODULES and static libraries
I have this build fail: https://build.opensuse.org/package/live_build_log?arch=x86_64&package=aegisub&project=home%3ARedDwarf%3Amultimedia&repository=openSUSE_Factory The first funny part is that libwx_baseu-2.8.so actually has the DT_NEEDED entry to libz.so.1. Playing a bit with it it seems it's a gcc bug? The actual problem is that -lffms2 is only available as a static library and that's the library really missing libz. And here my problem... The ffms2 library has a nice .pc file that correctly specifies -lz in Libs.private. But aegisub detects ffms2 through the PKG_CHECK_MODULES macro... which doesn't use the --static flag. I understand the .private thing was added later in the pkg-config development... it was forgotten to add that capability to the autoconf macro or I am missing something important? -- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-packaging+owner@opensuse.org
On 10/02/12 10:40, Cristian Morales Vega wrote:
I have this build fail: https://build.opensuse.org/package/live_build_log?arch=x86_64&package=aegisub&project=home%3ARedDwarf%3Amultimedia&repository=openSUSE_Factory
The first funny part is that libwx_baseu-2.8.so actually has the DT_NEEDED entry to libz.so.1. Playing a bit with it it seems it's a gcc bug? The actual problem is that -lffms2 is only available as a static library and that's the library really missing libz. And here my problem... The ffms2 library has a nice .pc file that correctly specifies -lz in Libs.private. But aegisub detects ffms2 through the PKG_CHECK_MODULES macro... which doesn't use the --static flag. I understand the .private thing was added later in the pkg-config development... it was forgotten to add that capability to the autoconf macro or I am missing something important?
This is a long standing bug, that's why you probably have seen packages where .pc files are either patched or sed'ed out Libs.private or Requires.private. -- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-packaging+owner@opensuse.org
On 10/02/12 11:45, Cristian Rodríguez wrote:
On 10/02/12 10:40, Cristian Morales Vega wrote:
I have this build fail: https://build.opensuse.org/package/live_build_log?arch=x86_64&package=aegisub&project=home%3ARedDwarf%3Amultimedia&repository=openSUSE_Factory
The first funny part is that libwx_baseu-2.8.so actually has the DT_NEEDED entry to libz.so.1. Playing a bit with it it seems it's a gcc bug? The actual problem is that -lffms2 is only available as a static library and that's the library really missing libz. And here my problem... The ffms2 library has a nice .pc file that correctly specifies -lz in Libs.private. But aegisub detects ffms2 through the PKG_CHECK_MODULES macro... which doesn't use the --static flag. I understand the .private thing was added later in the pkg-config development... it was forgotten to add that capability to the autoconf macro or I am missing something important?
This is a long standing bug, that's why you probably have seen packages where .pc files are either patched or sed'ed out Libs.private or Requires.private.
IMHO, rpm should also exclude Requires.private from autogenerated pkgconfig dependencies or better remove Requires.private or Libs.private from *.pc files when the package has no static libraries. Currently it serves the only purpose of bloating dependencies that are never used in the build process :-( -- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-packaging+owner@opensuse.org
participants (2)
-
Cristian Morales Vega
-
Cristian Rodríguez