Opened 3 years ago

Closed 3 years ago

#5531 closed defect (invalid)

Compiling libx264 on CentOS 7.2 fails | "undefined reference to" errors

Reported by: SpeedyGoneZales Owned by:
Priority: normal Component: undetermined
Version: git-master Keywords:
Cc: Blocked By:
Blocking: Reproduced by developer: no
Analyzed by developer: no

Description

Summary of the bug:

Compiling libx264 according to this guide fails with the following errors:

/usr/local/lib/libavcodec.a(opusdec.o): In function `opus_decode_subpacket':
/home/toby/ffmpeg/ffmpeg/libavcodec/opusdec.c:379: undefined reference to `swr_is_initialized'
/usr/local/lib/libavcodec.a(opusdec.o): In function `opus_decode_frame':
/home/toby/ffmpeg/ffmpeg/libavcodec/opusdec.c:220: undefined reference to `swr_is_initialized'
/usr/local/lib/libavcodec.a(opusdec.o): In function `opus_init_resample':
/home/toby/ffmpeg/ffmpeg/libavcodec/opusdec.c:161: undefined reference to `swr_init'
/home/toby/ffmpeg/ffmpeg/libavcodec/opusdec.c:167: undefined reference to `swr_convert'
/usr/local/lib/libavcodec.a(opusdec.o): In function `opus_decode_frame':
/home/toby/ffmpeg/ffmpeg/libavcodec/opusdec.c:234: undefined reference to `swr_convert'
/usr/local/lib/libavcodec.a(opusdec.o): In function `opus_flush_resample':
/home/toby/ffmpeg/ffmpeg/libavcodec/opusdec.c:115: undefined reference to `swr_convert'
/usr/local/lib/libavcodec.a(opusdec.o): In function `opus_decode_subpacket':
/home/toby/ffmpeg/ffmpeg/libavcodec/opusdec.c:411: undefined reference to `swr_close'
/usr/local/lib/libavcodec.a(opusdec.o): In function `opus_decode_flush':
/home/toby/ffmpeg/ffmpeg/libavcodec/opusdec.c:614: undefined reference to `swr_close'
/usr/local/lib/libavcodec.a(opusdec.o): In function `opus_decode_close':
/home/toby/ffmpeg/ffmpeg/libavcodec/opusdec.c:638: undefined reference to `swr_free'
/usr/local/lib/libavcodec.a(opusdec.o): In function `opus_decode_init':
/home/toby/ffmpeg/ffmpeg/libavcodec/opusdec.c:708: undefined reference to `swr_alloc'
/usr/local/lib/libavcodec.a(tiff.o): In function `tiff_uncompress_lzma':
/home/toby/ffmpeg/ffmpeg/libavcodec/tiff.c:396: undefined reference to `lzma_stream_decoder'
/home/toby/ffmpeg/ffmpeg/libavcodec/tiff.c:401: undefined reference to `lzma_code'
/home/toby/ffmpeg/ffmpeg/libavcodec/tiff.c:402: undefined reference to `lzma_end'
collect2: error: ld returned 1 exit status

How to reproduce:

# PKG_CONFIG_PATH="$HOME/ffmpeg_build/lib/pkgconfig" ./configure --prefix="$HOME/ffmpeg_build" --bindir="$HOME/bin" --enable-static
platform:      X86_64
byte order:    little-endian
system:        LINUX
cli:           yes
libx264:       internal
shared:        no
static:        yes
asm:           yes
interlaced:    yes
avs:           avxsynth
lavf:          yes
ffms:          no
mp4:           no
gpl:           yes
thread:        posix
opencl:        yes
filters:       resize crop select_every 
debug:         no
gprof:         no
strip:         no
PIC:           no
bit depth:     8
chroma format: all

You can run 'make' or 'make fprofiled' now.
# make
cat common/opencl/x264-cl.h common/opencl/motionsearch.cl common/opencl/subpel.cl common/opencl/intra.cl common/opencl/weightp.cl common/opencl/downscale.cl common/opencl/bidir.cl | ./tools/cltostr.sh common/oclobj.h
dependency file generation...
gcc -Wno-maybe-uninitialized -Wshadow -O3 -ffast-math -m64  -Wall -I. -I. -std=gnu99 -D_GNU_SOURCE -mpreferred-stack-boundary=5   -fomit-frame-pointer -fno-tree-vectorize   -c -o x264.o x264.c
gcc -Wno-maybe-uninitialized -Wshadow -O3 -ffast-math -m64  -Wall -I. -I. -std=gnu99 -D_GNU_SOURCE -mpreferred-stack-boundary=5   -fomit-frame-pointer -fno-tree-vectorize   -c -o input/input.o input/input.c
gcc -Wno-maybe-uninitialized -Wshadow -O3 -ffast-math -m64  -Wall -I. -I. -std=gnu99 -D_GNU_SOURCE -mpreferred-stack-boundary=5   -fomit-frame-pointer -fno-tree-vectorize   -c -o input/timecode.o input/timecode.c
gcc -Wno-maybe-uninitialized -Wshadow -O3 -ffast-math -m64  -Wall -I. -I. -std=gnu99 -D_GNU_SOURCE -mpreferred-stack-boundary=5   -fomit-frame-pointer -fno-tree-vectorize   -c -o input/raw.o input/raw.c
gcc -Wno-maybe-uninitialized -Wshadow -O3 -ffast-math -m64  -Wall -I. -I. -std=gnu99 -D_GNU_SOURCE -mpreferred-stack-boundary=5   -fomit-frame-pointer -fno-tree-vectorize   -c -o input/y4m.o input/y4m.c
gcc -Wno-maybe-uninitialized -Wshadow -O3 -ffast-math -m64  -Wall -I. -I. -std=gnu99 -D_GNU_SOURCE -mpreferred-stack-boundary=5   -fomit-frame-pointer -fno-tree-vectorize   -c -o output/raw.o output/raw.c
gcc -Wno-maybe-uninitialized -Wshadow -O3 -ffast-math -m64  -Wall -I. -I. -std=gnu99 -D_GNU_SOURCE -mpreferred-stack-boundary=5   -fomit-frame-pointer -fno-tree-vectorize   -c -o output/matroska.o output/matroska.c
gcc -Wno-maybe-uninitialized -Wshadow -O3 -ffast-math -m64  -Wall -I. -I. -std=gnu99 -D_GNU_SOURCE -mpreferred-stack-boundary=5   -fomit-frame-pointer -fno-tree-vectorize   -c -o output/matroska_ebml.o output/matroska_ebml.c
gcc -Wno-maybe-uninitialized -Wshadow -O3 -ffast-math -m64  -Wall -I. -I. -std=gnu99 -D_GNU_SOURCE -mpreferred-stack-boundary=5   -fomit-frame-pointer -fno-tree-vectorize   -c -o output/flv.o output/flv.c
gcc -Wno-maybe-uninitialized -Wshadow -O3 -ffast-math -m64  -Wall -I. -I. -std=gnu99 -D_GNU_SOURCE -mpreferred-stack-boundary=5   -fomit-frame-pointer -fno-tree-vectorize   -c -o output/flv_bytestream.o output/flv_bytestream.c
gcc -Wno-maybe-uninitialized -Wshadow -O3 -ffast-math -m64  -Wall -I. -I. -std=gnu99 -D_GNU_SOURCE -mpreferred-stack-boundary=5   -fomit-frame-pointer -fno-tree-vectorize   -c -o filters/filters.o filters/filters.c
gcc -Wno-maybe-uninitialized -Wshadow -O3 -ffast-math -m64  -Wall -I. -I. -std=gnu99 -D_GNU_SOURCE -mpreferred-stack-boundary=5   -fomit-frame-pointer -fno-tree-vectorize   -c -o filters/video/video.o filters/video/video.c
gcc -Wno-maybe-uninitialized -Wshadow -O3 -ffast-math -m64  -Wall -I. -I. -std=gnu99 -D_GNU_SOURCE -mpreferred-stack-boundary=5   -fomit-frame-pointer -fno-tree-vectorize   -c -o filters/video/source.o filters/video/source.c
gcc -Wno-maybe-uninitialized -Wshadow -O3 -ffast-math -m64  -Wall -I. -I. -std=gnu99 -D_GNU_SOURCE -mpreferred-stack-boundary=5   -fomit-frame-pointer -fno-tree-vectorize   -c -o filters/video/internal.o filters/video/internal.c
gcc -Wno-maybe-uninitialized -Wshadow -O3 -ffast-math -m64  -Wall -I. -I. -std=gnu99 -D_GNU_SOURCE -mpreferred-stack-boundary=5   -fomit-frame-pointer -fno-tree-vectorize   -c -o filters/video/resize.o filters/video/resize.c
filters/video/resize.c: In function ‘pick_closest_supported_csp’:
filters/video/resize.c:212:9: warning: ‘depth_minus1’ is deprecated (declared at /usr/local/include/libavutil/pixdesc.h:65) [-Wdeprecated-declarations]
         if( pix_desc->comp[i].depth_minus1 >= 8 )
         ^
gcc -Wno-maybe-uninitialized -Wshadow -O3 -ffast-math -m64  -Wall -I. -I. -std=gnu99 -D_GNU_SOURCE -mpreferred-stack-boundary=5   -fomit-frame-pointer -fno-tree-vectorize   -c -o filters/video/cache.o filters/video/cache.c
gcc -Wno-maybe-uninitialized -Wshadow -O3 -ffast-math -m64  -Wall -I. -I. -std=gnu99 -D_GNU_SOURCE -mpreferred-stack-boundary=5   -fomit-frame-pointer -fno-tree-vectorize   -c -o filters/video/fix_vfr_pts.o filters/video/fix_vfr_pts.c
gcc -Wno-maybe-uninitialized -Wshadow -O3 -ffast-math -m64  -Wall -I. -I. -std=gnu99 -D_GNU_SOURCE -mpreferred-stack-boundary=5   -fomit-frame-pointer -fno-tree-vectorize   -c -o filters/video/select_every.o filters/video/select_every.c
gcc -Wno-maybe-uninitialized -Wshadow -O3 -ffast-math -m64  -Wall -I. -I. -std=gnu99 -D_GNU_SOURCE -mpreferred-stack-boundary=5   -fomit-frame-pointer -fno-tree-vectorize   -c -o filters/video/crop.o filters/video/crop.c
gcc -Wno-maybe-uninitialized -Wshadow -O3 -ffast-math -m64  -Wall -I. -I. -std=gnu99 -D_GNU_SOURCE -mpreferred-stack-boundary=5   -fomit-frame-pointer -fno-tree-vectorize   -c -o filters/video/depth.o filters/video/depth.c
gcc -Wno-maybe-uninitialized -Wshadow -O3 -ffast-math -m64  -Wall -I. -I. -std=gnu99 -D_GNU_SOURCE -mpreferred-stack-boundary=5   -fomit-frame-pointer -fno-tree-vectorize   -c -o input/avs.o input/avs.c
gcc -Wno-maybe-uninitialized -Wshadow -O3 -ffast-math -m64  -Wall -I. -I. -std=gnu99 -D_GNU_SOURCE -mpreferred-stack-boundary=5   -fomit-frame-pointer -fno-tree-vectorize   -c -o input/thread.o input/thread.c
gcc -Wno-maybe-uninitialized -Wshadow -O3 -ffast-math -m64  -Wall -I. -I. -std=gnu99 -D_GNU_SOURCE -mpreferred-stack-boundary=5   -fomit-frame-pointer -fno-tree-vectorize   -c -o input/lavf.o input/lavf.c
input/lavf.c: In function ‘read_frame_internal’:
input/lavf.c:75:5: warning: ‘codec’ is deprecated (declared at /usr/local/include/libavformat/avformat.h:880) [-Wdeprecated-declarations]
     AVCodecContext *c = h->lavf->streams[h->stream_id]->codec;
     ^
input/lavf.c:99:17: warning: ‘avcodec_decode_video2’ is deprecated (declared at /usr/local/include/libavcodec/avcodec.h:4733) [-Wdeprecated-declarations]
                 if( avcodec_decode_video2( c, h->frame, &finished, &pkt ) < 0 )
                 ^
input/lavf.c:104:17: warning: ‘av_free_packet’ is deprecated (declared at /usr/local/include/libavcodec/avcodec.h:4394) [-Wdeprecated-declarations]
                 av_free_packet( &pkt );
                 ^
input/lavf.c: In function ‘open_file’:
input/lavf.c:177:5: warning: ‘codec’ is deprecated (declared at /usr/local/include/libavformat/avformat.h:880) [-Wdeprecated-declarations]
     while( i < h->lavf->nb_streams && h->lavf->streams[i]->codec->codec_type != AVMEDIA_TYPE_VIDEO )
     ^
input/lavf.c:182:5: warning: ‘codec’ is deprecated (declared at /usr/local/include/libavformat/avformat.h:880) [-Wdeprecated-declarations]
     AVCodecContext *c  = h->lavf->streams[i]->codec;
     ^
input/lavf.c: In function ‘close_file’:
input/lavf.c:240:5: warning: ‘codec’ is deprecated (declared at /usr/local/include/libavformat/avformat.h:880) [-Wdeprecated-declarations]
     avcodec_close( h->lavf->streams[h->stream_id]->codec );
     ^
gcc -Wno-maybe-uninitialized -Wshadow -O3 -ffast-math -m64  -Wall -I. -I. -std=gnu99 -D_GNU_SOURCE -mpreferred-stack-boundary=5   -fomit-frame-pointer -fno-tree-vectorize   -c -o common/mc.o common/mc.c
gcc -Wno-maybe-uninitialized -Wshadow -O3 -ffast-math -m64  -Wall -I. -I. -std=gnu99 -D_GNU_SOURCE -mpreferred-stack-boundary=5   -fomit-frame-pointer -fno-tree-vectorize   -c -o common/predict.o common/predict.c
gcc -Wno-maybe-uninitialized -Wshadow -O3 -ffast-math -m64  -Wall -I. -I. -std=gnu99 -D_GNU_SOURCE -mpreferred-stack-boundary=5   -fomit-frame-pointer -fno-tree-vectorize   -c -o common/pixel.o common/pixel.c
gcc -Wno-maybe-uninitialized -Wshadow -O3 -ffast-math -m64  -Wall -I. -I. -std=gnu99 -D_GNU_SOURCE -mpreferred-stack-boundary=5   -fomit-frame-pointer -fno-tree-vectorize   -c -o common/macroblock.o common/macroblock.c
gcc -Wno-maybe-uninitialized -Wshadow -O3 -ffast-math -m64  -Wall -I. -I. -std=gnu99 -D_GNU_SOURCE -mpreferred-stack-boundary=5   -fomit-frame-pointer -fno-tree-vectorize   -c -o common/frame.o common/frame.c
gcc -Wno-maybe-uninitialized -Wshadow -O3 -ffast-math -m64  -Wall -I. -I. -std=gnu99 -D_GNU_SOURCE -mpreferred-stack-boundary=5   -fomit-frame-pointer -fno-tree-vectorize   -c -o common/dct.o common/dct.c
gcc -Wno-maybe-uninitialized -Wshadow -O3 -ffast-math -m64  -Wall -I. -I. -std=gnu99 -D_GNU_SOURCE -mpreferred-stack-boundary=5   -fomit-frame-pointer -fno-tree-vectorize   -c -o common/cpu.o common/cpu.c
gcc -Wno-maybe-uninitialized -Wshadow -O3 -ffast-math -m64  -Wall -I. -I. -std=gnu99 -D_GNU_SOURCE -mpreferred-stack-boundary=5   -fomit-frame-pointer -fno-tree-vectorize   -c -o common/cabac.o common/cabac.c
gcc -Wno-maybe-uninitialized -Wshadow -O3 -ffast-math -m64  -Wall -I. -I. -std=gnu99 -D_GNU_SOURCE -mpreferred-stack-boundary=5   -fomit-frame-pointer -fno-tree-vectorize   -c -o common/common.o common/common.c
gcc -Wno-maybe-uninitialized -Wshadow -O3 -ffast-math -m64  -Wall -I. -I. -std=gnu99 -D_GNU_SOURCE -mpreferred-stack-boundary=5   -fomit-frame-pointer -fno-tree-vectorize   -c -o common/osdep.o common/osdep.c
gcc -Wno-maybe-uninitialized -Wshadow -O3 -ffast-math -m64  -Wall -I. -I. -std=gnu99 -D_GNU_SOURCE -mpreferred-stack-boundary=5   -fomit-frame-pointer -fno-tree-vectorize   -c -o common/rectangle.o common/rectangle.c
gcc -Wno-maybe-uninitialized -Wshadow -O3 -ffast-math -m64  -Wall -I. -I. -std=gnu99 -D_GNU_SOURCE -mpreferred-stack-boundary=5   -fomit-frame-pointer -fno-tree-vectorize   -c -o common/set.o common/set.c
gcc -Wno-maybe-uninitialized -Wshadow -O3 -ffast-math -m64  -Wall -I. -I. -std=gnu99 -D_GNU_SOURCE -mpreferred-stack-boundary=5   -fomit-frame-pointer -fno-tree-vectorize   -c -o common/quant.o common/quant.c
gcc -Wno-maybe-uninitialized -Wshadow -O3 -ffast-math -m64  -Wall -I. -I. -std=gnu99 -D_GNU_SOURCE -mpreferred-stack-boundary=5   -fomit-frame-pointer -fno-tree-vectorize   -c -o common/deblock.o common/deblock.c
gcc -Wno-maybe-uninitialized -Wshadow -O3 -ffast-math -m64  -Wall -I. -I. -std=gnu99 -D_GNU_SOURCE -mpreferred-stack-boundary=5   -fomit-frame-pointer -fno-tree-vectorize   -c -o common/vlc.o common/vlc.c
gcc -Wno-maybe-uninitialized -Wshadow -O3 -ffast-math -m64  -Wall -I. -I. -std=gnu99 -D_GNU_SOURCE -mpreferred-stack-boundary=5   -fomit-frame-pointer -fno-tree-vectorize   -c -o common/mvpred.o common/mvpred.c
gcc -Wno-maybe-uninitialized -Wshadow -O3 -ffast-math -m64  -Wall -I. -I. -std=gnu99 -D_GNU_SOURCE -mpreferred-stack-boundary=5   -fomit-frame-pointer -fno-tree-vectorize   -c -o common/bitstream.o common/bitstream.c
gcc -Wno-maybe-uninitialized -Wshadow -O3 -ffast-math -m64  -Wall -I. -I. -std=gnu99 -D_GNU_SOURCE -mpreferred-stack-boundary=5   -fomit-frame-pointer -fno-tree-vectorize   -c -o encoder/analyse.o encoder/analyse.c
gcc -Wno-maybe-uninitialized -Wshadow -O3 -ffast-math -m64  -Wall -I. -I. -std=gnu99 -D_GNU_SOURCE -mpreferred-stack-boundary=5   -fomit-frame-pointer -fno-tree-vectorize   -c -o encoder/me.o encoder/me.c
gcc -Wno-maybe-uninitialized -Wshadow -O3 -ffast-math -m64  -Wall -I. -I. -std=gnu99 -D_GNU_SOURCE -mpreferred-stack-boundary=5   -fomit-frame-pointer -fno-tree-vectorize   -c -o encoder/ratecontrol.o encoder/ratecontrol.c
gcc -Wno-maybe-uninitialized -Wshadow -O3 -ffast-math -m64  -Wall -I. -I. -std=gnu99 -D_GNU_SOURCE -mpreferred-stack-boundary=5   -fomit-frame-pointer -fno-tree-vectorize   -c -o encoder/set.o encoder/set.c
gcc -Wno-maybe-uninitialized -Wshadow -O3 -ffast-math -m64  -Wall -I. -I. -std=gnu99 -D_GNU_SOURCE -mpreferred-stack-boundary=5   -fomit-frame-pointer -fno-tree-vectorize   -c -o encoder/macroblock.o encoder/macroblock.c
gcc -Wno-maybe-uninitialized -Wshadow -O3 -ffast-math -m64  -Wall -I. -I. -std=gnu99 -D_GNU_SOURCE -mpreferred-stack-boundary=5   -fomit-frame-pointer -fno-tree-vectorize   -c -o encoder/cabac.o encoder/cabac.c
gcc -Wno-maybe-uninitialized -Wshadow -O3 -ffast-math -m64  -Wall -I. -I. -std=gnu99 -D_GNU_SOURCE -mpreferred-stack-boundary=5   -fomit-frame-pointer -fno-tree-vectorize   -c -o encoder/cavlc.o encoder/cavlc.c
gcc -Wno-maybe-uninitialized -Wshadow -O3 -ffast-math -m64  -Wall -I. -I. -std=gnu99 -D_GNU_SOURCE -mpreferred-stack-boundary=5   -fomit-frame-pointer -fno-tree-vectorize   -c -o encoder/encoder.o encoder/encoder.c
gcc -Wno-maybe-uninitialized -Wshadow -O3 -ffast-math -m64  -Wall -I. -I. -std=gnu99 -D_GNU_SOURCE -mpreferred-stack-boundary=5   -fomit-frame-pointer -fno-tree-vectorize   -c -o encoder/lookahead.o encoder/lookahead.c
gcc -Wno-maybe-uninitialized -Wshadow -O3 -ffast-math -m64  -Wall -I. -I. -std=gnu99 -D_GNU_SOURCE -mpreferred-stack-boundary=5   -fomit-frame-pointer -fno-tree-vectorize   -c -o common/threadpool.o common/threadpool.c
gcc -Wno-maybe-uninitialized -Wshadow -O3 -ffast-math -m64  -Wall -I. -I. -std=gnu99 -D_GNU_SOURCE -mpreferred-stack-boundary=5   -fomit-frame-pointer -fno-tree-vectorize   -c -o common/x86/mc-c.o common/x86/mc-c.c
gcc -Wno-maybe-uninitialized -Wshadow -O3 -ffast-math -m64  -Wall -I. -I. -std=gnu99 -D_GNU_SOURCE -mpreferred-stack-boundary=5   -fomit-frame-pointer -fno-tree-vectorize   -c -o common/x86/predict-c.o common/x86/predict-c.c
gcc -Wno-maybe-uninitialized -Wshadow -O3 -ffast-math -m64  -Wall -I. -I. -std=gnu99 -D_GNU_SOURCE -mpreferred-stack-boundary=5   -fomit-frame-pointer -fno-tree-vectorize   -c -o common/opencl.o common/opencl.c
gcc -Wno-maybe-uninitialized -Wshadow -O3 -ffast-math -m64  -Wall -I. -I. -std=gnu99 -D_GNU_SOURCE -mpreferred-stack-boundary=5   -fomit-frame-pointer -fno-tree-vectorize   -c -o encoder/slicetype-cl.o encoder/slicetype-cl.c
yasm -I. -I. -DARCH_X86_64=1 -I./common/x86/ -f elf64 -Worphan-labels -DSTACK_ALIGNMENT=32 -DHIGH_BIT_DEPTH=0 -DBIT_DEPTH=8 -o common/x86/const-a.o common/x86/const-a.asm
yasm -I. -I. -DARCH_X86_64=1 -I./common/x86/ -f elf64 -Worphan-labels -DSTACK_ALIGNMENT=32 -DHIGH_BIT_DEPTH=0 -DBIT_DEPTH=8 -o common/x86/cabac-a.o common/x86/cabac-a.asm
yasm -I. -I. -DARCH_X86_64=1 -I./common/x86/ -f elf64 -Worphan-labels -DSTACK_ALIGNMENT=32 -DHIGH_BIT_DEPTH=0 -DBIT_DEPTH=8 -o common/x86/dct-a.o common/x86/dct-a.asm
yasm -I. -I. -DARCH_X86_64=1 -I./common/x86/ -f elf64 -Worphan-labels -DSTACK_ALIGNMENT=32 -DHIGH_BIT_DEPTH=0 -DBIT_DEPTH=8 -o common/x86/deblock-a.o common/x86/deblock-a.asm
yasm -I. -I. -DARCH_X86_64=1 -I./common/x86/ -f elf64 -Worphan-labels -DSTACK_ALIGNMENT=32 -DHIGH_BIT_DEPTH=0 -DBIT_DEPTH=8 -o common/x86/mc-a.o common/x86/mc-a.asm
yasm -I. -I. -DARCH_X86_64=1 -I./common/x86/ -f elf64 -Worphan-labels -DSTACK_ALIGNMENT=32 -DHIGH_BIT_DEPTH=0 -DBIT_DEPTH=8 -o common/x86/mc-a2.o common/x86/mc-a2.asm
yasm -I. -I. -DARCH_X86_64=1 -I./common/x86/ -f elf64 -Worphan-labels -DSTACK_ALIGNMENT=32 -DHIGH_BIT_DEPTH=0 -DBIT_DEPTH=8 -o common/x86/pixel-a.o common/x86/pixel-a.asm
yasm -I. -I. -DARCH_X86_64=1 -I./common/x86/ -f elf64 -Worphan-labels -DSTACK_ALIGNMENT=32 -DHIGH_BIT_DEPTH=0 -DBIT_DEPTH=8 -o common/x86/predict-a.o common/x86/predict-a.asm
yasm -I. -I. -DARCH_X86_64=1 -I./common/x86/ -f elf64 -Worphan-labels -DSTACK_ALIGNMENT=32 -DHIGH_BIT_DEPTH=0 -DBIT_DEPTH=8 -o common/x86/quant-a.o common/x86/quant-a.asm
yasm -I. -I. -DARCH_X86_64=1 -I./common/x86/ -f elf64 -Worphan-labels -DSTACK_ALIGNMENT=32 -DHIGH_BIT_DEPTH=0 -DBIT_DEPTH=8 -o common/x86/cpu-a.o common/x86/cpu-a.asm
yasm -I. -I. -DARCH_X86_64=1 -I./common/x86/ -f elf64 -Worphan-labels -DSTACK_ALIGNMENT=32 -DHIGH_BIT_DEPTH=0 -DBIT_DEPTH=8 -o common/x86/dct-64.o common/x86/dct-64.asm
yasm -I. -I. -DARCH_X86_64=1 -I./common/x86/ -f elf64 -Worphan-labels -DSTACK_ALIGNMENT=32 -DHIGH_BIT_DEPTH=0 -DBIT_DEPTH=8 -o common/x86/bitstream-a.o common/x86/bitstream-a.asm
yasm -I. -I. -DARCH_X86_64=1 -I./common/x86/ -f elf64 -Worphan-labels -DSTACK_ALIGNMENT=32 -DHIGH_BIT_DEPTH=0 -DBIT_DEPTH=8 -o common/x86/sad-a.o common/x86/sad-a.asm
yasm -I. -I. -DARCH_X86_64=1 -I./common/x86/ -f elf64 -Worphan-labels -DSTACK_ALIGNMENT=32 -DHIGH_BIT_DEPTH=0 -DBIT_DEPTH=8 -o common/x86/trellis-64.o common/x86/trellis-64.asm
rm -f libx264.a
ar rc libx264.a  common/mc.o common/predict.o common/pixel.o common/macroblock.o common/frame.o common/dct.o common/cpu.o common/cabac.o common/common.o common/osdep.o common/rectangle.o common/set.o common/quant.o common/deblock.o common/vlc.o common/mvpred.o common/bitstream.o encoder/analyse.o encoder/me.o encoder/ratecontrol.o encoder/set.o encoder/macroblock.o encoder/cabac.o encoder/cavlc.o encoder/encoder.o encoder/lookahead.o common/threadpool.o common/x86/mc-c.o common/x86/predict-c.o common/opencl.o encoder/slicetype-cl.o common/x86/const-a.o common/x86/cabac-a.o common/x86/dct-a.o common/x86/deblock-a.o common/x86/mc-a.o common/x86/mc-a2.o common/x86/pixel-a.o common/x86/predict-a.o common/x86/quant-a.o common/x86/cpu-a.o common/x86/dct-64.o common/x86/bitstream-a.o common/x86/sad-a.o common/x86/trellis-64.o
ranlib libx264.a
gcc -o x264  x264.o input/input.o input/timecode.o input/raw.o input/y4m.o output/raw.o output/matroska.o output/matroska_ebml.o output/flv.o output/flv_bytestream.o filters/filters.o filters/video/video.o filters/video/source.o filters/video/internal.o filters/video/resize.o filters/video/cache.o filters/video/fix_vfr_pts.o filters/video/select_every.o filters/video/crop.o filters/video/depth.o input/avs.o input/thread.o input/lavf.o libx264.a -ldl -L. -lavformat -lavcodec -lswscale -lavutil -lm -lz -lpthread -lswscale -lavutil  -m64  -lm -lpthread -ldl
/usr/local/lib/libavcodec.a(opusdec.o): In function `opus_decode_subpacket':
/home/toby/ffmpeg/ffmpeg/libavcodec/opusdec.c:379: undefined reference to `swr_is_initialized'
/usr/local/lib/libavcodec.a(opusdec.o): In function `opus_decode_frame':
/home/toby/ffmpeg/ffmpeg/libavcodec/opusdec.c:220: undefined reference to `swr_is_initialized'
/usr/local/lib/libavcodec.a(opusdec.o): In function `opus_init_resample':
/home/toby/ffmpeg/ffmpeg/libavcodec/opusdec.c:161: undefined reference to `swr_init'
/home/toby/ffmpeg/ffmpeg/libavcodec/opusdec.c:167: undefined reference to `swr_convert'
/usr/local/lib/libavcodec.a(opusdec.o): In function `opus_decode_frame':
/home/toby/ffmpeg/ffmpeg/libavcodec/opusdec.c:234: undefined reference to `swr_convert'
/usr/local/lib/libavcodec.a(opusdec.o): In function `opus_flush_resample':
/home/toby/ffmpeg/ffmpeg/libavcodec/opusdec.c:115: undefined reference to `swr_convert'
/usr/local/lib/libavcodec.a(opusdec.o): In function `opus_decode_subpacket':
/home/toby/ffmpeg/ffmpeg/libavcodec/opusdec.c:411: undefined reference to `swr_close'
/usr/local/lib/libavcodec.a(opusdec.o): In function `opus_decode_flush':
/home/toby/ffmpeg/ffmpeg/libavcodec/opusdec.c:614: undefined reference to `swr_close'
/usr/local/lib/libavcodec.a(opusdec.o): In function `opus_decode_close':
/home/toby/ffmpeg/ffmpeg/libavcodec/opusdec.c:638: undefined reference to `swr_free'
/usr/local/lib/libavcodec.a(opusdec.o): In function `opus_decode_init':
/home/toby/ffmpeg/ffmpeg/libavcodec/opusdec.c:708: undefined reference to `swr_alloc'
/usr/local/lib/libavcodec.a(tiff.o): In function `tiff_uncompress_lzma':
/home/toby/ffmpeg/ffmpeg/libavcodec/tiff.c:396: undefined reference to `lzma_stream_decoder'
/home/toby/ffmpeg/ffmpeg/libavcodec/tiff.c:401: undefined reference to `lzma_code'
/home/toby/ffmpeg/ffmpeg/libavcodec/tiff.c:402: undefined reference to `lzma_end'
collect2: error: ld returned 1 exit status
make: *** [x264] Error 1

I've installed various lzma packages, am at my whit's end.
Would be grateful for help, or bugfix if bug.
Many thanks,
Speedy

Change History (2)

comment:1 Changed 3 years ago by heleppkes

Issues when building libx264 should be reported to the x264 project, not to ffmpeg.

comment:2 Changed 3 years ago by cehoyos

  • Component changed from avcodec to undetermined
  • Keywords libx264 libavcodec removed
  • Resolution set to invalid
  • Status changed from new to closed
Note: See TracTickets for help on using tickets.