#StackBounty: #apt #compiling #ffmpeg #libraries What's the difference between ffmpeg static libraries form ubuntu and from mine th…

Bounty: 50

I tried ffmpeg from ubuntu repositories and linking them was as easy as just doing -lavcodec -lavuitl .... I then compiled mine with these configurations:

    ./configure 
    --prefix=${BUILD_DIR}/desktop/x86_64 
    --extra-cflags="-I$HOME/ffmpeg_build/include" 
    --extra-ldflags="-L$HOME/ffmpeg_build/lib" 
    --enable-shared 
    --arch=x86_64 
    --enable-vaapi 
    --disable-vaapi 
    --enable-opencl 
    --disable-debug 
    --enable-nvenc 
    --enable-cuda 
    --enable-cuvid 
    --enable-libvpx 
    --enable-libdrm 
    --enable-gpl 
    --enable-runtime-cpudetect 
    --enable-libfdk-aac 
    --enable-libx264 
    --enable-openssl 
    --enable-pic 
    --extra-libs="-lpthread -lm -lz -ldl" 
    --enable-nonfree 

And it generated static libraries just like those provided by ubuntu repositories. However, I cannot simply link them with -lavcodec -lavuitl ... because I get lots of undefined references, like

../../../deps/ffmpeg/build/desktop/x86_64/lib/libavcodec.a(libfdk-aacdec.o): In function `fdk_aac_decode_frame':
libfdk-aacdec.c:(.text+0x4f): undefined reference to `aacDecoder_Fill'
libfdk-aacdec.c:(.text+0x6d): undefined reference to `aacDecoder_DecodeFrame'
libfdk-aacdec.c:(.text+0x8d): undefined reference to `aacDecoder_GetStreamInfo'
../../../deps/ffmpeg/build/desktop/x86_64/lib/libavcodec.a(libfdk-aacdec.o): In function `fdk_aac_decode_close':
libfdk-aacdec.c:(.text.unlikely+0xf): undefined reference to `aacDecoder_Close'
../../../deps/ffmpeg/build/desktop/x86_64/lib/libavcodec.a(libfdk-aacdec.o): In function `fdk_aac_decode_init':
libfdk-aacdec.c:(.text.unlikely+0x45): undefined reference to `aacDecoder_Open'
libfdk-aacdec.c:(.text.unlikely+0x82): undefined reference to `aacDecoder_ConfigRaw'
libfdk-aacdec.c:(.text.unlikely+0xb7): undefined reference to `aacDecoder_SetParam'
libfdk-aacdec.c:(.text.unlikely+0x129): undefined reference to `aacDecoder_SetParam'
libfdk-aacdec.c:(.text.unlikely+0x187): undefined reference to `aacDecoder_AncDataInit'
libfdk-aacdec.c:(.text.unlikely+0x1ac): undefined reference to `aacDecoder_SetParam'
libfdk-aacdec.c:(.text.unlikely+0x1d1): undefined reference to `aacDecoder_SetParam'
libfdk-aacdec.c:(.text.unlikely+0x1f2): undefined reference to `aacDecoder_SetParam'
libfdk-aacdec.c:(.text.unlikely+0x213): undefined reference to `aacDecoder_SetParam'
libfdk-aacdec.c:(.text.unlikely+0x22f): undefined reference to `aacDecoder_SetParam'
../../../deps/ffmpeg/build/desktop/x86_64/lib/libavcodec.a(libfdk-aacdec.o):libfdk-aacdec.c:(.text.unlikely+0x250): more undefined references to `aacDecoder_SetParam' follow
../../../deps/ffmpeg/build/desktop/x86_64/lib/libavcodec.a(libfdk-aacenc.o): In function `aac_encode_close':
libfdk-aacenc.c:(.text+0xf9): undefined reference to `aacEncClose'
../../../deps/ffmpeg/build/desktop/x86_64/lib/libavcodec.a(libfdk-aacenc.o): In function `aac_encode_frame':
libfdk-aacenc.c:(.text+0x2c1): undefined reference to `aacEncEncode'
../../../deps/ffmpeg/build/desktop/x86_64/lib/libavcodec.a(libfdk-aacenc.o): In function `aac_encode_init':
libfdk-aacenc.c:(.text.unlikely+0x3c): undefined reference to `aacEncOpen'
libfdk-aacenc.c:(.text.unlikely+0x7c): undefined reference to `aacEncoder_SetParam'
libfdk-aacenc.c:(.text.unlikely+0xb8): undefined reference to `aacEncoder_SetParam'
libfdk-aacenc.c:(.text.unlikely+0xfa): undefined reference to `aacEncoder_SetParam'
libfdk-aacenc.c:(.text.unlikely+0x180): undefined reference to `aacEncoder_SetParam'
libfdk-aacenc.c:(.text.unlikely+0x25d): undefined reference to `aacEncoder_SetParam'
../../../deps/ffmpeg/build/desktop/x86_64/lib/libavcodec.a(libfdk-aacenc.o):libfdk-aacenc.c:(.text.unlikely+0x28d): more undefined references to `aacEncoder_SetParam' follow
../../../deps/ffmpeg/build/desktop/x86_64/lib/libavcodec.a(libfdk-aacenc.o): In function `aac_encode_init':
libfdk-aacenc.c:(.text.unlikely+0x567): undefined reference to `aacEncEncode'
libfdk-aacenc.c:(.text.unlikely+0x5a1): undefined reference to `aacEncInfo'
../../../deps/ffmpeg/build/desktop/x86_64/lib/libavcodec.a(libvpxdec.o): In function `vpx_decode':
libvpxdec.c:(.text+0x58): undefined reference to `vpx_codec_decode'
libvpxdec.c:(.text+0xa2): undefined reference to `vpx_codec_get_frame'
libvpxdec.c:(.text+0x10c): undefined reference to `vpx_codec_error'
libvpxdec.c:(.text+0x117): undefined reference to `vpx_codec_error_detail'
libvpxdec.c:(.text+0x19e): undefined reference to `vpx_codec_decode'
libvpxdec.c:(.text+0x1ae): undefined reference to `vpx_codec_error'
libvpxdec.c:(.text+0x1ca): undefined reference to `vpx_codec_get_frame'
libvpxdec.c:(.text+0x560): undefined reference to `vpx_codec_vp9_dx_algo'
libvpxdec.c:(.text+0x58f): undefined reference to `vpx_codec_vp8_dx_algo'
../../../deps/ffmpeg/build/desktop/x86_64/lib/libavcodec.a(libvpxdec.o): In function `vpx_free':
libvpxdec.c:(.text.unlikely+0x9): undefined reference to `vpx_codec_destroy'
libvpxdec.c:(.text.unlikely+0x18): undefined reference to `vpx_codec_destroy'
../../../deps/ffmpeg/build/desktop/x86_64/lib/libavcodec.a(libvpxdec.o): In function `vpx_init':
libvpxdec.c:(.text.unlikely+0x87): undefined reference to `vpx_codec_version_str'
libvpxdec.c:(.text.unlikely+0xa5): undefined reference to `vpx_codec_build_config'
libvpxdec.c:(.text.unlikely+0xdf): undefined reference to `vpx_codec_dec_init_ver'
libvpxdec.c:(.text.unlikely+0xed): undefined reference to `vpx_codec_error'
../../../deps/ffmpeg/build/desktop/x86_64/lib/libavcodec.a(libvpxdec.o): In function `vp8_init':
libvpxdec.c:(.text.unlikely+0x134): undefined reference to `vpx_codec_vp8_dx_algo'
../../../deps/ffmpeg/build/desktop/x86_64/lib/libavcodec.a(libvpxdec.o): In function `vp9_init':
libvpxdec.c:(.text.unlikely+0x142): undefined reference to `vpx_codec_vp9_dx_algo'
../../../deps/ffmpeg/build/desktop/x86_64/lib/libavcodec.a(libvpxenc.o): In function `vpx_encode':
libvpxenc.c:(.text+0xda): undefined reference to `vpx_codec_encode'
libvpxenc.c:(.text+0x2b3): undefined reference to `vpx_codec_encode'
libvpxenc.c:(.text+0x33a): undefined reference to `vpx_codec_get_cx_data'
libvpxenc.c:(.text+0x3cd): undefined reference to `vpx_codec_get_cx_data'
../../../deps/ffmpeg/build/desktop/x86_64/lib/libavcodec.a(libvpxenc.o): In function `log_encoder_error':
libvpxenc.c:(.text.unlikely+0x351): undefined reference to `vpx_codec_error'
libvpxenc.c:(.text.unlikely+0x35c): undefined reference to `vpx_codec_error_detail'
../../../deps/ffmpeg/build/desktop/x86_64/lib/libavcodec.a(libvpxenc.o): In function `codecctl_int':
libvpxenc.c:(.text.unlikely+0x43a): undefined reference to `vpx_codec_control_'
../../../deps/ffmpeg/build/desktop/x86_64/lib/libavcodec.a(libvpxenc.o): In function `vpx_init':
libvpxenc.c:(.text.unlikely+0x4fb): undefined reference to `vpx_codec_get_caps'
libvpxenc.c:(.text.unlikely+0x503): undefined reference to `vpx_codec_version_str'
libvpxenc.c:(.text.unlikely+0x521): undefined reference to `vpx_codec_build_config'
libvpxenc.c:(.text.unlikely+0x563): undefined reference to `vpx_codec_enc_config_default'
libvpxenc.c:(.text.unlikely+0x573): undefined reference to `vpx_codec_err_to_string'
libvpxenc.c:(.text.unlikely+0xc2c): undefined reference to `vpx_codec_enc_init_ver'
libvpxenc.c:(.text.unlikely+0xc86): undefined reference to `vpx_codec_enc_init_ver'
libvpxenc.c:(.text.unlikely+0xffb): undefined reference to `vpx_img_wrap'
libvpxenc.c:(.text.unlikely+0x1040): undefined reference to `vpx_img_wrap'
../../../deps/ffmpeg/build/desktop/x86_64/lib/libavcodec.a(libvpxenc.o): In function `vp8_init':
libvpxenc.c:(.text.unlikely+0x10be): undefined reference to `vpx_codec_vp8_cx'
../../../deps/ffmpeg/build/desktop/x86_64/lib/libavcodec.a(libvpxenc.o): In function `vp9_init':
libvpxenc.c:(.text.unlikely+0x10d3): undefined reference to `vpx_codec_vp9_cx'
../../../deps/ffmpeg/build/desktop/x86_64/lib/libavcodec.a(libvpxenc.o): In function `vpx_free':
...

How it it possible for ubuntu to not have to rely on x264, libfdk-aacdec, libvpxdec, etc but when I use my compiled libraries I have to provide them?


Get this bounty!!!

#StackBounty: #apt #compiling #ffmpeg #libraries What's the difference between ffmpeg static libraries form ubuntu and from mine th…

Bounty: 50

I tried ffmpeg from ubuntu repositories and linking them was as easy as just doing -lavcodec -lavuitl .... I then compiled mine with these configurations:

    ./configure 
    --prefix=${BUILD_DIR}/desktop/x86_64 
    --extra-cflags="-I$HOME/ffmpeg_build/include" 
    --extra-ldflags="-L$HOME/ffmpeg_build/lib" 
    --enable-shared 
    --arch=x86_64 
    --enable-vaapi 
    --disable-vaapi 
    --enable-opencl 
    --disable-debug 
    --enable-nvenc 
    --enable-cuda 
    --enable-cuvid 
    --enable-libvpx 
    --enable-libdrm 
    --enable-gpl 
    --enable-runtime-cpudetect 
    --enable-libfdk-aac 
    --enable-libx264 
    --enable-openssl 
    --enable-pic 
    --extra-libs="-lpthread -lm -lz -ldl" 
    --enable-nonfree 

And it generated static libraries just like those provided by ubuntu repositories. However, I cannot simply link them with -lavcodec -lavuitl ... because I get lots of undefined references, like

