Skip to content
Snippets Groups Projects
Commit d3bf0b38 authored by Maxim Cournoyer's avatar Maxim Cournoyer Committed by Adrien Béraud
Browse files

contrib: ffmpeg: Add the --pkg-config-flags="--static" option.

Otherwise the '-lm' linker flag would not be used and compilation the
opus configure time check would fail like (excerpt from config.log):

    pkg-config --exists --print-errors opus
    check_func_headers opus_multistream.h opus_multistream_decoder_create -I/home/mcournoyer/src/ring-project/daemon/contrib/x86_64-unknown-linux-gnu/include/opus -L/home/mcournoyer/src/ring-project/daemon/contrib/x86_64-unknown-linux-gnu/lib -lopus
    test_ld cc -I/home/mcournoyer/src/ring-project/daemon/contrib/x86_64-unknown-linux-gnu/include/opus -L/home/mcournoyer/src/ring-project/daemon/contrib/x86_64-unknown-linux-gnu/lib -lopus
    test_cc -I/home/mcournoyer/src/ring-project/daemon/contrib/x86_64-unknown-linux-gnu/include/opus -L/home/mcournoyer/src/ring-project/daemon/contrib/x86_64-unknown-linux-gnu/lib
    BEGIN /tmp/ffconf.Ad6jtRUj/test.c
        1	#include <opus_multistream.h>
        2	#include <stdint.h>
        3	long check_opus_multistream_decoder_create(void) { return (long) opus_multistream_decoder_create; }
        4	int main(void) { int ret = 0;
        5	 ret |= ((intptr_t)check_opus_multistream_decoder_create) & 0xFFFF;
        6	return ret; }
    END /tmp/ffconf.Ad6jtRUj/test.c
    gcc -I/home/mcournoyer/src/ring-project/daemon/contrib/x86_64-unknown-linux-gnu/include -fPIC -D_ISOC99_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_POSIX_C_SOURCE=200112 -D_XOPEN_SOURCE=600 -DPIC -I/home/mcournoyer/src/ring-project/daemon/contrib/x86_64-unknown-linux-gnu/include -DNDEBUG=1 -O3 -fPIC -I/home/mcournoyer/src/ring-project/daemon/contrib/x86_64-unknown-linux-gnu/include -DNDEBUG=1 -O3 -std=c11 -fomit-frame-pointer -fPIC -I/include -pthread -I/home/mcournoyer/src/ring-project/daemon/contrib/x86_64-unknown-linux-gnu/include -I/home/mcournoyer/src/ring-project/daemon/contrib/x86_64-unknown-linux-gnu/include/opus -L/home/mcournoyer/src/ring-project/daemon/contrib/x86_64-unknown-linux-gnu/lib -c -o /tmp/ffconf.Ad6jtRUj/test.o /tmp/ffconf.Ad6jtRUj/test.c
    gcc -L/home/mcournoyer/src/ring-project/daemon/contrib/x86_64-unknown-linux-gnu/lib -L/home/mcournoyer/src/ring-project/daemon/contrib/x86_64-unknown-linux-gnu/lib -Wl,--as-needed -Wl,-z,noexecstack -I/home/mcournoyer/src/ring-project/daemon/contrib/x86_64-unknown-linux-gnu/include/opus -L/home/mcournoyer/src/ring-project/daemon/contrib/x86_64-unknown-linux-gnu/lib -o /tmp/ffconf.Ad6jtRUj/test /tmp/ffconf.Ad6jtRUj/test.o -lopus
    ld: /home/mcournoyer/src/ring-project/daemon/contrib/x86_64-unknown-linux-gnu/lib/libopus.a(celt_decoder.o): in function `celt_decode_lost':
    celt_decoder.c:(.text+0x20d0): undefined reference to `sqrtf'
    ld: celt_decoder.c:(.text+0x20f5): undefined reference to `sqrtf'
    ld: /home/mcournoyer/src/ring-project/daemon/contrib/x86_64-unknown-linux-gnu/lib/libopus.a(bands.o): in function `compute_theta':
    bands.c:(.text+0xe87): undefined reference to `sqrtf'
    ld: bands.c:(.text+0x1178): undefined reference to `sqrtf'

The problem likely was discovered because using a subset of the
required dependencies that didn't pull the math library.

Change-Id: I79bc4f79eaa2288bf20528cd770f1ddafd56dec3
parent 42782229
No related branches found
No related tags found
No related merge requests found
......@@ -355,6 +355,7 @@ ffmpeg: ffmpeg-$(FFMPEG_HASH).tar.gz
cd $< && $(HOSTVARS) ./configure \
--extra-cflags="$(CFLAGS)" \
--extra-ldflags="$(LDFLAGS)" $(FFMPEGCONF) \
--prefix="$(PREFIX)" --enable-static --disable-shared
--prefix="$(PREFIX)" --enable-static --disable-shared \
--pkg-config-flags="--static"
cd $< && $(MAKE) install-libs install-headers
touch $@
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment