#10999 closed defect (fixed)
Linking libavcodec fails due to undefined reference
| Reported by: | Kartatz | Owned by: | |
|---|---|---|---|
| Priority: | normal | Component: | avcodec |
| Version: | git-master | Keywords: | aac aacdec |
| Cc: | Blocked By: | ||
| Blocking: | Reproduced by developer: | no | |
| Analyzed by developer: | no |
Description
Summary of the bug:
Building FFmpeg fails on latest master due to linker error.
How to reproduce:
% ./configure \
--disable-all \
--disable-alsa \
--disable-appkit \
--disable-asm \
--disable-audiotoolbox \
--disable-avfoundation \
--disable-bzlib \
--disable-coreimage \
--disable-debug \
--disable-doc \
--disable-iconv \
--disable-libxcb \
--disable-lzma \
--disable-neon \
--disable-network \
--disable-pthreads \
--disable-schannel \
--disable-sdl2 \
--disable-securetransport \
--disable-static \
--disable-symver \
--disable-videotoolbox \
--disable-vulkan \
--disable-w32threads \
--disable-xlib \
--disable-zlib \
--enable-avcodec \
--enable-avformat \
--enable-avutil \
--enable-decoder=aac,h264 \
--enable-demuxer=aac,h264,hls,webvtt \
--enable-muxer=h264,mpegts,mp4,matroska \
--enable-parser=h264 \
--enable-pic \
--enable-protocol=file,crypto \
--enable-shared \
--enable-small \
--enable-version3 \
--extra-ldflags=-fPIC
% make
< ... build logs ... >
LD libavcodec/libavcodec.so.61
/usr/libexec/gcc/x86_64-redhat-linux/9/ld: libavcodec/aac/aacdec.o: in function `output_configure':
aacdec.c:(.text+0xcc6): undefined reference to `ff_aac_sbr_ctx_alloc_init_fixed'
/usr/libexec/gcc/x86_64-redhat-linux/9/ld: aacdec.c:(.text+0xd72): undefined reference to `ff_aac_sbr_ctx_close_fixed'
/usr/libexec/gcc/x86_64-redhat-linux/9/ld: libavcodec/aac/aacdec.o: in function `decode_close':
aacdec.c:(.text.unlikely+0x5): undefined reference to `ff_aac_sbr_ctx_close_fixed'
/usr/libexec/gcc/x86_64-redhat-linux/9/ld: libavcodec/aac/aacdec.o: relocation R_X86_64_PC32 against undefined hidden symbol `ff_aac_sbr_ctx_close_fixed' can not be used when making a shared object
/usr/libexec/gcc/x86_64-redhat-linux/9/ld: final link failed: bad value
collect2: error: ld returned 1 exit status
make: *** [/home/kartz/ffmpeg/ffbuild/library.mak:119: libavcodec/libavcodec.so.61] Error 1
git bisect points to e3693c6f564d1219d8a42d53b70225468a0a7c88 as the bad commit.
Note:
See TracTickets
for help on using tickets.



Fixed in 2eab5a1f54cd08ea8b5a2b55a805718c51b26436.