../../../deps/ffmpeg/build/desktop/x86_64/lib/libavcodec.a(libfdk-aacdec.o): In function `fdk_aac_decode_frame':
libfdk-aacdec.c:(.text+0x4f): undefined reference to `aacDecoder_Fill'
libfdk-aacdec.c:(.text+0x6d): undefined reference to `aacDecoder_DecodeFrame'
libfdk-aacdec.c:(.text+0x8d): undefined reference to `aacDecoder_GetStreamInfo'
../../../deps/ffmpeg/build/desktop/x86_64/lib/libavcodec.a(libfdk-aacdec.o): In function `fdk_aac_decode_close':
libfdk-aacdec.c:(.text.unlikely+0xf): undefined reference to `aacDecoder_Close'
../../../deps/ffmpeg/build/desktop/x86_64/lib/libavcodec.a(libfdk-aacdec.o): In function `fdk_aac_decode_init':
libfdk-aacdec.c:(.text.unlikely+0x45): undefined reference to `aacDecoder_Open'
libfdk-aacdec.c:(.text.unlikely+0x82): undefined reference to `aacDecoder_ConfigRaw'
libfdk-aacdec.c:(.text.unlikely+0xb7): undefined reference to `aacDecoder_SetParam'
libfdk-aacdec.c:(.text.unlikely+0x129): undefined reference to `aacDecoder_SetParam'
libfdk-aacdec.c:(.text.unlikely+0x187): undefined reference to `aacDecoder_AncDataInit'
libfdk-aacdec.c:(.text.unlikely+0x1ac): undefined reference to `aacDecoder_SetParam'
libfdk-aacdec.c:(.text.unlikely+0x1d1): undefined reference to `aacDecoder_SetParam'
libfdk-aacdec.c:(.text.unlikely+0x1f2): undefined reference to `aacDecoder_SetParam'
libfdk-aacdec.c:(.text.unlikely+0x213): undefined reference to `aacDecoder_SetParam'
libfdk-aacdec.c:(.text.unlikely+0x22f): undefined reference to `aacDecoder_SetParam'
../../../deps/ffmpeg/build/desktop/x86_64/lib/libavcodec.a(libfdk-aacdec.o):libfdk-aacdec.c:(.text.unlikely+0x250): more undefined references to `aacDecoder_SetParam' follow
../../../deps/ffmpeg/build/desktop/x86_64/lib/libavcodec.a(libfdk-aacenc.o): In function `aac_encode_close':
libfdk-aacenc.c:(.text+0xf9): undefined reference to `aacEncClose'
../../../deps/ffmpeg/build/desktop/x86_64/lib/libavcodec.a(libfdk-aacenc.o): In function `aac_encode_frame':
libfdk-aacenc.c:(.text+0x2c1): undefined reference to `aacEncEncode'
../../../deps/ffmpeg/build/desktop/x86_64/lib/libavcodec.a(libfdk-aacenc.o): In function `aac_encode_init':
libfdk-aacenc.c:(.text.unlikely+0x3c): undefined reference to `aacEncOpen'
libfdk-aacenc.c:(.text.unlikely+0x7c): undefined reference to `aacEncoder_SetParam'
libfdk-aacenc.c:(.text.unlikely+0xb8): undefined reference to `aacEncoder_SetParam'
libfdk-aacenc.c:(.text.unlikely+0xfa): undefined reference to `aacEncoder_SetParam'
libfdk-aacenc.c:(.text.unlikely+0x180): undefined reference to `aacEncoder_SetParam'
libfdk-aacenc.c:(.text.unlikely+0x25d): undefined reference to `aacEncoder_SetParam'
../../../deps/ffmpeg/build/desktop/x86_64/lib/libavcodec.a(libfdk-aacenc.o):libfdk-aacenc.c:(.text.unlikely+0x28d): more undefined references to `aacEncoder_SetParam' follow
../../../deps/ffmpeg/build/desktop/x86_64/lib/libavcodec.a(libfdk-aacenc.o): In function `aac_encode_init':
libfdk-aacenc.c:(.text.unlikely+0x567): undefined reference to `aacEncEncode'
libfdk-aacenc.c:(.text.unlikely+0x5a1): undefined reference to `aacEncInfo'
../../../deps/ffmpeg/build/desktop/x86_64/lib/libavcodec.a(libvpxdec.o): In function `vpx_decode':
libvpxdec.c:(.text+0x58): undefined reference to `vpx_codec_decode'
libvpxdec.c:(.text+0xa2): undefined reference to `vpx_codec_get_frame'
libvpxdec.c:(.text+0x10c): undefined reference to `vpx_codec_error'
libvpxdec.c:(.text+0x117): undefined reference to `vpx_codec_error_detail'
libvpxdec.c:(.text+0x19e): undefined reference to `vpx_codec_decode'
libvpxdec.c:(.text+0x1ae): undefined reference to `vpx_codec_error'
libvpxdec.c:(.text+0x1ca): undefined reference to `vpx_codec_get_frame'
libvpxdec.c:(.text+0x560): undefined reference to `vpx_codec_vp9_dx_algo'
libvpxdec.c:(.text+0x58f): undefined reference to `vpx_codec_vp8_dx_algo'
../../../deps/ffmpeg/build/desktop/x86_64/lib/libavcodec.a(libvpxdec.o): In function `vpx_free':
libvpxdec.c:(.text.unlikely+0x9): undefined reference to `vpx_codec_destroy'
libvpxdec.c:(.text.unlikely+0x18): undefined reference to `vpx_codec_destroy'
../../../deps/ffmpeg/build/desktop/x86_64/lib/libavcodec.a(libvpxdec.o): In function `vpx_init':
libvpxdec.c:(.text.unlikely+0x87): undefined reference to `vpx_codec_version_str'
libvpxdec.c:(.text.unlikely+0xa5): undefined reference to `vpx_codec_build_config'
libvpxdec.c:(.text.unlikely+0xdf): undefined reference to `vpx_codec_dec_init_ver'
libvpxdec.c:(.text.unlikely+0xed): undefined reference to `vpx_codec_error'
../../../deps/ffmpeg/build/desktop/x86_64/lib/libavcodec.a(libvpxdec.o): In function `vp8_init':
libvpxdec.c:(.text.unlikely+0x134): undefined reference to `vpx_codec_vp8_dx_algo'
../../../deps/ffmpeg/build/desktop/x86_64/lib/libavcodec.a(libvpxdec.o): In function `vp9_init':
libvpxdec.c:(.text.unlikely+0x142): undefined reference to `vpx_codec_vp9_dx_algo'
../../../deps/ffmpeg/build/desktop/x86_64/lib/libavcodec.a(libvpxenc.o): In function `vpx_encode':
libvpxenc.c:(.text+0xda): undefined reference to `vpx_codec_encode'
libvpxenc.c:(.text+0x2b3): undefined reference to `vpx_codec_encode'
libvpxenc.c:(.text+0x33a): undefined reference to `vpx_codec_get_cx_data'
libvpxenc.c:(.text+0x3cd): undefined reference to `vpx_codec_get_cx_data'
../../../deps/ffmpeg/build/desktop/x86_64/lib/libavcodec.a(libvpxenc.o): In function `log_encoder_error':
libvpxenc.c:(.text.unlikely+0x351): undefined reference to `vpx_codec_error'
libvpxenc.c:(.text.unlikely+0x35c): undefined reference to `vpx_codec_error_detail'
../../../deps/ffmpeg/build/desktop/x86_64/lib/libavcodec.a(libvpxenc.o): In function `codecctl_int':
libvpxenc.c:(.text.unlikely+0x43a): undefined reference to `vpx_codec_control_'
../../../deps/ffmpeg/build/desktop/x86_64/lib/libavcodec.a(libvpxenc.o): In function `vpx_init':
libvpxenc.c:(.text.unlikely+0x4fb): undefined reference to `vpx_codec_get_caps'
libvpxenc.c:(.text.unlikely+0x503): undefined reference to `vpx_codec_version_str'
libvpxenc.c:(.text.unlikely+0x521): undefined reference to `vpx_codec_build_config'
libvpxenc.c:(.text.unlikely+0x563): undefined reference to `vpx_codec_enc_config_default'
libvpxenc.c:(.text.unlikely+0x573): undefined reference to `vpx_codec_err_to_string'
libvpxenc.c:(.text.unlikely+0xc2c): undefined reference to `vpx_codec_enc_init_ver'
libvpxenc.c:(.text.unlikely+0xc86): undefined reference to `vpx_codec_enc_init_ver'
libvpxenc.c:(.text.unlikely+0xffb): undefined reference to `vpx_img_wrap'
libvpxenc.c:(.text.unlikely+0x1040): undefined reference to `vpx_img_wrap'
../../../deps/ffmpeg/build/desktop/x86_64/lib/libavcodec.a(libvpxenc.o): In function `vp8_init':
libvpxenc.c:(.text.unlikely+0x10be): undefined reference to `vpx_codec_vp8_cx'
../../../deps/ffmpeg/build/desktop/x86_64/lib/libavcodec.a(libvpxenc.o): In function `vp9_init':
libvpxenc.c:(.text.unlikely+0x10d3): undefined reference to `vpx_codec_vp9_cx'
../../../deps/ffmpeg/build/desktop/x86_64/lib/libavcodec.a(libvpxenc.o): In function `vpx_free':
...

How it it possible for ubuntu to not have to rely on x264, libfdk-aacdec, libvpxdec, etc but when I use my compiled libraries I have to provide them?


Get this bounty!!!

#StackBounty: #apt #compiling #ffmpeg #libraries What's the difference between ffmpeg static libraries form ubuntu and from mine th…

Bounty: 50

I tried ffmpeg from ubuntu repositories and linking them was as easy as just doing -lavcodec -lavuitl .... I then compiled mine with these configurations:

    ./configure 
    --prefix=${BUILD_DIR}/desktop/x86_64 
    --extra-cflags="-I$HOME/ffmpeg_build/include" 
    --extra-ldflags="-L$HOME/ffmpeg_build/lib" 
    --enable-shared 
    --arch=x86_64 
    --enable-vaapi 
    --disable-vaapi 
    --enable-opencl 
    --disable-debug 
    --enable-nvenc 
    --enable-cuda 
    --enable-cuvid 
    --enable-libvpx 
    --enable-libdrm 
    --enable-gpl 
    --enable-runtime-cpudetect 
    --enable-libfdk-aac 
    --enable-libx264 
    --enable-openssl 
    --enable-pic 
    --extra-libs="-lpthread -lm -lz -ldl" 
    --enable-nonfree 

And it generated static libraries just like those provided by ubuntu repositories. However, I cannot simply link them with -lavcodec -lavuitl ... because I get lots of undefined references, like

