[libbluray-devel] Request update 'src/libbluray.pc.in'

James Almer jamrial at gmail.com
Sun Oct 15 03:09:55 CEST 2017


> Hello,
>
> Recently FFmpeg has changed external library checks in 'configure' and
> libbluray's pc-file was in need of an update for FFmpeg to correctly
> load all of libxml2's and freetype2's libraries.
> You can read about starting from here
> <https://ffmpeg.org/pipermail/ffmpeg-devel/2017-October/thread.html#217888>.
> The request is thus to explicitely set the libxml2 and freetype2
> dependencies as "required".
>
> With kind regards,
> Reino

Hello. I wanted to expand on this.

Currently, the freetype2, fontconfig and xml2 linker flags are added to
the "Libs.private" section of the .pc file, which are used when
pkg-config is invoked with the --static flag. This is not sufficient
given that freetype2, fontconfig and xml2 will most likely have a
dependency on things like zlib, bzip2, libpng, graphite2, harfbuzz,
lzma, iconv, expat, etc.

See the following example on ArchLinux:

[jamrial at ArchVM ~]$ pkg-config --libs --static libbluray
-lbluray -ldl -lxml2 -lfreetype -lfontconfig -lfreetype

[jamrial at ArchVM ~]$ pkg-config --libs --static freetype2
-lfreetype -lbz2 -lpng16 -lm -lz -lm -lz -lharfbuzz -lglib-2.0 -pthread
-lpcre -pthread -lgraphite2

[jamrial at ArchVM ~]$ pkg-config --libs --static fontconfig
-lfontconfig -lexpat -lfreetype -lexpat -lfreetype -lbz2 -lpng16 -lm -lz
-lm -lz -lharfbuzz -lglib-2.0 -pthread -lpcre -pthread -lgraphite2

[jamrial at ArchVM ~]$ pkg-config --libs --static libxml-2.0
-lxml2 -licui18n -licuuc -licudata -lz -llzma -lm

A huge amount of static dependencies from freetype2, fontconfig and xml2
are missing when using libbluray's pkg-config file. This is easily solved by
instead listing all three as package dependencies in a "Require:" entry
rather
than ldflags in "Libs.Private".



More information about the libbluray-devel mailing list