Opened 15 months ago

Closed 4 weeks ago

#9405 closed defect (invalid)

gcc: error: libprotokit.a: No such file or directory

Reported by: razvan Owned by:
Priority: normal Component: build system
Version: git-master Keywords:
Cc: Blocked By:
Blocking: Reproduced by developer: no
Analyzed by developer: no

Description

On kubuntu 21.04 I try to compile ffmpeg from latest snapshot
having also "--enable-libzmq".

PATH="$HOME/.ffmpeg/bin:$PATH" PKG_CONFIG_PATH="$HOME/.ffmpeg/build/lib/pkgconfig" ./configure \

--prefix="$HOME/.ffmpeg/build" \
--pkg-config-flags="--static" \
--extra-cflags="-I$HOME/.ffmpeg/build/include" \
--extra-ldflags="-L$HOME/.ffmpeg/build/lib" \
--extra-libs="-lpthread -lm" \
--ld="g++" \
--bindir="$HOME/.ffmpeg/bin" \
--extra-version="...." \
--arch=x86_64 \
--enable-gpl \
--enable-version3 \

...

--enable-libxml2 \
--enable-lv2 \
--enable-libxcb \
--enable-libxcb-shm \
--enable-libzmq \
--enable-nonfree && \

PATH="$HOME/.ffmpeg/bin:$PATH" make -j4 && \
make install

but configure end with this error in config.log:

require_pkg_config libzmq libzmq >= 4.2.1 zmq.h zmq_ctx_new
check_pkg_config libzmq libzmq >= 4.2.1 zmq.h zmq_ctx_new
test_pkg_config libzmq libzmq >= 4.2.1 zmq.h zmq_ctx_new
pkg-config --exists --print-errors libzmq >= 4.2.1
check_func_headers zmq.h zmq_ctx_new -isystem /usr/include/mit-krb5 -I/usr/include/pgm-5.3 -I/usr/include/libxml2 -L/usr/lib/x86_64-linux-gnu/mit-krb5 -lzmq -lstdc++ -lpthread -lrt -lgssapi_krb5 -lkrb5 -lk5crypto -lcom_err -lkrb5support -lsodium -pthread -lpgm -lpthread -lm -lnorm libprotokit.a -lxml2 -licui18n -licuuc -licudata -lz -llzma -lm -lbsd -ldl -lmd
test_ld cc -isystem /usr/include/mit-krb5 -I/usr/include/pgm-5.3 -I/usr/include/libxml2 -L/usr/lib/x86_64-linux-gnu/mit-krb5 -lzmq -lstdc++ -lpthread -lrt -lgssapi_krb5 -lkrb5 -lk5crypto -lcom_err -lkrb5support -lsodium -pthread -lpgm -lpthread -lm -lnorm libprotokit.a -lxml2 -licui18n -licuuc -licudata -lz -llzma -lm -lbsd -ldl -lmd
test_cc -isystem /usr/include/mit-krb5 -I/usr/include/pgm-5.3 -I/usr/include/libxml2 -L/usr/lib/x86_64-linux-gnu/mit-krb5 -pthread libprotokit.a
BEGIN /tmp/ffconf.AIehU3Rh/test.c

1 #include <zmq.h>
2 #include <stdint.h>
3 long check_zmq_ctx_new(void) { return (long) zmq_ctx_new; }
4 int main(void) { int ret = 0;
5 ret |= ((intptr_t)check_zmq_ctx_new) & 0xFFFF;
6 return ret; }

END /tmp/ffconf.AIehU3Rh/test.c
gcc -D_ISOC99_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_POSIX_C_SOURCE=200112 -D_XOPEN_SOURCE=600 -DPIC -I/home/raz/.ffmpeg/build/include -std=c11 -fomit-frame-pointer -fPIC -pthread -I/usr/include/p11-kit-1 -I/usr/include/lilv-0 -I/usr/include/sratom-0 -I/usr/include/sord-0 -I/usr/include/serd-0 -I/usr/include/uuid -I/usr/include/harfbuzz -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/usr/include/fribidi -I/usr/include/freetype2 -I/usr/include/libpng16 -I/home/raz/.ffmpeg/build/include -I/usr/include/uuid -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/openjpeg-2.3 -I/home/raz/.ffmpeg/build/include/opus -I/home/raz/.ffmpeg/build/include/opus -D_REENTRANT -pthread -I/home/raz/.ffmpeg/build/include/libvmaf -I/home/raz/.ffmpeg/build/include -I/home/raz/.ffmpeg/build/include -I/home/raz/.ffmpeg/build/include -I/home/raz/.ffmpeg/build/include -I/home/raz/.ffmpeg/build/include -I/home/raz/.ffmpeg/build/include -isystem /usr/include/mit-krb5 -I/usr/include/pgm-5.3 -I/usr/include/libxml2 -L/usr/lib/x86_64-linux-gnu/mit-krb5 -pthread libprotokit.a -c -o /tmp/ffconf.AIehU3Rh/test.o /tmp/ffconf.AIehU3Rh/test.c
gcc: error: libprotokit.a: No such file or directory
ERROR: libzmq >= 4.2.1 not found using pkg-config

libzmq3-dev is installed and libprotokit.a is part of libnorm-dev

dpkg -L libnorm-dev
/.
/usr
/usr/include
/usr/include/normApi.h
/usr/lib
/usr/lib/x86_64-linux-gnu
/usr/lib/x86_64-linux-gnu/cmake
/usr/lib/x86_64-linux-gnu/cmake/norm
/usr/lib/x86_64-linux-gnu/cmake/norm/normConfig.cmake
/usr/lib/x86_64-linux-gnu/cmake/norm/normConfigVersion.cmake
/usr/lib/x86_64-linux-gnu/cmake/norm/normTargets-none.cmake
/usr/lib/x86_64-linux-gnu/cmake/norm/normTargets.cmake
/usr/lib/x86_64-linux-gnu/libnorm.a
/usr/lib/x86_64-linux-gnu/libprotokit.a
/usr/lib/x86_64-linux-gnu/pkgconfig
/usr/lib/x86_64-linux-gnu/pkgconfig/norm.pc
/usr/share
/usr/share/doc
/usr/share/doc/libnorm-dev
/usr/share/doc/libnorm-dev/copyright
/usr/lib/x86_64-linux-gnu/libnorm.so
/usr/share/doc/libnorm-dev/changelog.Debian.gz

cat /usr/lib/x86_64-linux-gnu/pkgconfig/norm.pc

prefix=/usr
exec_prefix=${prefix}
libdir=${prefix}/lib/x86_64-linux-gnu
includedir=${prefix}/include

Name: norm
Version: 1.5.8
Description: NACK-Oriented Reliable Multicast (NORM) library
Libs: -L${libdir} -lnorm
Libs.private: libprotokit.a
Requires.private: libxml-2.0
Cflags: -I${includedir}

Why configure does not find this library?
Without "--enable-libzmq" ffmpeg finish without error.

Change History (1)

comment:1 by Carl Eugen Hoyos, 4 weeks ago

Resolution: invalid
Status: newclosed

This does not look like an issue that can be fixed within FFmpeg.

Note: See TracTickets for help on using tickets.