../../../deps/ffmpeg/build/desktop/x86_64/lib/libavcodec.a(libfdk-aacdec.o): In function `fdk_aac_decode_frame':
libfdk-aacdec.c:(.text+0x4f): undefined reference to `aacDecoder_Fill'
libfdk-aacdec.c:(.text+0x6d): undefined reference to `aacDecoder_DecodeFrame'
libfdk-aacdec.c:(.text+0x8d): undefined reference to `aacDecoder_GetStreamInfo'
../../../deps/ffmpeg/build/desktop/x86_64/lib/libavcodec.a(libfdk-aacdec.o): In function `fdk_aac_decode_close':
libfdk-aacdec.c:(.text.unlikely+0xf): undefined reference to `aacDecoder_Close'
../../../deps/ffmpeg/build/desktop/x86_64/lib/libavcodec.a(libfdk-aacdec.o): In function `fdk_aac_decode_init':
libfdk-aacdec.c:(.text.unlikely+0x45): undefined reference to `aacDecoder_Open'
libfdk-aacdec.c:(.text.unlikely+0x82): undefined reference to `aacDecoder_ConfigRaw'
libfdk-aacdec.c:(.text.unlikely+0xb7): undefined reference to `aacDecoder_SetParam'
libfdk-aacdec.c:(.text.unlikely+0x129): undefined reference to `aacDecoder_SetParam'
libfdk-aacdec.c:(.text.unlikely+0x187): undefined reference to `aacDecoder_AncDataInit'
libfdk-aacdec.c:(.text.unlikely+0x1ac): undefined reference to `aacDecoder_SetParam'
libfdk-aacdec.c:(.text.unlikely+0x1d1): undefined reference to `aacDecoder_SetParam'
libfdk-aacdec.c:(.text.unlikely+0x1f2): undefined reference to `aacDecoder_SetParam'
libfdk-aacdec.c:(.text.unlikely+0x213): undefined reference to `aacDecoder_SetParam'
libfdk-aacdec.c:(.text.unlikely+0x22f): undefined reference to `aacDecoder_SetParam'
../../../deps/ffmpeg/build/desktop/x86_64/lib/libavcodec.a(libfdk-aacdec.o):libfdk-aacdec.c:(.text.unlikely+0x250): more undefined references to `aacDecoder_SetParam' follow
../../../deps/ffmpeg/build/desktop/x86_64/lib/libavcodec.a(libfdk-aacenc.o): In function `aac_encode_close':
libfdk-aacenc.c:(.text+0xf9): undefined reference to `aacEncClose'
../../../deps/ffmpeg/build/desktop/x86_64/lib/libavcodec.a(libfdk-aacenc.o): In function `aac_encode_frame':
libfdk-aacenc.c:(.text+0x2c1): undefined reference to `aacEncEncode'
../../../deps/ffmpeg/build/desktop/x86_64/lib/libavcodec.a(libfdk-aacenc.o): In function `aac_encode_init':
libfdk-aacenc.c:(.text.unlikely+0x3c): undefined reference to `aacEncOpen'
libfdk-aacenc.c:(.text.unlikely+0x7c): undefined reference to `aacEncoder_SetParam'
libfdk-aacenc.c:(.text.unlikely+0xb8): undefined reference to `aacEncoder_SetParam'
libfdk-aacenc.c:(.text.unlikely+0xfa): undefined reference to `aacEncoder_SetParam'
libfdk-aacenc.c:(.text.unlikely+0x180): undefined reference to `aacEncoder_SetParam'
libfdk-aacenc.c:(.text.unlikely+0x25d): undefined reference to `aacEncoder_SetParam'
../../../deps/ffmpeg/build/desktop/x86_64/lib/libavcodec.a(libfdk-aacenc.o):libfdk-aacenc.c:(.text.unlikely+0x28d): more undefined references to `aacEncoder_SetParam' follow
../../../deps/ffmpeg/build/desktop/x86_64/lib/libavcodec.a(libfdk-aacenc.o): In function `aac_encode_init':
libfdk-aacenc.c:(.text.unlikely+0x567): undefined reference to `aacEncEncode'
libfdk-aacenc.c:(.text.unlikely+0x5a1): undefined reference to `aacEncInfo'
../../../deps/ffmpeg/build/desktop/x86_64/lib/libavcodec.a(libvpxdec.o): In function `vpx_decode':
libvpxdec.c:(.text+0x58): undefined reference to `vpx_codec_decode'
libvpxdec.c:(.text+0xa2): undefined reference to `vpx_codec_get_frame'
libvpxdec.c:(.text+0x10c): undefined reference to `vpx_codec_error'
libvpxdec.c:(.text+0x117): undefined reference to `vpx_codec_error_detail'
libvpxdec.c:(.text+0x19e): undefined reference to `vpx_codec_decode'
libvpxdec.c:(.text+0x1ae): undefined reference to `vpx_codec_error'
libvpxdec.c:(.text+0x1ca): undefined reference to `vpx_codec_get_frame'
libvpxdec.c:(.text+0x560): undefined reference to `vpx_codec_vp9_dx_algo'
libvpxdec.c:(.text+0x58f): undefined reference to `vpx_codec_vp8_dx_algo'
../../../deps/ffmpeg/build/desktop/x86_64/lib/libavcodec.a(libvpxdec.o): In function `vpx_free':
libvpxdec.c:(.text.unlikely+0x9): undefined reference to `vpx_codec_destroy'
libvpxdec.c:(.text.unlikely+0x18): undefined reference to `vpx_codec_destroy'
../../../deps/ffmpeg/build/desktop/x86_64/lib/libavcodec.a(libvpxdec.o): In function `vpx_init':
libvpxdec.c:(.text.unlikely+0x87): undefined reference to `vpx_codec_version_str'
libvpxdec.c:(.text.unlikely+0xa5): undefined reference to `vpx_codec_build_config'
libvpxdec.c:(.text.unlikely+0xdf): undefined reference to `vpx_codec_dec_init_ver'
libvpxdec.c:(.text.unlikely+0xed): undefined reference to `vpx_codec_error'
../../../deps/ffmpeg/build/desktop/x86_64/lib/libavcodec.a(libvpxdec.o): In function `vp8_init':
libvpxdec.c:(.text.unlikely+0x134): undefined reference to `vpx_codec_vp8_dx_algo'
../../../deps/ffmpeg/build/desktop/x86_64/lib/libavcodec.a(libvpxdec.o): In function `vp9_init':
libvpxdec.c:(.text.unlikely+0x142): undefined reference to `vpx_codec_vp9_dx_algo'
../../../deps/ffmpeg/build/desktop/x86_64/lib/libavcodec.a(libvpxenc.o): In function `vpx_encode':
libvpxenc.c:(.text+0xda): undefined reference to `vpx_codec_encode'
libvpxenc.c:(.text+0x2b3): undefined reference to `vpx_codec_encode'
libvpxenc.c:(.text+0x33a): undefined reference to `vpx_codec_get_cx_data'
libvpxenc.c:(.text+0x3cd): undefined reference to `vpx_codec_get_cx_data'
../../../deps/ffmpeg/build/desktop/x86_64/lib/libavcodec.a(libvpxenc.o): In function `log_encoder_error':
libvpxenc.c:(.text.unlikely+0x351): undefined reference to `vpx_codec_error'
libvpxenc.c:(.text.unlikely+0x35c): undefined reference to `vpx_codec_error_detail'
../../../deps/ffmpeg/build/desktop/x86_64/lib/libavcodec.a(libvpxenc.o): In function `codecctl_int':
libvpxenc.c:(.text.unlikely+0x43a): undefined reference to `vpx_codec_control_'
../../../deps/ffmpeg/build/desktop/x86_64/lib/libavcodec.a(libvpxenc.o): In function `vpx_init':
libvpxenc.c:(.text.unlikely+0x4fb): undefined reference to `vpx_codec_get_caps'
libvpxenc.c:(.text.unlikely+0x503): undefined reference to `vpx_codec_version_str'
libvpxenc.c:(.text.unlikely+0x521): undefined reference to `vpx_codec_build_config'
libvpxenc.c:(.text.unlikely+0x563): undefined reference to `vpx_codec_enc_config_default'
libvpxenc.c:(.text.unlikely+0x573): undefined reference to `vpx_codec_err_to_string'
libvpxenc.c:(.text.unlikely+0xc2c): undefined reference to `vpx_codec_enc_init_ver'
libvpxenc.c:(.text.unlikely+0xc86): undefined reference to `vpx_codec_enc_init_ver'
libvpxenc.c:(.text.unlikely+0xffb): undefined reference to `vpx_img_wrap'
libvpxenc.c:(.text.unlikely+0x1040): undefined reference to `vpx_img_wrap'
../../../deps/ffmpeg/build/desktop/x86_64/lib/libavcodec.a(libvpxenc.o): In function `vp8_init':
libvpxenc.c:(.text.unlikely+0x10be): undefined reference to `vpx_codec_vp8_cx'
../../../deps/ffmpeg/build/desktop/x86_64/lib/libavcodec.a(libvpxenc.o): In function `vp9_init':
libvpxenc.c:(.text.unlikely+0x10d3): undefined reference to `vpx_codec_vp9_cx'
../../../deps/ffmpeg/build/desktop/x86_64/lib/libavcodec.a(libvpxenc.o): In function `vpx_free':
...

How it it possible for ubuntu to not have to rely on x264, libfdk-aacdec, libvpxdec, etc but when I use my compiled libraries I have to provide them?


Get this bounty!!!

#StackBounty: #apt #compiling #ffmpeg #libraries What's the difference between ffmpeg static libraries form ubuntu and from mine th…

Bounty: 50

I tried ffmpeg from ubuntu repositories and linking them was as easy as just doing -lavcodec -lavuitl .... I then compiled mine with these configurations:

    ./configure 
    --prefix=${BUILD_DIR}/desktop/x86_64 
    --extra-cflags="-I$HOME/ffmpeg_build/include" 
    --extra-ldflags="-L$HOME/ffmpeg_build/lib" 
    --enable-shared 
    --arch=x86_64 
    --enable-vaapi 
    --disable-vaapi 
    --enable-opencl 
    --disable-debug 
    --enable-nvenc 
    --enable-cuda 
    --enable-cuvid 
    --enable-libvpx 
    --enable-libdrm 
    --enable-gpl 
    --enable-runtime-cpudetect 
    --enable-libfdk-aac 
    --enable-libx264 
    --enable-openssl 
    --enable-pic 
    --extra-libs="-lpthread -lm -lz -ldl" 
    --enable-nonfree 

And it generated static libraries just like those provided by ubuntu repositories. However, I cannot simply link them with -lavcodec -lavuitl ... because I get lots of undefined references, like

../../../deps/ffmpeg/build/desktop/x86_64/lib/libavcodec.a(libfdk-aacdec.o): In function `fdk_aac_decode_frame':
libfdk-aacdec.c:(.text+0x4f): undefined reference to `aacDecoder_Fill'
libfdk-aacdec.c:(.text+0x6d): undefined reference to `aacDecoder_DecodeFrame'
libfdk-aacdec.c:(.text+0x8d): undefined reference to `aacDecoder_GetStreamInfo'
../../../deps/ffmpeg/build/desktop/x86_64/lib/libavcodec.a(libfdk-aacdec.o): In function `fdk_aac_decode_close':
libfdk-aacdec.c:(.text.unlikely+0xf): undefined reference to `aacDecoder_Close'
../../../deps/ffmpeg/build/desktop/x86_64/lib/libavcodec.a(libfdk-aacdec.o): In function `fdk_aac_decode_init':
libfdk-aacdec.c:(.text.unlikely+0x45): undefined reference to `aacDecoder_Open'
libfdk-aacdec.c:(.text.unlikely+0x82): undefined reference to `aacDecoder_ConfigRaw'
libfdk-aacdec.c:(.text.unlikely+0xb7): undefined reference to `aacDecoder_SetParam'
libfdk-aacdec.c:(.text.unlikely+0x129): undefined reference to `aacDecoder_SetParam'
libfdk-aacdec.c:(.text.unlikely+0x187): undefined reference to `aacDecoder_AncDataInit'
libfdk-aacdec.c:(.text.unlikely+0x1ac): undefined reference to `aacDecoder_SetParam'
libfdk-aacdec.c:(.text.unlikely+0x1d1): undefined reference to `aacDecoder_SetParam'
libfdk-aacdec.c:(.text.unlikely+0x1f2): undefined reference to `aacDecoder_SetParam'
libfdk-aacdec.c:(.text.unlikely+0x213): undefined reference to `aacDecoder_SetParam'
libfdk-aacdec.c:(.text.unlikely+0x22f): undefined reference to `aacDecoder_SetParam'
../../../deps/ffmpeg/build/desktop/x86_64/lib/libavcodec.a(libfdk-aacdec.o):libfdk-aacdec.c:(.text.unlikely+0x250): more undefined references to `aacDecoder_SetParam' follow
../../../deps/ffmpeg/build/desktop/x86_64/lib/libavcodec.a(libfdk-aacenc.o): In function `aac_encode_close':
libfdk-aacenc.c:(.text+0xf9): undefined reference to `aacEncClose'
../../../deps/ffmpeg/build/desktop/x86_64/lib/libavcodec.a(libfdk-aacenc.o): In function `aac_encode_frame':
libfdk-aacenc.c:(.text+0x2c1): undefined reference to `aacEncEncode'
../../../deps/ffmpeg/build/desktop/x86_64/lib/libavcodec.a(libfdk-aacenc.o): In function `aac_encode_init':
libfdk-aacenc.c:(.text.unlikely+0x3c): undefined reference to `aacEncOpen'
libfdk-aacenc.c:(.text.unlikely+0x7c): undefined reference to `aacEncoder_SetParam'
libfdk-aacenc.c:(.text.unlikely+0xb8): undefined reference to `aacEncoder_SetParam'
libfdk-aacenc.c:(.text.unlikely+0xfa): undefined reference to `aacEncoder_SetParam'
libfdk-aacenc.c:(.text.unlikely+0x180): undefined reference to `aacEncoder_SetParam'
libfdk-aacenc.c:(.text.unlikely+0x25d): undefined reference to `aacEncoder_SetParam'
../../../deps/ffmpeg/build/desktop/x86_64/lib/libavcodec.a(libfdk-aacenc.o):libfdk-aacenc.c:(.text.unlikely+0x28d): more undefined references to `aacEncoder_SetParam' follow
../../../deps/ffmpeg/build/desktop/x86_64/lib/libavcodec.a(libfdk-aacenc.o): In function `aac_encode_init':
libfdk-aacenc.c:(.text.unlikely+0x567): undefined reference to `aacEncEncode'
libfdk-aacenc.c:(.text.unlikely+0x5a1): undefined reference to `aacEncInfo'
../../../deps/ffmpeg/build/desktop/x86_64/lib/libavcodec.a(libvpxdec.o): In function `vpx_decode':
libvpxdec.c:(.text+0x58): undefined reference to `vpx_codec_decode'
libvpxdec.c:(.text+0xa2): undefined reference to `vpx_codec_get_frame'
libvpxdec.c:(.text+0x10c): undefined reference to `vpx_codec_error'
libvpxdec.c:(.text+0x117): undefined reference to `vpx_codec_error_detail'
libvpxdec.c:(.text+0x19e): undefined reference to `vpx_codec_decode'
libvpxdec.c:(.text+0x1ae): undefined reference to `vpx_codec_error'
libvpxdec.c:(.text+0x1ca): undefined reference to `vpx_codec_get_frame'
libvpxdec.c:(.text+0x560): undefined reference to `vpx_codec_vp9_dx_algo'
libvpxdec.c:(.text+0x58f): undefined reference to `vpx_codec_vp8_dx_algo'
../../../deps/ffmpeg/build/desktop/x86_64/lib/libavcodec.a(libvpxdec.o): In function `vpx_free':
libvpxdec.c:(.text.unlikely+0x9): undefined reference to `vpx_codec_destroy'
libvpxdec.c:(.text.unlikely+0x18): undefined reference to `vpx_codec_destroy'
../../../deps/ffmpeg/build/desktop/x86_64/lib/libavcodec.a(libvpxdec.o): In function `vpx_init':
libvpxdec.c:(.text.unlikely+0x87): undefined reference to `vpx_codec_version_str'
libvpxdec.c:(.text.unlikely+0xa5): undefined reference to `vpx_codec_build_config'
libvpxdec.c:(.text.unlikely+0xdf): undefined reference to `vpx_codec_dec_init_ver'
libvpxdec.c:(.text.unlikely+0xed): undefined reference to `vpx_codec_error'
../../../deps/ffmpeg/build/desktop/x86_64/lib/libavcodec.a(libvpxdec.o): In function `vp8_init':
libvpxdec.c:(.text.unlikely+0x134): undefined reference to `vpx_codec_vp8_dx_algo'
../../../deps/ffmpeg/build/desktop/x86_64/lib/libavcodec.a(libvpxdec.o): In function `vp9_init':
libvpxdec.c:(.text.unlikely+0x142): undefined reference to `vpx_codec_vp9_dx_algo'
../../../deps/ffmpeg/build/desktop/x86_64/lib/libavcodec.a(libvpxenc.o): In function `vpx_encode':
libvpxenc.c:(.text+0xda): undefined reference to `vpx_codec_encode'
libvpxenc.c:(.text+0x2b3): undefined reference to `vpx_codec_encode'
libvpxenc.c:(.text+0x33a): undefined reference to `vpx_codec_get_cx_data'
libvpxenc.c:(.text+0x3cd): undefined reference to `vpx_codec_get_cx_data'
../../../deps/ffmpeg/build/desktop/x86_64/lib/libavcodec.a(libvpxenc.o): In function `log_encoder_error':
libvpxenc.c:(.text.unlikely+0x351): undefined reference to `vpx_codec_error'
libvpxenc.c:(.text.unlikely+0x35c): undefined reference to `vpx_codec_error_detail'
../../../deps/ffmpeg/build/desktop/x86_64/lib/libavcodec.a(libvpxenc.o): In function `codecctl_int':
libvpxenc.c:(.text.unlikely+0x43a): undefined reference to `vpx_codec_control_'
../../../deps/ffmpeg/build/desktop/x86_64/lib/libavcodec.a(libvpxenc.o): In function `vpx_init':
libvpxenc.c:(.text.unlikely+0x4fb): undefined reference to `vpx_codec_get_caps'
libvpxenc.c:(.text.unlikely+0x503): undefined reference to `vpx_codec_version_str'
libvpxenc.c:(.text.unlikely+0x521): undefined reference to `vpx_codec_build_config'
libvpxenc.c:(.text.unlikely+0x563): undefined reference to `vpx_codec_enc_config_default'
libvpxenc.c:(.text.unlikely+0x573): undefined reference to `vpx_codec_err_to_string'
libvpxenc.c:(.text.unlikely+0xc2c): undefined reference to `vpx_codec_enc_init_ver'
libvpxenc.c:(.text.unlikely+0xc86): undefined reference to `vpx_codec_enc_init_ver'
libvpxenc.c:(.text.unlikely+0xffb): undefined reference to `vpx_img_wrap'
libvpxenc.c:(.text.unlikely+0x1040): undefined reference to `vpx_img_wrap'
../../../deps/ffmpeg/build/desktop/x86_64/lib/libavcodec.a(libvpxenc.o): In function `vp8_init':
libvpxenc.c:(.text.unlikely+0x10be): undefined reference to `vpx_codec_vp8_cx'
../../../deps/ffmpeg/build/desktop/x86_64/lib/libavcodec.a(libvpxenc.o): In function `vp9_init':
libvpxenc.c:(.text.unlikely+0x10d3): undefined reference to `vpx_codec_vp9_cx'
../../../deps/ffmpeg/build/desktop/x86_64/lib/libavcodec.a(libvpxenc.o): In function `vpx_free':
...

