Opened 13 days ago

Closed 12 days ago

Last modified 10 days ago

#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.

Change History (2)

comment:1 by mkver, 12 days ago

Resolution: fixed
Status: newclosed

comment:2 by Kartatz, 10 days ago

Thanks!

Note: See TracTickets for help on using tickets.