[FFmpeg-user] Failed to build ffmpeg-git from source on Debian/testing

Sven C. Dack sven.c.dack at sky.com
Sat Oct 8 05:16:37 EEST 2016


On 08/10/16 00:51, Alexey Eromenko wrote:
> Downloaded ffmpeg-git + installed all build-dependencies:
>
> The configuration was copied over from Debian. (ffmpeg has too much
> external libraries and dependencies to choose one-by-one).
>
> ffmpeg-git configure step:
> http://pastebin.com/jYv0RujW
>
>
> # make
> ...
> CC      libswresample/options.o
> CC      libswresample/rematrix.o
> libswresample/rematrix.c: In function ‘auto_matrix’:
> libswresample/rematrix.c:378:47: warning: iteration 64 invokes
> undefined behavior [-Waggressive-loop-optimizations]
>               s->matrix_flt[0][i] = s->matrix[0][i];
>                                     ~~~~~~~~~~~~^~~
> libswresample/rematrix.c:377:9: note: within this loop
>           for (i = 0; i <
> FF_ARRAY_ELEMS(s->matrix[0])*FF_ARRAY_ELEMS(s->matrix[0]); i++)
>           ^~~
> CC      libswresample/resample.o
> CC      libswresample/resample_dsp.o
> CC      libswresample/soxr_resample.o
> CC      libswresample/swresample.o
> CC      libswresample/swresample_frame.o
> YASM    libswresample/x86/audio_convert.o
> STRIP   libswresample/x86/audio_convert.o
> skipping strip -wN ..@* libswresample/x86/audio_convert.o
> CC      libswresample/x86/audio_convert_init.o
> YASM    libswresample/x86/rematrix.o
> STRIP   libswresample/x86/rematrix.o
> skipping strip -wN ..@* libswresample/x86/rematrix.o
> CC      libswresample/x86/rematrix_init.o
> YASM    libswresample/x86/resample.o
> STRIP   libswresample/x86/resample.o
> skipping strip -wN ..@* libswresample/x86/resample.o
> CC      libswresample/x86/resample_init.o
> GEN     libswresample/libswresample.ver
> LD      libswresample/libswresample.so.2
> LD      libavcodec/libavcodec.so.57
> libavcodec/libopenjpegenc.o: In function `libopenjpeg_encode_frame':
> /root/ffmpeg/libavcodec/libopenjpegenc.c:705: undefined reference to
> `opj_create_compress'
> /root/ffmpeg/libavcodec/libopenjpegenc.c:716: undefined reference to
> `opj_set_error_handler'
> /root/ffmpeg/libavcodec/libopenjpegenc.c:717: undefined reference to
> `opj_set_warning_handler'
> /root/ffmpeg/libavcodec/libopenjpegenc.c:785: undefined reference to
> `opj_stream_destroy'
> /root/ffmpeg/libavcodec/libopenjpegenc.c:786: undefined reference to
> `opj_destroy_codec'
> /root/ffmpeg/libavcodec/libopenjpegenc.c:718: undefined reference to
> `opj_set_info_handler'
> /root/ffmpeg/libavcodec/libopenjpegenc.c:724: undefined reference to
> `opj_setup_encoder'
> /root/ffmpeg/libavcodec/libopenjpegenc.c:729: undefined reference to
> `opj_stream_default_create'
> /root/ffmpeg/libavcodec/libopenjpegenc.c:757: undefined reference to
> `opj_stream_set_write_function'
> /root/ffmpeg/libavcodec/libopenjpegenc.c:758: undefined reference to
> `opj_stream_set_skip_function'
> /root/ffmpeg/libavcodec/libopenjpegenc.c:759: undefined reference to
> `opj_stream_set_seek_function'
> /root/ffmpeg/libavcodec/libopenjpegenc.c:761: undefined reference to
> `opj_stream_set_user_data'
> /root/ffmpeg/libavcodec/libopenjpegenc.c:768: undefined reference to
> `opj_start_compress'
> /root/ffmpeg/libavcodec/libopenjpegenc.c:769: undefined reference to
> `opj_encode'
> /root/ffmpeg/libavcodec/libopenjpegenc.c:770: undefined reference to
> `opj_end_compress'
> libavcodec/libopenjpegenc.o: In function `libopenjpeg_encode_close':
> /root/ffmpeg/libavcodec/libopenjpegenc.c:798: undefined reference to
> `opj_image_destroy'
> libavcodec/libopenjpegenc.o: In function `libopenjpeg_encode_init':
> /root/ffmpeg/libavcodec/libopenjpegenc.c:307: undefined reference to
> `opj_set_default_encoder_parameters'
> /root/ffmpeg/libavcodec/libopenjpegenc.c:384: undefined reference to
> `opj_image_destroy'
> libavcodec/libopenjpegenc.o: In function `mj2_create_image':
> /root/ffmpeg/libavcodec/libopenjpegenc.c:287: undefined reference to
> `opj_image_create'
> /usr/bin/ld: libavcodec/libavcodec.so.57: hidden symbol
> `opj_stream_set_write_function' isn't defined
> /usr/bin/ld: final link failed: Bad value
> collect2: error: ld returned 1 exit status
> library.mak:102: recipe for target 'libavcodec/libavcodec.so.57' failed
> make: *** [libavcodec/libavcodec.so.57] Error 1
>
> If compiler doesn't like "libavcodec", then why configure step succeeded ?
>
> Any ideas ?

You need libopenjpeg or change your configure arguments.

configure ... --disable-decoder=libopenjpeg ... --enable-libopenjpeg ...

You probably want to remove the "--enable" bit.



More information about the ffmpeg-user mailing list