How it it possible for ubuntu to not have to rely on x264, libfdk-aacdec, libvpxdec, etc but when I use my compiled libraries I have to provide them?


Get this bounty!!!

#StackBounty: #apt #compiling #ffmpeg #libraries What's the difference between ffmpeg static libraries form ubuntu and from mine th…

Bounty: 50

I tried ffmpeg from ubuntu repositories and linking them was as easy as just doing -lavcodec -lavuitl .... I then compiled mine with these configurations:

    ./configure 
    --prefix=${BUILD_DIR}/desktop/x86_64 
    --extra-cflags="-I$HOME/ffmpeg_build/include" 
    --extra-ldflags="-L$HOME/ffmpeg_build/lib" 
    --enable-shared 
    --arch=x86_64 
    --enable-vaapi 
    --disable-vaapi 
    --enable-opencl 
    --disable-debug 
    --enable-nvenc 
    --enable-cuda 
    --enable-cuvid 
    --enable-libvpx 
    --enable-libdrm 
    --enable-gpl 
    --enable-runtime-cpudetect 
    --enable-libfdk-aac 
    --enable-libx264 
    --enable-openssl 
    --enable-pic 
    --extra-libs="-lpthread -lm -lz -ldl" 
    --enable-nonfree 

And it generated static libraries just like those provided by ubuntu repositories. However, I cannot simply link them with -lavcodec -lavuitl ... because I get lots of undefined references, like

../../../deps/ffmpeg/build/desktop/x86_64/lib/libavcodec.a(libfdk-aacdec.o): In function `fdk_aac_decode_frame':
libfdk-aacdec.c:(.text+0x4f): undefined reference to `aacDecoder_Fill'
libfdk-aacdec.c:(.text+0x6d): undefined reference to `aacDecoder_DecodeFrame'
libfdk-aacdec.c:(.text+0x8d): undefined reference to `aacDecoder_GetStreamInfo'
../../../deps/ffmpeg/build/desktop/x86_64/lib/libavcodec.a(libfdk-aacdec.o): In function `fdk_aac_decode_close':
libfdk-aacdec.c:(.text.unlikely+0xf): undefined reference to `aacDecoder_Close'
../../../deps/ffmpeg/build/desktop/x86_64/lib/libavcodec.a(libfdk-aacdec.o): In function `fdk_aac_decode_init':
libfdk-aacdec.c:(.text.unlikely+0x45): undefined reference to `aacDecoder_Open'
libfdk-aacdec.c:(.text.unlikely+0x82): undefined reference to `aacDecoder_ConfigRaw'
libfdk-aacdec.c:(.text.unlikely+0xb7): undefined reference to `aacDecoder_SetParam'
libfdk-aacdec.c:(.text.unlikely+0x129): undefined reference to `aacDecoder_SetParam'
libfdk-aacdec.c:(.text.unlikely+0x187): undefined reference to `aacDecoder_AncDataInit'
libfdk-aacdec.c:(.text.unlikely+0x1ac): undefined reference to `aacDecoder_SetParam'
libfdk-aacdec.c:(.text.unlikely+0x1d1): undefined reference to `aacDecoder_SetParam'
libfdk-aacdec.c:(.text.unlikely+0x1f2): undefined reference to `aacDecoder_SetParam'
libfdk-aacdec.c:(.text.unlikely+0x213): undefined reference to `aacDecoder_SetParam'
libfdk-aacdec.c:(.text.unlikely+0x22f): undefined reference to `aacDecoder_SetParam'
../../../deps/ffmpeg/build/desktop/x86_64/lib/libavcodec.a(libfdk-aacdec.o):libfdk-aacdec.c:(.text.unlikely+0x250): more undefined references to `aacDecoder_SetParam' follow
../../../deps/ffmpeg/build/desktop/x86_64/lib/libavcodec.a(libfdk-aacenc.o): In function `aac_encode_close':
libfdk-aacenc.c:(.text+0xf9): undefined reference to `aacEncClose'
../../../deps/ffmpeg/build/desktop/x86_64/lib/libavcodec.a(libfdk-aacenc.o): In function `aac_encode_frame':
libfdk-aacenc.c:(.text+0x2c1): undefined reference to `aacEncEncode'
../../../deps/ffmpeg/build/desktop/x86_64/lib/libavcodec.a(libfdk-aacenc.o): In function `aac_encode_init':
libfdk-aacenc.c:(.text.unlikely+0x3c): undefined reference to `aacEncOpen'
libfdk-aacenc.c:(.text.unlikely+0x7c): undefined reference to `aacEncoder_SetParam'
libfdk-aacenc.c:(.text.unlikely+0xb8): undefined reference to `aacEncoder_SetParam'
libfdk-aacenc.c:(.text.unlikely+0xfa): undefined reference to `aacEncoder_SetParam'
libfdk-aacenc.c:(.text.unlikely+0x180): undefined reference to `aacEncoder_SetParam'
libfdk-aacenc.c:(.text.unlikely+0x25d): undefined reference to `aacEncoder_SetParam'
../../../deps/ffmpeg/build/desktop/x86_64/lib/libavcodec.a(libfdk-aacenc.o):libfdk-aacenc.c:(.text.unlikely+0x28d): more undefined references to `aacEncoder_SetParam' follow
../../../deps/ffmpeg/build/desktop/x86_64/lib/libavcodec.a(libfdk-aacenc.o): In function `aac_encode_init':
libfdk-aacenc.c:(.text.unlikely+0x567): undefined reference to `aacEncEncode'
libfdk-aacenc.c:(.text.unlikely+0x5a1): undefined reference to `aacEncInfo'
../../../deps/ffmpeg/build/desktop/x86_64/lib/libavcodec.a(libvpxdec.o): In function `vpx_decode':
libvpxdec.c:(.text+0x58): undefined reference to `vpx_codec_decode'
libvpxdec.c:(.text+0xa2): undefined reference to `vpx_codec_get_frame'
libvpxdec.c:(.text+0x10c): undefined reference to `vpx_codec_error'
libvpxdec.c:(.text+0x117): undefined reference to `vpx_codec_error_detail'
libvpxdec.c:(.text+0x19e): undefined reference to `vpx_codec_decode'
libvpxdec.c:(.text+0x1ae): undefined reference to `vpx_codec_error'
libvpxdec.c:(.text+0x1ca): undefined reference to `vpx_codec_get_frame'
libvpxdec.c:(.text+0x560): undefined reference to `vpx_codec_vp9_dx_algo'
libvpxdec.c:(.text+0x58f): undefined reference to `vpx_codec_vp8_dx_algo'
../../../deps/ffmpeg/build/desktop/x86_64/lib/libavcodec.a(libvpxdec.o): In function `vpx_free':
libvpxdec.c:(.text.unlikely+0x9): undefined reference to `vpx_codec_destroy'
libvpxdec.c:(.text.unlikely+0x18): undefined reference to `vpx_codec_destroy'
../../../deps/ffmpeg/build/desktop/x86_64/lib/libavcodec.a(libvpxdec.o): In function `vpx_init':
libvpxdec.c:(.text.unlikely+0x87): undefined reference to `vpx_codec_version_str'
libvpxdec.c:(.text.unlikely+0xa5): undefined reference to `vpx_codec_build_config'
libvpxdec.c:(.text.unlikely+0xdf): undefined reference to `vpx_codec_dec_init_ver'
libvpxdec.c:(.text.unlikely+0xed): undefined reference to `vpx_codec_error'
../../../deps/ffmpeg/build/desktop/x86_64/lib/libavcodec.a(libvpxdec.o): In function `vp8_init':
libvpxdec.c:(.text.unlikely+0x134): undefined reference to `vpx_codec_vp8_dx_algo'
../../../deps/ffmpeg/build/desktop/x86_64/lib/libavcodec.a(libvpxdec.o): In function `vp9_init':
libvpxdec.c:(.text.unlikely+0x142): undefined reference to `vpx_codec_vp9_dx_algo'
../../../deps/ffmpeg/build/desktop/x86_64/lib/libavcodec.a(libvpxenc.o): In function `vpx_encode':
libvpxenc.c:(.text+0xda): undefined reference to `vpx_codec_encode'
libvpxenc.c:(.text+0x2b3): undefined reference to `vpx_codec_encode'
libvpxenc.c:(.text+0x33a): undefined reference to `vpx_codec_get_cx_data'
libvpxenc.c:(.text+0x3cd): undefined reference to `vpx_codec_get_cx_data'
../../../deps/ffmpeg/build/desktop/x86_64/lib/libavcodec.a(libvpxenc.o): In function `log_encoder_error':
libvpxenc.c:(.text.unlikely+0x351): undefined reference to `vpx_codec_error'
libvpxenc.c:(.text.unlikely+0x35c): undefined reference to `vpx_codec_error_detail'
../../../deps/ffmpeg/build/desktop/x86_64/lib/libavcodec.a(libvpxenc.o): In function `codecctl_int':
libvpxenc.c:(.text.unlikely+0x43a): undefined reference to `vpx_codec_control_'
../../../deps/ffmpeg/build/desktop/x86_64/lib/libavcodec.a(libvpxenc.o): In function `vpx_init':
libvpxenc.c:(.text.unlikely+0x4fb): undefined reference to `vpx_codec_get_caps'
libvpxenc.c:(.text.unlikely+0x503): undefined reference to `vpx_codec_version_str'
libvpxenc.c:(.text.unlikely+0x521): undefined reference to `vpx_codec_build_config'
libvpxenc.c:(.text.unlikely+0x563): undefined reference to `vpx_codec_enc_config_default'
libvpxenc.c:(.text.unlikely+0x573): undefined reference to `vpx_codec_err_to_string'
libvpxenc.c:(.text.unlikely+0xc2c): undefined reference to `vpx_codec_enc_init_ver'
libvpxenc.c:(.text.unlikely+0xc86): undefined reference to `vpx_codec_enc_init_ver'
libvpxenc.c:(.text.unlikely+0xffb): undefined reference to `vpx_img_wrap'
libvpxenc.c:(.text.unlikely+0x1040): undefined reference to `vpx_img_wrap'
../../../deps/ffmpeg/build/desktop/x86_64/lib/libavcodec.a(libvpxenc.o): In function `vp8_init':
libvpxenc.c:(.text.unlikely+0x10be): undefined reference to `vpx_codec_vp8_cx'
../../../deps/ffmpeg/build/desktop/x86_64/lib/libavcodec.a(libvpxenc.o): In function `vp9_init':
libvpxenc.c:(.text.unlikely+0x10d3): undefined reference to `vpx_codec_vp9_cx'
../../../deps/ffmpeg/build/desktop/x86_64/lib/libavcodec.a(libvpxenc.o): In function `vpx_free':
...

How it it possible for ubuntu to not have to rely on x264, libfdk-aacdec, libvpxdec, etc but when I use my compiled libraries I have to provide them?


Get this bounty!!!

