On Apr 30, 2024, at 13:53, Jim Worrall<conioph...@gmail.com>  wrote:



On Apr 30, 2024, at 11:29, Jim Worrall<conioph...@gmail.com>  wrote:



On Apr 30, 2024, at 09:41, Jim Worrall<conioph...@gmail.com>  wrote:



On Apr 29, 2024, at 23:00, Ferdi Scholten<fe...@sttc-nlp.nl>  wrote:

This may not be due to ffmpeg itself, but I would appreciate some help.
Configure says that pkg-config can’t find fontconfig.pc, but it seems to be
in the PKG_CONFIG_PATH.

# ./configure --cc=/usr/bin/gcc \
--prefix=$TARGET \
--pkg-config-flags="--static" \
--extra-cflags="-I/usr/local/include" \
--extra-ldflags="-L/usr/local/lib" \
--extra-libs="-lpthread -ldl -lstdc++" \
--enable-static --disable-shared \
--enable-nonfree --enable-gpl --enable-version3 \
--enable-libfribidi --enable-libfreetype --enable-libfontconfig \
--enable-libfdk-aac --enable-libx264 --enable-libx265 --disable-lzma
ERROR: fontconfig not found using pkg-config

ffbuild/config.log:
. . .
require_pkg_config libfontconfig fontconfig fontconfig/fontconfig.h FcInit
check_pkg_config libfontconfig fontconfig fontconfig/fontconfig.h FcInit
test_pkg_config libfontconfig fontconfig fontconfig/fontconfig.h FcInit
pkg-config --exists --print-errors fontconfig
Package fontconfig was not found in the pkg-config search path.
Perhaps you should add the directory containing `fontconfig.pc'
to the PKG_CONFIG_PATH environment variable
Package 'fontconfig', required by 'virtual:world', not found
ERROR: fontconfig not found using pkg-config

Here is fontconfig.pc:
# ll /usr/local/ffmpeg/packages/pkg-config/check/gtk/
total 224K
drwxr-xr-x 2 root root  28 Apr 28 11:14 ./
drwxr-xr-x 7 root root  72 Apr 28 11:14 ../
-rw-r--r-- 1 root root 232 Apr 28 11:14 atk.pc
-rw-r--r-- 1 root root 287 Apr 28 11:14 cairo-gobject.pc
-rw-r--r-- 1 root root 388 Apr 28 11:14 cairo.pc
-rw-r--r-- 1 root root 269 Apr 28 11:14 fontconfig.pc

The last path in PKG_CONFIG_PATH contains fontconfig.pc:

# echo $PKG_CONFIG_PATH
/lib:/usr/lib:usr/local:/usr/local/lib:/usr/local/lib/pkgconfig:
/usr/libdata/pkgconfig:/usr/local/libdata/:/usr/local/libdata/pkgconfig:
/usr/local/ffmpeg/target/lib:/usr/local/ffmpeg/target/lib/pkgconfig:
/usr/local/ffmpeg/target/share/pkgconfig:
/usr/local/ffmpeg/build/pkg-config/check/gtk/
_______________________________________________
Most likely the fontconfig package on your system is a shared library, it is 
not distributed as a static library. It therefor cannot be used in a static 
build with --disable-shared.


Try building ffmpeg with shared libraries if you need fontconfig.
Thank you.  Before changing all the ffmpeg dependencies to shared libraries,
I tried making a static fontconfig.  I removed the packaged fontconfig parts
and built my own static fontconfig, but got the same “fontconfig not found" 
error.
There is no .so file on the system with *fontconfig* in its name.

The relevant files may be:
/usr/local/ffmpeg/target/include/fontconfig/fontconfig.h
/usr/local/ffmpeg/target/lib/libfontconfig.la<http://libfontconfig.la/>
/usr/local/ffmpeg/target/lib/pkgconfig/fontconfig.pc
/usr/local/ffmpeg/target/lib/libfontconfig.a



fontconfig.pc contains:
# cat /usr/local/ffmpeg/target/lib/pkgconfig/fontconfig.pc
prefix=/usr/local/ffmpeg/target
exec_prefix=${prefix}
libdir=${exec_prefix}/lib
includedir=${prefix}/include
sysconfdir=${prefix}/etc
localstatedir=${prefix}/var
PACKAGE=fontconfig
confdir=${sysconfdir}/fonts
cachedir=${localstatedir}/cache/${PACKAGE}

Name: Fontconfig
Description: Font configuration and customization library
Version: 2.15.0
Requires:  freetype2 >= 21.0.15
Requires.private:  libxml-2.0 >= 2.6
Libs: -L${libdir} -lfontconfig
Libs.private:
Cflags: -I${includedir}

fontconfig.pc seems to be pointing to the right places (except 
sysconfdir=${prefix}/etc doesn’t exist; I don’t know what it would be looking 
for there).  I’m perplexed.
Small error; ${prefix}/etc DOES exist.  It contains a fonts directory.

Many times the problem seems to actually be not finding lzma.
But I have --disable-lzma in my configure command.
Here’s the end of config.log this time:
. . .
brotlicommon -lxml2 -licui18n -licuuc -licudata -lz -llzma -lm
/usr/bin/ld: cannot find -llzma: No such file or directory
collect2: error: ld returned 1 exit status
ERROR: fontconfig not found using pkg-config

Problem solved, although a bit confusing.  It seems there
may have been two problems.  After I provided a static fontconfig,
it still complained that it couldn’t find fontconfig.  But really it was
lzma.  When I built a static lzma (actually xz, which also produces lzma),
the build worked fine.

So it seems the —disable-lzma option doesn’t work; it still
tries to incorporate lzma. But I don’t really understand it.


________________________________________
My guess is that fontconfig probably returns an error, because one of its dependencies (libfreetype) depends on several types of file compression. (there are many types of compressed fonts), WOFF being a common example.
_______________________________________________
ffmpeg-user mailing list
ffmpeg-user@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-user

To unsubscribe, visit link above, or email
ffmpeg-user-requ...@ffmpeg.org with subject "unsubscribe".

Reply via email to