Skip to content
Snippets Groups Projects
  • Maxim Cournoyer's avatar
    d3bf0b38
    contrib: ffmpeg: Add the --pkg-config-flags="--static" option. · d3bf0b38
    Maxim Cournoyer authored and Adrien Béraud's avatar Adrien Béraud committed
    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
    d3bf0b38
    History
    contrib: ffmpeg: Add the --pkg-config-flags="--static" option.
    Maxim Cournoyer authored and Adrien Béraud's avatar Adrien Béraud committed
    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
Code owners
Assign users and groups as approvers for specific file changes. Learn more.