#StackBounty: #apt #compiling #ffmpeg #libraries What's the difference between ffmpeg static libraries form ubuntu and from mine th…

Bounty: 50

I tried ffmpeg from ubuntu repositories and linking them was as easy as just doing -lavcodec -lavuitl .... I then compiled mine with these configurations:

    ./configure 
    --prefix=${BUILD_DIR}/desktop/x86_64 
    --extra-cflags="-I$HOME/ffmpeg_build/include" 
    --extra-ldflags="-L$HOME/ffmpeg_build/lib" 
    --enable-shared 
    --arch=x86_64 
    --enable-vaapi 
    --disable-vaapi 
    --enable-opencl 
    --disable-debug 
    --enable-nvenc 
    --enable-cuda 
    --enable-cuvid 
    --enable-libvpx 
    --enable-libdrm 
    --enable-gpl 
    --enable-runtime-cpudetect 
    --enable-libfdk-aac 
    --enable-libx264 
    --enable-openssl 
    --enable-pic 
    --extra-libs="-lpthread -lm -lz -ldl" 
    --enable-nonfree 

And it generated static libraries just like those provided by ubuntu repositories. However, I cannot simply link them with -lavcodec -lavuitl ... because I get lots of undefined references, like

../../../deps/ffmpeg/build/desktop/x86_64/lib/libavcodec.a(libfdk-aacdec.o): In function `fdk_aac_decode_frame':
libfdk-aacdec.c:(.text+0x4f): undefined reference to `aacDecoder_Fill'
libfdk-aacdec.c:(.text+0x6d): undefined reference to `aacDecoder_DecodeFrame'
libfdk-aacdec.c:(.text+0x8d): undefined reference to `aacDecoder_GetStreamInfo'
../../../deps/ffmpeg/build/desktop/x86_64/lib/libavcodec.a(libfdk-aacdec.o): In function `fdk_aac_decode_close':
libfdk-aacdec.c:(.text.unlikely+0xf): undefined reference to `aacDecoder_Close'
../../../deps/ffmpeg/build/desktop/x86_64/lib/libavcodec.a(libfdk-aacdec.o): In function `fdk_aac_decode_init':
libfdk-aacdec.c:(.text.unlikely+0x45): undefined reference to `aacDecoder_Open'
libfdk-aacdec.c:(.text.unlikely+0x82): undefined reference to `aacDecoder_ConfigRaw'
libfdk-aacdec.c:(.text.unlikely+0xb7): undefined reference to `aacDecoder_SetParam'
libfdk-aacdec.c:(.text.unlikely+0x129): undefined reference to `aacDecoder_SetParam'
libfdk-aacdec.c:(.text.unlikely+0x187): undefined reference to `aacDecoder_AncDataInit'
libfdk-aacdec.c:(.text.unlikely+0x1ac): undefined reference to `aacDecoder_SetParam'
libfdk-aacdec.c:(.text.unlikely+0x1d1): undefined reference to `aacDecoder_SetParam'
libfdk-aacdec.c:(.text.unlikely+0x1f2): undefined reference to `aacDecoder_SetParam'
libfdk-aacdec.c:(.text.unlikely+0x213): undefined reference to `aacDecoder_SetParam'
libfdk-aacdec.c:(.text.unlikely+0x22f): undefined reference to `aacDecoder_SetParam'
../../../deps/ffmpeg/build/desktop/x86_64/lib/libavcodec.a(libfdk-aacdec.o):libfdk-aacdec.c:(.text.unlikely+0x250): more undefined references to `aacDecoder_SetParam' follow
../../../deps/ffmpeg/build/desktop/x86_64/lib/libavcodec.a(libfdk-aacenc.o): In function `aac_encode_close':
libfdk-aacenc.c:(.text+0xf9): undefined reference to `aacEncClose'
../../../deps/ffmpeg/build/desktop/x86_64/lib/libavcodec.a(libfdk-aacenc.o): In function `aac_encode_frame':
libfdk-aacenc.c:(.text+0x2c1): undefined reference to `aacEncEncode'
../../../deps/ffmpeg/build/desktop/x86_64/lib/libavcodec.a(libfdk-aacenc.o): In function `aac_encode_init':
libfdk-aacenc.c:(.text.unlikely+0x3c): undefined reference to `aacEncOpen'
libfdk-aacenc.c:(.text.unlikely+0x7c): undefined reference to `aacEncoder_SetParam'
libfdk-aacenc.c:(.text.unlikely+0xb8): undefined reference to `aacEncoder_SetParam'
libfdk-aacenc.c:(.text.unlikely+0xfa): undefined reference to `aacEncoder_SetParam'
libfdk-aacenc.c:(.text.unlikely+0x180): undefined reference to `aacEncoder_SetParam'
libfdk-aacenc.c:(.text.unlikely+0x25d): undefined reference to `aacEncoder_SetParam'
../../../deps/ffmpeg/build/desktop/x86_64/lib/libavcodec.a(libfdk-aacenc.o):libfdk-aacenc.c:(.text.unlikely+0x28d): more undefined references to `aacEncoder_SetParam' follow
../../../deps/ffmpeg/build/desktop/x86_64/lib/libavcodec.a(libfdk-aacenc.o): In function `aac_encode_init':
libfdk-aacenc.c:(.text.unlikely+0x567): undefined reference to `aacEncEncode'
libfdk-aacenc.c:(.text.unlikely+0x5a1): undefined reference to `aacEncInfo'
../../../deps/ffmpeg/build/desktop/x86_64/lib/libavcodec.a(libvpxdec.o): In function `vpx_decode':
libvpxdec.c:(.text+0x58): undefined reference to `vpx_codec_decode'
libvpxdec.c:(.text+0xa2): undefined reference to `vpx_codec_get_frame'
libvpxdec.c:(.text+0x10c): undefined reference to `vpx_codec_error'
libvpxdec.c:(.text+0x117): undefined reference to `vpx_codec_error_detail'
libvpxdec.c:(.text+0x19e): undefined reference to `vpx_codec_decode'
libvpxdec.c:(.text+0x1ae): undefined reference to `vpx_codec_error'
libvpxdec.c:(.text+0x1ca): undefined reference to `vpx_codec_get_frame'
libvpxdec.c:(.text+0x560): undefined reference to `vpx_codec_vp9_dx_algo'
libvpxdec.c:(.text+0x58f): undefined reference to `vpx_codec_vp8_dx_algo'
../../../deps/ffmpeg/build/desktop/x86_64/lib/libavcodec.a(libvpxdec.o): In function `vpx_free':
libvpxdec.c:(.text.unlikely+0x9): undefined reference to `vpx_codec_destroy'
libvpxdec.c:(.text.unlikely+0x18): undefined reference to `vpx_codec_destroy'
../../../deps/ffmpeg/build/desktop/x86_64/lib/libavcodec.a(libvpxdec.o): In function `vpx_init':
libvpxdec.c:(.text.unlikely+0x87): undefined reference to `vpx_codec_version_str'
libvpxdec.c:(.text.unlikely+0xa5): undefined reference to `vpx_codec_build_config'
libvpxdec.c:(.text.unlikely+0xdf): undefined reference to `vpx_codec_dec_init_ver'
libvpxdec.c:(.text.unlikely+0xed): undefined reference to `vpx_codec_error'
../../../deps/ffmpeg/build/desktop/x86_64/lib/libavcodec.a(libvpxdec.o): In function `vp8_init':
libvpxdec.c:(.text.unlikely+0x134): undefined reference to `vpx_codec_vp8_dx_algo'
../../../deps/ffmpeg/build/desktop/x86_64/lib/libavcodec.a(libvpxdec.o): In function `vp9_init':
libvpxdec.c:(.text.unlikely+0x142): undefined reference to `vpx_codec_vp9_dx_algo'
../../../deps/ffmpeg/build/desktop/x86_64/lib/libavcodec.a(libvpxenc.o): In function `vpx_encode':
libvpxenc.c:(.text+0xda): undefined reference to `vpx_codec_encode'
libvpxenc.c:(.text+0x2b3): undefined reference to `vpx_codec_encode'
libvpxenc.c:(.text+0x33a): undefined reference to `vpx_codec_get_cx_data'
libvpxenc.c:(.text+0x3cd): undefined reference to `vpx_codec_get_cx_data'
../../../deps/ffmpeg/build/desktop/x86_64/lib/libavcodec.a(libvpxenc.o): In function `log_encoder_error':
libvpxenc.c:(.text.unlikely+0x351): undefined reference to `vpx_codec_error'
libvpxenc.c:(.text.unlikely+0x35c): undefined reference to `vpx_codec_error_detail'
../../../deps/ffmpeg/build/desktop/x86_64/lib/libavcodec.a(libvpxenc.o): In function `codecctl_int':
libvpxenc.c:(.text.unlikely+0x43a): undefined reference to `vpx_codec_control_'
../../../deps/ffmpeg/build/desktop/x86_64/lib/libavcodec.a(libvpxenc.o): In function `vpx_init':
libvpxenc.c:(.text.unlikely+0x4fb): undefined reference to `vpx_codec_get_caps'
libvpxenc.c:(.text.unlikely+0x503): undefined reference to `vpx_codec_version_str'
libvpxenc.c:(.text.unlikely+0x521): undefined reference to `vpx_codec_build_config'
libvpxenc.c:(.text.unlikely+0x563): undefined reference to `vpx_codec_enc_config_default'
libvpxenc.c:(.text.unlikely+0x573): undefined reference to `vpx_codec_err_to_string'
libvpxenc.c:(.text.unlikely+0xc2c): undefined reference to `vpx_codec_enc_init_ver'
libvpxenc.c:(.text.unlikely+0xc86): undefined reference to `vpx_codec_enc_init_ver'
libvpxenc.c:(.text.unlikely+0xffb): undefined reference to `vpx_img_wrap'
libvpxenc.c:(.text.unlikely+0x1040): undefined reference to `vpx_img_wrap'
../../../deps/ffmpeg/build/desktop/x86_64/lib/libavcodec.a(libvpxenc.o): In function `vp8_init':
libvpxenc.c:(.text.unlikely+0x10be): undefined reference to `vpx_codec_vp8_cx'
../../../deps/ffmpeg/build/desktop/x86_64/lib/libavcodec.a(libvpxenc.o): In function `vp9_init':
libvpxenc.c:(.text.unlikely+0x10d3): undefined reference to `vpx_codec_vp9_cx'
../../../deps/ffmpeg/build/desktop/x86_64/lib/libavcodec.a(libvpxenc.o): In function `vpx_free':
...

How it it possible for ubuntu to not have to rely on x264, libfdk-aacdec, libvpxdec, etc but when I use my compiled libraries I have to provide them?


Get this bounty!!!

#StackBounty: #apt #compiling #ffmpeg #libraries What's the difference between ffmpeg static libraries form ubuntu and from mine th…

Bounty: 50

I tried ffmpeg from ubuntu repositories and linking them was as easy as just doing -lavcodec -lavuitl .... I then compiled mine with these configurations:

    ./configure 
    --prefix=${BUILD_DIR}/desktop/x86_64 
    --extra-cflags="-I$HOME/ffmpeg_build/include" 
    --extra-ldflags="-L$HOME/ffmpeg_build/lib" 
    --enable-shared 
    --arch=x86_64 
    --enable-vaapi 
    --disable-vaapi 
    --enable-opencl 
    --disable-debug 
    --enable-nvenc 
    --enable-cuda 
    --enable-cuvid 
    --enable-libvpx 
    --enable-libdrm 
    --enable-gpl 
    --enable-runtime-cpudetect 
    --enable-libfdk-aac 
    --enable-libx264 
    --enable-openssl 
    --enable-pic 
    --extra-libs="-lpthread -lm -lz -ldl" 
    --enable-nonfree 

And it generated static libraries just like those provided by ubuntu repositories. However, I cannot simply link them with -lavcodec -lavuitl ... because I get lots of undefined references, like

../../../deps/ffmpeg/build/desktop/x86_64/lib/libavcodec.a(libfdk-aacdec.o): In function `fdk_aac_decode_frame':
libfdk-aacdec.c:(.text+0x4f): undefined reference to `aacDecoder_Fill'
libfdk-aacdec.c:(.text+0x6d): undefined reference to `aacDecoder_DecodeFrame'
libfdk-aacdec.c:(.text+0x8d): undefined reference to `aacDecoder_GetStreamInfo'
../../../deps/ffmpeg/build/desktop/x86_64/lib/libavcodec.a(libfdk-aacdec.o): In function `fdk_aac_decode_close':
libfdk-aacdec.c:(.text.unlikely+0xf): undefined reference to `aacDecoder_Close'
../../../deps/ffmpeg/build/desktop/x86_64/lib/libavcodec.a(libfdk-aacdec.o): In function `fdk_aac_decode_init':
libfdk-aacdec.c:(.text.unlikely+0x45): undefined reference to `aacDecoder_Open'
libfdk-aacdec.c:(.text.unlikely+0x82): undefined reference to `aacDecoder_ConfigRaw'
libfdk-aacdec.c:(.text.unlikely+0xb7): undefined reference to `aacDecoder_SetParam'
libfdk-aacdec.c:(.text.unlikely+0x129): undefined reference to `aacDecoder_SetParam'
libfdk-aacdec.c:(.text.unlikely+0x187): undefined reference to `aacDecoder_AncDataInit'
libfdk-aacdec.c:(.text.unlikely+0x1ac): undefined reference to `aacDecoder_SetParam'
libfdk-aacdec.c:(.text.unlikely+0x1d1): undefined reference to `aacDecoder_SetParam'
libfdk-aacdec.c:(.text.unlikely+0x1f2): undefined reference to `aacDecoder_SetParam'
libfdk-aacdec.c:(.text.unlikely+0x213): undefined reference to `aacDecoder_SetParam'
libfdk-aacdec.c:(.text.unlikely+0x22f): undefined reference to `aacDecoder_SetParam'
../../../deps/ffmpeg/build/desktop/x86_64/lib/libavcodec.a(libfdk-aacdec.o):libfdk-aacdec.c:(.text.unlikely+0x250): more undefined references to `aacDecoder_SetParam' follow
../../../deps/ffmpeg/build/desktop/x86_64/lib/libavcodec.a(libfdk-aacenc.o): In function `aac_encode_close':
libfdk-aacenc.c:(.text+0xf9): undefined reference to `aacEncClose'
../../../deps/ffmpeg/build/desktop/x86_64/lib/libavcodec.a(libfdk-aacenc.o): In function `aac_encode_frame':
libfdk-aacenc.c:(.text+0x2c1): undefined reference to `aacEncEncode'
../../../deps/ffmpeg/build/desktop/x86_64/lib/libavcodec.a(libfdk-aacenc.o): In function `aac_encode_init':
libfdk-aacenc.c:(.text.unlikely+0x3c): undefined reference to `aacEncOpen'
libfdk-aacenc.c:(.text.unlikely+0x7c): undefined reference to `aacEncoder_SetParam'
libfdk-aacenc.c:(.text.unlikely+0xb8): undefined reference to `aacEncoder_SetParam'
libfdk-aacenc.c:(.text.unlikely+0xfa): undefined reference to `aacEncoder_SetParam'
libfdk-aacenc.c:(.text.unlikely+0x180): undefined reference to `aacEncoder_SetParam'
libfdk-aacenc.c:(.text.unlikely+0x25d): undefined reference to `aacEncoder_SetParam'
../../../deps/ffmpeg/build/desktop/x86_64/lib/libavcodec.a(libfdk-aacenc.o):libfdk-aacenc.c:(.text.unlikely+0x28d): more undefined references to `aacEncoder_SetParam' follow
../../../deps/ffmpeg/build/desktop/x86_64/lib/libavcodec.a(libfdk-aacenc.o): In function `aac_encode_init':
libfdk-aacenc.c:(.text.unlikely+0x567): undefined reference to `aacEncEncode'
libfdk-aacenc.c:(.text.unlikely+0x5a1): undefined reference to `aacEncInfo'
../../../deps/ffmpeg/build/desktop/x86_64/lib/libavcodec.a(libvpxdec.o): In function `vpx_decode':
libvpxdec.c:(.text+0x58): undefined reference to `vpx_codec_decode'
libvpxdec.c:(.text+0xa2): undefined reference to `vpx_codec_get_frame'
libvpxdec.c:(.text+0x10c): undefined reference to `vpx_codec_error'
libvpxdec.c:(.text+0x117): undefined reference to `vpx_codec_error_detail'
libvpxdec.c:(.text+0x19e): undefined reference to `vpx_codec_decode'
libvpxdec.c:(.text+0x1ae): undefined reference to `vpx_codec_error'
libvpxdec.c:(.text+0x1ca): undefined reference to `vpx_codec_get_frame'
libvpxdec.c:(.text+0x560): undefined reference to `vpx_codec_vp9_dx_algo'
libvpxdec.c:(.text+0x58f): undefined reference to `vpx_codec_vp8_dx_algo'
../../../deps/ffmpeg/build/desktop/x86_64/lib/libavcodec.a(libvpxdec.o): In function `vpx_free':
libvpxdec.c:(.text.unlikely+0x9): undefined reference to `vpx_codec_destroy'
libvpxdec.c:(.text.unlikely+0x18): undefined reference to `vpx_codec_destroy'
../../../deps/ffmpeg/build/desktop/x86_64/lib/libavcodec.a(libvpxdec.o): In function `vpx_init':
libvpxdec.c:(.text.unlikely+0x87): undefined reference to `vpx_codec_version_str'
libvpxdec.c:(.text.unlikely+0xa5): undefined reference to `vpx_codec_build_config'
libvpxdec.c:(.text.unlikely+0xdf): undefined reference to `vpx_codec_dec_init_ver'
libvpxdec.c:(.text.unlikely+0xed): undefined reference to `vpx_codec_error'
../../../deps/ffmpeg/build/desktop/x86_64/lib/libavcodec.a(libvpxdec.o): In function `vp8_init':
libvpxdec.c:(.text.unlikely+0x134): undefined reference to `vpx_codec_vp8_dx_algo'
../../../deps/ffmpeg/build/desktop/x86_64/lib/libavcodec.a(libvpxdec.o): In function `vp9_init':
libvpxdec.c:(.text.unlikely+0x142): undefined reference to `vpx_codec_vp9_dx_algo'
../../../deps/ffmpeg/build/desktop/x86_64/lib/libavcodec.a(libvpxenc.o): In function `vpx_encode':
libvpxenc.c:(.text+0xda): undefined reference to `vpx_codec_encode'
libvpxenc.c:(.text+0x2b3): undefined reference to `vpx_codec_encode'
libvpxenc.c:(.text+0x33a): undefined reference to `vpx_codec_get_cx_data'
libvpxenc.c:(.text+0x3cd): undefined reference to `vpx_codec_get_cx_data'
../../../deps/ffmpeg/build/desktop/x86_64/lib/libavcodec.a(libvpxenc.o): In function `log_encoder_error':
libvpxenc.c:(.text.unlikely+0x351): undefined reference to `vpx_codec_error'
libvpxenc.c:(.text.unlikely+0x35c): undefined reference to `vpx_codec_error_detail'
../../../deps/ffmpeg/build/desktop/x86_64/lib/libavcodec.a(libvpxenc.o): In function `codecctl_int':
libvpxenc.c:(.text.unlikely+0x43a): undefined reference to `vpx_codec_control_'
../../../deps/ffmpeg/build/desktop/x86_64/lib/libavcodec.a(libvpxenc.o): In function `vpx_init':
libvpxenc.c:(.text.unlikely+0x4fb): undefined reference to `vpx_codec_get_caps'
libvpxenc.c:(.text.unlikely+0x503): undefined reference to `vpx_codec_version_str'
libvpxenc.c:(.text.unlikely+0x521): undefined reference to `vpx_codec_build_config'
libvpxenc.c:(.text.unlikely+0x563): undefined reference to `vpx_codec_enc_config_default'
libvpxenc.c:(.text.unlikely+0x573): undefined reference to `vpx_codec_err_to_string'
libvpxenc.c:(.text.unlikely+0xc2c): undefined reference to `vpx_codec_enc_init_ver'
libvpxenc.c:(.text.unlikely+0xc86): undefined reference to `vpx_codec_enc_init_ver'
libvpxenc.c:(.text.unlikely+0xffb): undefined reference to `vpx_img_wrap'
libvpxenc.c:(.text.unlikely+0x1040): undefined reference to `vpx_img_wrap'
../../../deps/ffmpeg/build/desktop/x86_64/lib/libavcodec.a(libvpxenc.o): In function `vp8_init':
libvpxenc.c:(.text.unlikely+0x10be): undefined reference to `vpx_codec_vp8_cx'
../../../deps/ffmpeg/build/desktop/x86_64/lib/libavcodec.a(libvpxenc.o): In function `vp9_init':
libvpxenc.c:(.text.unlikely+0x10d3): undefined reference to `vpx_codec_vp9_cx'
../../../deps/ffmpeg/build/desktop/x86_64/lib/libavcodec.a(libvpxenc.o): In function `vpx_free':
...

How it it possible for ubuntu to not have to rely on x264, libfdk-aacdec, libvpxdec, etc but when I use my compiled libraries I have to provide them?


Get this bounty!!!

#StackBounty: #apt #compiling #ffmpeg #libraries What's the difference between ffmpeg static libraries form ubuntu and from mine th…

Bounty: 50

I tried ffmpeg from ubuntu repositories and linking them was as easy as just doing -lavcodec -lavuitl .... I then compiled mine with these configurations:

    ./configure 
    --prefix=${BUILD_DIR}/desktop/x86_64 
    --extra-cflags="-I$HOME/ffmpeg_build/include" 
    --extra-ldflags="-L$HOME/ffmpeg_build/lib" 
    --enable-shared 
    --arch=x86_64 
    --enable-vaapi 
    --disable-vaapi 
    --enable-opencl 
    --disable-debug 
    --enable-nvenc 
    --enable-cuda 
    --enable-cuvid 
    --enable-libvpx 
    --enable-libdrm 
    --enable-gpl 
    --enable-runtime-cpudetect 
    --enable-libfdk-aac 
    --enable-libx264 
    --enable-openssl 
    --enable-pic 
    --extra-libs="-lpthread -lm -lz -ldl" 
    --enable-nonfree 

And it generated static libraries just like those provided by ubuntu repositories. However, I cannot simply link them with -lavcodec -lavuitl ... because I get lots of undefined references, like

../../../deps/ffmpeg/build/desktop/x86_64/lib/libavcodec.a(libfdk-aacdec.o): In function `fdk_aac_decode_frame':
libfdk-aacdec.c:(.text+0x4f): undefined reference to `aacDecoder_Fill'
libfdk-aacdec.c:(.text+0x6d): undefined reference to `aacDecoder_DecodeFrame'
libfdk-aacdec.c:(.text+0x8d): undefined reference to `aacDecoder_GetStreamInfo'
../../../deps/ffmpeg/build/desktop/x86_64/lib/libavcodec.a(libfdk-aacdec.o): In function `fdk_aac_decode_close':
libfdk-aacdec.c:(.text.unlikely+0xf): undefined reference to `aacDecoder_Close'
../../../deps/ffmpeg/build/desktop/x86_64/lib/libavcodec.a(libfdk-aacdec.o): In function `fdk_aac_decode_init':
libfdk-aacdec.c:(.text.unlikely+0x45): undefined reference to `aacDecoder_Open'
libfdk-aacdec.c:(.text.unlikely+0x82): undefined reference to `aacDecoder_ConfigRaw'
libfdk-aacdec.c:(.text.unlikely+0xb7): undefined reference to `aacDecoder_SetParam'
libfdk-aacdec.c:(.text.unlikely+0x129): undefined reference to `aacDecoder_SetParam'
libfdk-aacdec.c:(.text.unlikely+0x187): undefined reference to `aacDecoder_AncDataInit'
libfdk-aacdec.c:(.text.unlikely+0x1ac): undefined reference to `aacDecoder_SetParam'
libfdk-aacdec.c:(.text.unlikely+0x1d1): undefined reference to `aacDecoder_SetParam'
libfdk-aacdec.c:(.text.unlikely+0x1f2): undefined reference to `aacDecoder_SetParam'
libfdk-aacdec.c:(.text.unlikely+0x213): undefined reference to `aacDecoder_SetParam'
libfdk-aacdec.c:(.text.unlikely+0x22f): undefined reference to `aacDecoder_SetParam'
../../../deps/ffmpeg/build/desktop/x86_64/lib/libavcodec.a(libfdk-aacdec.o):libfdk-aacdec.c:(.text.unlikely+0x250): more undefined references to `aacDecoder_SetParam' follow
../../../deps/ffmpeg/build/desktop/x86_64/lib/libavcodec.a(libfdk-aacenc.o): In function `aac_encode_close':
libfdk-aacenc.c:(.text+0xf9): undefined reference to `aacEncClose'
../../../deps/ffmpeg/build/desktop/x86_64/lib/libavcodec.a(libfdk-aacenc.o): In function `aac_encode_frame':
libfdk-aacenc.c:(.text+0x2c1): undefined reference to `aacEncEncode'
../../../deps/ffmpeg/build/desktop/x86_64/lib/libavcodec.a(libfdk-aacenc.o): In function `aac_encode_init':
libfdk-aacenc.c:(.text.unlikely+0x3c): undefined reference to `aacEncOpen'
libfdk-aacenc.c:(.text.unlikely+0x7c): undefined reference to `aacEncoder_SetParam'
libfdk-aacenc.c:(.text.unlikely+0xb8): undefined reference to `aacEncoder_SetParam'
libfdk-aacenc.c:(.text.unlikely+0xfa): undefined reference to `aacEncoder_SetParam'
libfdk-aacenc.c:(.text.unlikely+0x180): undefined reference to `aacEncoder_SetParam'
libfdk-aacenc.c:(.text.unlikely+0x25d): undefined reference to `aacEncoder_SetParam'
../../../deps/ffmpeg/build/desktop/x86_64/lib/libavcodec.a(libfdk-aacenc.o):libfdk-aacenc.c:(.text.unlikely+0x28d): more undefined references to `aacEncoder_SetParam' follow
../../../deps/ffmpeg/build/desktop/x86_64/lib/libavcodec.a(libfdk-aacenc.o): In function `aac_encode_init':
libfdk-aacenc.c:(.text.unlikely+0x567): undefined reference to `aacEncEncode'
libfdk-aacenc.c:(.text.unlikely+0x5a1): undefined reference to `aacEncInfo'
../../../deps/ffmpeg/build/desktop/x86_64/lib/libavcodec.a(libvpxdec.o): In function `vpx_decode':
libvpxdec.c:(.text+0x58): undefined reference to `vpx_codec_decode'
libvpxdec.c:(.text+0xa2): undefined reference to `vpx_codec_get_frame'
libvpxdec.c:(.text+0x10c): undefined reference to `vpx_codec_error'
libvpxdec.c:(.text+0x117): undefined reference to `vpx_codec_error_detail'
libvpxdec.c:(.text+0x19e): undefined reference to `vpx_codec_decode'
libvpxdec.c:(.text+0x1ae): undefined reference to `vpx_codec_error'
libvpxdec.c:(.text+0x1ca): undefined reference to `vpx_codec_get_frame'
libvpxdec.c:(.text+0x560): undefined reference to `vpx_codec_vp9_dx_algo'
libvpxdec.c:(.text+0x58f): undefined reference to `vpx_codec_vp8_dx_algo'
../../../deps/ffmpeg/build/desktop/x86_64/lib/libavcodec.a(libvpxdec.o): In function `vpx_free':
libvpxdec.c:(.text.unlikely+0x9): undefined reference to `vpx_codec_destroy'
libvpxdec.c:(.text.unlikely+0x18): undefined reference to `vpx_codec_destroy'
../../../deps/ffmpeg/build/desktop/x86_64/lib/libavcodec.a(libvpxdec.o): In function `vpx_init':
libvpxdec.c:(.text.unlikely+0x87): undefined reference to `vpx_codec_version_str'
libvpxdec.c:(.text.unlikely+0xa5): undefined reference to `vpx_codec_build_config'
libvpxdec.c:(.text.unlikely+0xdf): undefined reference to `vpx_codec_dec_init_ver'
libvpxdec.c:(.text.unlikely+0xed): undefined reference to `vpx_codec_error'
../../../deps/ffmpeg/build/desktop/x86_64/lib/libavcodec.a(libvpxdec.o): In function `vp8_init':
libvpxdec.c:(.text.unlikely+0x134): undefined reference to `vpx_codec_vp8_dx_algo'
../../../deps/ffmpeg/build/desktop/x86_64/lib/libavcodec.a(libvpxdec.o): In function `vp9_init':
libvpxdec.c:(.text.unlikely+0x142): undefined reference to `vpx_codec_vp9_dx_algo'
../../../deps/ffmpeg/build/desktop/x86_64/lib/libavcodec.a(libvpxenc.o): In function `vpx_encode':
libvpxenc.c:(.text+0xda): undefined reference to `vpx_codec_encode'
libvpxenc.c:(.text+0x2b3): undefined reference to `vpx_codec_encode'
libvpxenc.c:(.text+0x33a): undefined reference to `vpx_codec_get_cx_data'
libvpxenc.c:(.text+0x3cd): undefined reference to `vpx_codec_get_cx_data'
../../../deps/ffmpeg/build/desktop/x86_64/lib/libavcodec.a(libvpxenc.o): In function `log_encoder_error':
libvpxenc.c:(.text.unlikely+0x351): undefined reference to `vpx_codec_error'
libvpxenc.c:(.text.unlikely+0x35c): undefined reference to `vpx_codec_error_detail'
../../../deps/ffmpeg/build/desktop/x86_64/lib/libavcodec.a(libvpxenc.o): In function `codecctl_int':
libvpxenc.c:(.text.unlikely+0x43a): undefined reference to `vpx_codec_control_'
../../../deps/ffmpeg/build/desktop/x86_64/lib/libavcodec.a(libvpxenc.o): In function `vpx_init':
libvpxenc.c:(.text.unlikely+0x4fb): undefined reference to `vpx_codec_get_caps'
libvpxenc.c:(.text.unlikely+0x503): undefined reference to `vpx_codec_version_str'
libvpxenc.c:(.text.unlikely+0x521): undefined reference to `vpx_codec_build_config'
libvpxenc.c:(.text.unlikely+0x563): undefined reference to `vpx_codec_enc_config_default'
libvpxenc.c:(.text.unlikely+0x573): undefined reference to `vpx_codec_err_to_string'
libvpxenc.c:(.text.unlikely+0xc2c): undefined reference to `vpx_codec_enc_init_ver'
libvpxenc.c:(.text.unlikely+0xc86): undefined reference to `vpx_codec_enc_init_ver'
libvpxenc.c:(.text.unlikely+0xffb): undefined reference to `vpx_img_wrap'
libvpxenc.c:(.text.unlikely+0x1040): undefined reference to `vpx_img_wrap'
../../../deps/ffmpeg/build/desktop/x86_64/lib/libavcodec.a(libvpxenc.o): In function `vp8_init':
libvpxenc.c:(.text.unlikely+0x10be): undefined reference to `vpx_codec_vp8_cx'
../../../deps/ffmpeg/build/desktop/x86_64/lib/libavcodec.a(libvpxenc.o): In function `vp9_init':
libvpxenc.c:(.text.unlikely+0x10d3): undefined reference to `vpx_codec_vp9_cx'
../../../deps/ffmpeg/build/desktop/x86_64/lib/libavcodec.a(libvpxenc.o): In function `vpx_free':
...

How it it possible for ubuntu to not have to rely on x264, libfdk-aacdec, libvpxdec, etc but when I use my compiled libraries I have to provide them?


Get this bounty!!!

#StackBounty: #apt #compiling #ffmpeg #libraries What's the difference between ffmpeg static libraries form ubuntu and from mine th…

Bounty: 50

I tried ffmpeg from ubuntu repositories and linking them was as easy as just doing -lavcodec -lavuitl .... I then compiled mine with these configurations:

    ./configure 
    --prefix=${BUILD_DIR}/desktop/x86_64 
    --extra-cflags="-I$HOME/ffmpeg_build/include" 
    --extra-ldflags="-L$HOME/ffmpeg_build/lib" 
    --enable-shared 
    --arch=x86_64 
    --enable-vaapi 
    --disable-vaapi 
    --enable-opencl 
    --disable-debug 
    --enable-nvenc 
    --enable-cuda 
    --enable-cuvid 
    --enable-libvpx 
    --enable-libdrm 
    --enable-gpl 
    --enable-runtime-cpudetect 
    --enable-libfdk-aac 
    --enable-libx264 
    --enable-openssl 
    --enable-pic 
    --extra-libs="-lpthread -lm -lz -ldl" 
    --enable-nonfree 

And it generated static libraries just like those provided by ubuntu repositories. However, I cannot simply link them with -lavcodec -lavuitl ... because I get lots of undefined references, like

../../../deps/ffmpeg/build/desktop/x86_64/lib/libavcodec.a(libfdk-aacdec.o): In function `fdk_aac_decode_frame':
libfdk-aacdec.c:(.text+0x4f): undefined reference to `aacDecoder_Fill'
libfdk-aacdec.c:(.text+0x6d): undefined reference to `aacDecoder_DecodeFrame'
libfdk-aacdec.c:(.text+0x8d): undefined reference to `aacDecoder_GetStreamInfo'
../../../deps/ffmpeg/build/desktop/x86_64/lib/libavcodec.a(libfdk-aacdec.o): In function `fdk_aac_decode_close':
libfdk-aacdec.c:(.text.unlikely+0xf): undefined reference to `aacDecoder_Close'
../../../deps/ffmpeg/build/desktop/x86_64/lib/libavcodec.a(libfdk-aacdec.o): In function `fdk_aac_decode_init':
libfdk-aacdec.c:(.text.unlikely+0x45): undefined reference to `aacDecoder_Open'
libfdk-aacdec.c:(.text.unlikely+0x82): undefined reference to `aacDecoder_ConfigRaw'
libfdk-aacdec.c:(.text.unlikely+0xb7): undefined reference to `aacDecoder_SetParam'
libfdk-aacdec.c:(.text.unlikely+0x129): undefined reference to `aacDecoder_SetParam'
libfdk-aacdec.c:(.text.unlikely+0x187): undefined reference to `aacDecoder_AncDataInit'
libfdk-aacdec.c:(.text.unlikely+0x1ac): undefined reference to `aacDecoder_SetParam'
libfdk-aacdec.c:(.text.unlikely+0x1d1): undefined reference to `aacDecoder_SetParam'
libfdk-aacdec.c:(.text.unlikely+0x1f2): undefined reference to `aacDecoder_SetParam'
libfdk-aacdec.c:(.text.unlikely+0x213): undefined reference to `aacDecoder_SetParam'
libfdk-aacdec.c:(.text.unlikely+0x22f): undefined reference to `aacDecoder_SetParam'
../../../deps/ffmpeg/build/desktop/x86_64/lib/libavcodec.a(libfdk-aacdec.o):libfdk-aacdec.c:(.text.unlikely+0x250): more undefined references to `aacDecoder_SetParam' follow
../../../deps/ffmpeg/build/desktop/x86_64/lib/libavcodec.a(libfdk-aacenc.o): In function `aac_encode_close':
libfdk-aacenc.c:(.text+0xf9): undefined reference to `aacEncClose'
../../../deps/ffmpeg/build/desktop/x86_64/lib/libavcodec.a(libfdk-aacenc.o): In function `aac_encode_frame':
libfdk-aacenc.c:(.text+0x2c1): undefined reference to `aacEncEncode'
../../../deps/ffmpeg/build/desktop/x86_64/lib/libavcodec.a(libfdk-aacenc.o): In function `aac_encode_init':
libfdk-aacenc.c:(.text.unlikely+0x3c): undefined reference to `aacEncOpen'
libfdk-aacenc.c:(.text.unlikely+0x7c): undefined reference to `aacEncoder_SetParam'
libfdk-aacenc.c:(.text.unlikely+0xb8): undefined reference to `aacEncoder_SetParam'
libfdk-aacenc.c:(.text.unlikely+0xfa): undefined reference to `aacEncoder_SetParam'
libfdk-aacenc.c:(.text.unlikely+0x180): undefined reference to `aacEncoder_SetParam'
libfdk-aacenc.c:(.text.unlikely+0x25d): undefined reference to `aacEncoder_SetParam'
../../../deps/ffmpeg/build/desktop/x86_64/lib/libavcodec.a(libfdk-aacenc.o):libfdk-aacenc.c:(.text.unlikely+0x28d): more undefined references to `aacEncoder_SetParam' follow
../../../deps/ffmpeg/build/desktop/x86_64/lib/libavcodec.a(libfdk-aacenc.o): In function `aac_encode_init':
libfdk-aacenc.c:(.text.unlikely+0x567): undefined reference to `aacEncEncode'
libfdk-aacenc.c:(.text.unlikely+0x5a1): undefined reference to `aacEncInfo'
../../../deps/ffmpeg/build/desktop/x86_64/lib/libavcodec.a(libvpxdec.o): In function `vpx_decode':
libvpxdec.c:(.text+0x58): undefined reference to `vpx_codec_decode'
libvpxdec.c:(.text+0xa2): undefined reference to `vpx_codec_get_frame'
libvpxdec.c:(.text+0x10c): undefined reference to `vpx_codec_error'
libvpxdec.c:(.text+0x117): undefined reference to `vpx_codec_error_detail'
libvpxdec.c:(.text+0x19e): undefined reference to `vpx_codec_decode'
libvpxdec.c:(.text+0x1ae): undefined reference to `vpx_codec_error'
libvpxdec.c:(.text+0x1ca): undefined reference to `vpx_codec_get_frame'
libvpxdec.c:(.text+0x560): undefined reference to `vpx_codec_vp9_dx_algo'
libvpxdec.c:(.text+0x58f): undefined reference to `vpx_codec_vp8_dx_algo'
../../../deps/ffmpeg/build/desktop/x86_64/lib/libavcodec.a(libvpxdec.o): In function `vpx_free':
libvpxdec.c:(.text.unlikely+0x9): undefined reference to `vpx_codec_destroy'
libvpxdec.c:(.text.unlikely+0x18): undefined reference to `vpx_codec_destroy'
../../../deps/ffmpeg/build/desktop/x86_64/lib/libavcodec.a(libvpxdec.o): In function `vpx_init':
libvpxdec.c:(.text.unlikely+0x87): undefined reference to `vpx_codec_version_str'
libvpxdec.c:(.text.unlikely+0xa5): undefined reference to `vpx_codec_build_config'
libvpxdec.c:(.text.unlikely+0xdf): undefined reference to `vpx_codec_dec_init_ver'
libvpxdec.c:(.text.unlikely+0xed): undefined reference to `vpx_codec_error'
../../../deps/ffmpeg/build/desktop/x86_64/lib/libavcodec.a(libvpxdec.o): In function `vp8_init':
libvpxdec.c:(.text.unlikely+0x134): undefined reference to `vpx_codec_vp8_dx_algo'
../../../deps/ffmpeg/build/desktop/x86_64/lib/libavcodec.a(libvpxdec.o): In function `vp9_init':
libvpxdec.c:(.text.unlikely+0x142): undefined reference to `vpx_codec_vp9_dx_algo'
../../../deps/ffmpeg/build/desktop/x86_64/lib/libavcodec.a(libvpxenc.o): In function `vpx_encode':
libvpxenc.c:(.text+0xda): undefined reference to `vpx_codec_encode'
libvpxenc.c:(.text+0x2b3): undefined reference to `vpx_codec_encode'
libvpxenc.c:(.text+0x33a): undefined reference to `vpx_codec_get_cx_data'
libvpxenc.c:(.text+0x3cd): undefined reference to `vpx_codec_get_cx_data'
../../../deps/ffmpeg/build/desktop/x86_64/lib/libavcodec.a(libvpxenc.o): In function `log_encoder_error':
libvpxenc.c:(.text.unlikely+0x351): undefined reference to `vpx_codec_error'
libvpxenc.c:(.text.unlikely+0x35c): undefined reference to `vpx_codec_error_detail'
../../../deps/ffmpeg/build/desktop/x86_64/lib/libavcodec.a(libvpxenc.o): In function `codecctl_int':
libvpxenc.c:(.text.unlikely+0x43a): undefined reference to `vpx_codec_control_'
../../../deps/ffmpeg/build/desktop/x86_64/lib/libavcodec.a(libvpxenc.o): In function `vpx_init':
libvpxenc.c:(.text.unlikely+0x4fb): undefined reference to `vpx_codec_get_caps'
libvpxenc.c:(.text.unlikely+0x503): undefined reference to `vpx_codec_version_str'
libvpxenc.c:(.text.unlikely+0x521): undefined reference to `vpx_codec_build_config'
libvpxenc.c:(.text.unlikely+0x563): undefined reference to `vpx_codec_enc_config_default'
libvpxenc.c:(.text.unlikely+0x573): undefined reference to `vpx_codec_err_to_string'
libvpxenc.c:(.text.unlikely+0xc2c): undefined reference to `vpx_codec_enc_init_ver'
libvpxenc.c:(.text.unlikely+0xc86): undefined reference to `vpx_codec_enc_init_ver'
libvpxenc.c:(.text.unlikely+0xffb): undefined reference to `vpx_img_wrap'
libvpxenc.c:(.text.unlikely+0x1040): undefined reference to `vpx_img_wrap'
../../../deps/ffmpeg/build/desktop/x86_64/lib/libavcodec.a(libvpxenc.o): In function `vp8_init':
libvpxenc.c:(.text.unlikely+0x10be): undefined reference to `vpx_codec_vp8_cx'
../../../deps/ffmpeg/build/desktop/x86_64/lib/libavcodec.a(libvpxenc.o): In function `vp9_init':
libvpxenc.c:(.text.unlikely+0x10d3): undefined reference to `vpx_codec_vp9_cx'
../../../deps/ffmpeg/build/desktop/x86_64/lib/libavcodec.a(libvpxenc.o): In function `vpx_free':
...

How it it possible for ubuntu to not have to rely on x264, libfdk-aacdec, libvpxdec, etc but when I use my compiled libraries I have to provide them?


Get this bounty!!!

#StackBounty: #apt #compiling #ffmpeg #libraries What's the difference between ffmpeg static libraries form ubuntu and from mine th…

Bounty: 50

I tried ffmpeg from ubuntu repositories and linking them was as easy as just doing -lavcodec -lavuitl .... I then compiled mine with these configurations:

    ./configure 
    --prefix=${BUILD_DIR}/desktop/x86_64 
    --extra-cflags="-I$HOME/ffmpeg_build/include" 
    --extra-ldflags="-L$HOME/ffmpeg_build/lib" 
    --enable-shared 
    --arch=x86_64 
    --enable-vaapi 
    --disable-vaapi 
    --enable-opencl 
    --disable-debug 
    --enable-nvenc 
    --enable-cuda 
    --enable-cuvid 
    --enable-libvpx 
    --enable-libdrm 
    --enable-gpl 
    --enable-runtime-cpudetect 
    --enable-libfdk-aac 
    --enable-libx264 
    --enable-openssl 
    --enable-pic 
    --extra-libs="-lpthread -lm -lz -ldl" 
    --enable-nonfree 

And it generated static libraries just like those provided by ubuntu repositories. However, I cannot simply link them with -lavcodec -lavuitl ... because I get lots of undefined references, like

../../../deps/ffmpeg/build/desktop/x86_64/lib/libavcodec.a(libfdk-aacdec.o): In function `fdk_aac_decode_frame':
libfdk-aacdec.c:(.text+0x4f): undefined reference to `aacDecoder_Fill'
libfdk-aacdec.c:(.text+0x6d): undefined reference to `aacDecoder_DecodeFrame'
libfdk-aacdec.c:(.text+0x8d): undefined reference to `aacDecoder_GetStreamInfo'
../../../deps/ffmpeg/build/desktop/x86_64/lib/libavcodec.a(libfdk-aacdec.o): In function `fdk_aac_decode_close':
libfdk-aacdec.c:(.text.unlikely+0xf): undefined reference to `aacDecoder_Close'
../../../deps/ffmpeg/build/desktop/x86_64/lib/libavcodec.a(libfdk-aacdec.o): In function `fdk_aac_decode_init':
libfdk-aacdec.c:(.text.unlikely+0x45): undefined reference to `aacDecoder_Open'
libfdk-aacdec.c:(.text.unlikely+0x82): undefined reference to `aacDecoder_ConfigRaw'
libfdk-aacdec.c:(.text.unlikely+0xb7): undefined reference to `aacDecoder_SetParam'
libfdk-aacdec.c:(.text.unlikely+0x129): undefined reference to `aacDecoder_SetParam'
libfdk-aacdec.c:(.text.unlikely+0x187): undefined reference to `aacDecoder_AncDataInit'
libfdk-aacdec.c:(.text.unlikely+0x1ac): undefined reference to `aacDecoder_SetParam'
libfdk-aacdec.c:(.text.unlikely+0x1d1): undefined reference to `aacDecoder_SetParam'
libfdk-aacdec.c:(.text.unlikely+0x1f2): undefined reference to `aacDecoder_SetParam'
libfdk-aacdec.c:(.text.unlikely+0x213): undefined reference to `aacDecoder_SetParam'
libfdk-aacdec.c:(.text.unlikely+0x22f): undefined reference to `aacDecoder_SetParam'
../../../deps/ffmpeg/build/desktop/x86_64/lib/libavcodec.a(libfdk-aacdec.o):libfdk-aacdec.c:(.text.unlikely+0x250): more undefined references to `aacDecoder_SetParam' follow
../../../deps/ffmpeg/build/desktop/x86_64/lib/libavcodec.a(libfdk-aacenc.o): In function `aac_encode_close':
libfdk-aacenc.c:(.text+0xf9): undefined reference to `aacEncClose'
../../../deps/ffmpeg/build/desktop/x86_64/lib/libavcodec.a(libfdk-aacenc.o): In function `aac_encode_frame':
libfdk-aacenc.c:(.text+0x2c1): undefined reference to `aacEncEncode'
../../../deps/ffmpeg/build/desktop/x86_64/lib/libavcodec.a(libfdk-aacenc.o): In function `aac_encode_init':
libfdk-aacenc.c:(.text.unlikely+0x3c): undefined reference to `aacEncOpen'
libfdk-aacenc.c:(.text.unlikely+0x7c): undefined reference to `aacEncoder_SetParam'
libfdk-aacenc.c:(.text.unlikely+0xb8): undefined reference to `aacEncoder_SetParam'
libfdk-aacenc.c:(.text.unlikely+0xfa): undefined reference to `aacEncoder_SetParam'
libfdk-aacenc.c:(.text.unlikely+0x180): undefined reference to `aacEncoder_SetParam'
libfdk-aacenc.c:(.text.unlikely+0x25d): undefined reference to `aacEncoder_SetParam'
../../../deps/ffmpeg/build/desktop/x86_64/lib/libavcodec.a(libfdk-aacenc.o):libfdk-aacenc.c:(.text.unlikely+0x28d): more undefined references to `aacEncoder_SetParam' follow
../../../deps/ffmpeg/build/desktop/x86_64/lib/libavcodec.a(libfdk-aacenc.o): In function `aac_encode_init':
libfdk-aacenc.c:(.text.unlikely+0x567): undefined reference to `aacEncEncode'
libfdk-aacenc.c:(.text.unlikely+0x5a1): undefined reference to `aacEncInfo'
../../../deps/ffmpeg/build/desktop/x86_64/lib/libavcodec.a(libvpxdec.o): In function `vpx_decode':
libvpxdec.c:(.text+0x58): undefined reference to `vpx_codec_decode'
libvpxdec.c:(.text+0xa2): undefined reference to `vpx_codec_get_frame'
libvpxdec.c:(.text+0x10c): undefined reference to `vpx_codec_error'
libvpxdec.c:(.text+0x117): undefined reference to `vpx_codec_error_detail'
libvpxdec.c:(.text+0x19e): undefined reference to `vpx_codec_decode'
libvpxdec.c:(.text+0x1ae): undefined reference to `vpx_codec_error'
libvpxdec.c:(.text+0x1ca): undefined reference to `vpx_codec_get_frame'
libvpxdec.c:(.text+0x560): undefined reference to `vpx_codec_vp9_dx_algo'
libvpxdec.c:(.text+0x58f): undefined reference to `vpx_codec_vp8_dx_algo'
../../../deps/ffmpeg/build/desktop/x86_64/lib/libavcodec.a(libvpxdec.o): In function `vpx_free':
libvpxdec.c:(.text.unlikely+0x9): undefined reference to `vpx_codec_destroy'
libvpxdec.c:(.text.unlikely+0x18): undefined reference to `vpx_codec_destroy'
../../../deps/ffmpeg/build/desktop/x86_64/lib/libavcodec.a(libvpxdec.o): In function `vpx_init':
libvpxdec.c:(.text.unlikely+0x87): undefined reference to `vpx_codec_version_str'
libvpxdec.c:(.text.unlikely+0xa5): undefined reference to `vpx_codec_build_config'
libvpxdec.c:(.text.unlikely+0xdf): undefined reference to `vpx_codec_dec_init_ver'
libvpxdec.c:(.text.unlikely+0xed): undefined reference to `vpx_codec_error'
../../../deps/ffmpeg/build/desktop/x86_64/lib/libavcodec.a(libvpxdec.o): In function `vp8_init':
libvpxdec.c:(.text.unlikely+0x134): undefined reference to `vpx_codec_vp8_dx_algo'
../../../deps/ffmpeg/build/desktop/x86_64/lib/libavcodec.a(libvpxdec.o): In function `vp9_init':
libvpxdec.c:(.text.unlikely+0x142): undefined reference to `vpx_codec_vp9_dx_algo'
../../../deps/ffmpeg/build/desktop/x86_64/lib/libavcodec.a(libvpxenc.o): In function `vpx_encode':
libvpxenc.c:(.text+0xda): undefined reference to `vpx_codec_encode'
libvpxenc.c:(.text+0x2b3): undefined reference to `vpx_codec_encode'
libvpxenc.c:(.text+0x33a): undefined reference to `vpx_codec_get_cx_data'
libvpxenc.c:(.text+0x3cd): undefined reference to `vpx_codec_get_cx_data'
../../../deps/ffmpeg/build/desktop/x86_64/lib/libavcodec.a(libvpxenc.o): In function `log_encoder_error':
libvpxenc.c:(.text.unlikely+0x351): undefined reference to `vpx_codec_error'
libvpxenc.c:(.text.unlikely+0x35c): undefined reference to `vpx_codec_error_detail'
../../../deps/ffmpeg/build/desktop/x86_64/lib/libavcodec.a(libvpxenc.o): In function `codecctl_int':
libvpxenc.c:(.text.unlikely+0x43a): undefined reference to `vpx_codec_control_'
../../../deps/ffmpeg/build/desktop/x86_64/lib/libavcodec.a(libvpxenc.o): In function `vpx_init':
libvpxenc.c:(.text.unlikely+0x4fb): undefined reference to `vpx_codec_get_caps'
libvpxenc.c:(.text.unlikely+0x503): undefined reference to `vpx_codec_version_str'
libvpxenc.c:(.text.unlikely+0x521): undefined reference to `vpx_codec_build_config'
libvpxenc.c:(.text.unlikely+0x563): undefined reference to `vpx_codec_enc_config_default'
libvpxenc.c:(.text.unlikely+0x573): undefined reference to `vpx_codec_err_to_string'
libvpxenc.c:(.text.unlikely+0xc2c): undefined reference to `vpx_codec_enc_init_ver'
libvpxenc.c:(.text.unlikely+0xc86): undefined reference to `vpx_codec_enc_init_ver'
libvpxenc.c:(.text.unlikely+0xffb): undefined reference to `vpx_img_wrap'
libvpxenc.c:(.text.unlikely+0x1040): undefined reference to `vpx_img_wrap'
../../../deps/ffmpeg/build/desktop/x86_64/lib/libavcodec.a(libvpxenc.o): In function `vp8_init':
libvpxenc.c:(.text.unlikely+0x10be): undefined reference to `vpx_codec_vp8_cx'
../../../deps/ffmpeg/build/desktop/x86_64/lib/libavcodec.a(libvpxenc.o): In function `vp9_init':
libvpxenc.c:(.text.unlikely+0x10d3): undefined reference to `vpx_codec_vp9_cx'
../../../deps/ffmpeg/build/desktop/x86_64/lib/libavcodec.a(libvpxenc.o): In function `vpx_free':
...

How it it possible for ubuntu to not have to rely on x264, libfdk-aacdec, libvpxdec, etc but when I use my compiled libraries I have to provide them?


Get this bounty!!!