Summary: | =media-video/ffmpeg-3.1.5 can't link properly when USE="jpeg2k" | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | Paolo Pedroni <paolo.pedroni> |
Component: | Current packages | Assignee: | Gentoo Media-video project <media-video> |
Status: | RESOLVED FIXED | ||
Severity: | normal | CC: | jstein, steffen |
Priority: | Normal | ||
Version: | unspecified | ||
Hardware: | All | ||
OS: | Linux | ||
See Also: | https://trac.ffmpeg.org/ticket/5909 | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- | |
Attachments: | ffmpeg-3.1.5:20161025-081147.log.gz |
Description
Paolo Pedroni
2016-10-25 08:58:55 UTC
On a pure 64bit build (ABI_X86="64") the error is slightly different: x86_64-pc-linux-gnu-gcc -shared -Wl,-soname,libavcodec.so.57 -Wl,-Bsymbolic -Wl,--version-script,libavcodec/libavcodec.ver -Llibavcodec -Llibavdevice -Llibavfilter -Llibavformat -Llibavresample -Llibavutil -Llibpostproc -Llibswscale -Llibswresample -Wl,-O1 -Wl,--as-needed -Wl,--hash-style=gnu -Wl,--sort-common -flto=8 -fuse-linker-plugin -floop-interchange -ftree-loop-distribution -floop-strip-mine -floop-block -fgraphite-identity -ftree-vectorize -fno-loop-interchange -fno-tree-loop-distribution -fno-tree-vectorize -fno-loop-strip-mine -fno-loop-block -fno-graphite-identity -march=sandybridge -Wl,--as-needed -Wl,-z,noexecstack -Wl,--warn-common -Wl,-rpath-link=libpostproc:libswresample:libswscale:libavfilter:libavdevice:libavformat:libavcodec:libavutil:libavresample -flto -march=sandybridge -O2 -pipe -march=sandybridge -msahf --param l1-cache-size=32 --param l1-cache-line-size=64 --param l2-cache-size=8192 -flto=8 -fuse-linker-plugin -floop-interchange -ftree-loop-distribution -floop-strip-mine -floop-block -fgraphite-identity -ftree-vectorize -fno-loop-interchange -fno-tree-loop-distribution -fno-tree-vectorize -fno-loop-strip-mine -fno-loop-block -fno-graphite-identity -fno-math-errno -fno-signed-zeros -fno-tree-vectorize -o libavcodec/libavcodec.so.57 libavcodec/012v.o libavcodec/4xm.o [...several lines of libraries to link...] /usr/lib/gcc/x86_64-pc-linux-gnu/5.4.0/../../../../x86_64-pc-linux-gnu/bin/ld: error: /var/tmp/portage/media-video/ffmpeg-3.1.5/temp/ccgz0epr.ltrans21.ltrans.o: requires dynamic R_X86_64_PC32 reloc against 'opj_create_decompress' which may overflow at runtime; recompile with -fPIC /usr/lib/gcc/x86_64-pc-linux-gnu/5.4.0/../../../../x86_64-pc-linux-gnu/bin/ld: error: /var/tmp/portage/media-video/ffmpeg-3.1.5/temp/ccgz0epr.ltrans21.ltrans.o: requires dynamic R_X86_64_PC32 reloc against 'opj_set_default_encoder_parameters' which may overflow at runtime; recompile with -fPIC /usr/lib/gcc/x86_64-pc-linux-gnu/5.4.0/../../../../x86_64-pc-linux-gnu/bin/ld: error: hidden symbol 'opj_create_decompress' is not defined locally /usr/lib/gcc/x86_64-pc-linux-gnu/5.4.0/../../../../x86_64-pc-linux-gnu/bin/ld: error: hidden symbol 'opj_set_error_handler' is not defined locally /usr/lib/gcc/x86_64-pc-linux-gnu/5.4.0/../../../../x86_64-pc-linux-gnu/bin/ld: error: hidden symbol 'opj_set_warning_handler' is not defined locally /usr/lib/gcc/x86_64-pc-linux-gnu/5.4.0/../../../../x86_64-pc-linux-gnu/bin/ld: error: hidden symbol 'opj_set_info_handler' is not defined locally /usr/lib/gcc/x86_64-pc-linux-gnu/5.4.0/../../../../x86_64-pc-linux-gnu/bin/ld: error: hidden symbol 'opj_setup_decoder' is not defined locally /usr/lib/gcc/x86_64-pc-linux-gnu/5.4.0/../../../../x86_64-pc-linux-gnu/bin/ld: error: hidden symbol 'opj_stream_default_create' is not defined locally /usr/lib/gcc/x86_64-pc-linux-gnu/5.4.0/../../../../x86_64-pc-linux-gnu/bin/ld: error: hidden symbol 'opj_stream_set_read_function' is not defined locally /usr/lib/gcc/x86_64-pc-linux-gnu/5.4.0/../../../../x86_64-pc-linux-gnu/bin/ld: error: hidden symbol 'opj_stream_set_skip_function' is not defined locally /usr/lib/gcc/x86_64-pc-linux-gnu/5.4.0/../../../../x86_64-pc-linux-gnu/bin/ld: error: hidden symbol 'opj_stream_set_seek_function' is not defined locally /usr/lib/gcc/x86_64-pc-linux-gnu/5.4.0/../../../../x86_64-pc-linux-gnu/bin/ld: error: hidden symbol 'opj_stream_set_user_data' is not defined locally /usr/lib/gcc/x86_64-pc-linux-gnu/5.4.0/../../../../x86_64-pc-linux-gnu/bin/ld: error: hidden symbol 'opj_stream_set_user_data_length' is not defined locally /usr/lib/gcc/x86_64-pc-linux-gnu/5.4.0/../../../../x86_64-pc-linux-gnu/bin/ld: error: hidden symbol 'opj_read_header' is not defined locally /usr/lib/gcc/x86_64-pc-linux-gnu/5.4.0/../../../../x86_64-pc-linux-gnu/bin/ld: error: hidden symbol 'opj_create_decompress' is not defined locally /usr/lib/gcc/x86_64-pc-linux-gnu/5.4.0/../../../../x86_64-pc-linux-gnu/bin/ld: error: hidden symbol 'opj_image_destroy' is not defined locally /usr/lib/gcc/x86_64-pc-linux-gnu/5.4.0/../../../../x86_64-pc-linux-gnu/bin/ld: error: hidden symbol 'opj_stream_destroy' is not defined locally /usr/lib/gcc/x86_64-pc-linux-gnu/5.4.0/../../../../x86_64-pc-linux-gnu/bin/ld: error: hidden symbol 'opj_destroy_codec' is not defined locally /usr/lib/gcc/x86_64-pc-linux-gnu/5.4.0/../../../../x86_64-pc-linux-gnu/bin/ld: error: hidden symbol 'opj_decode' is not defined locally /usr/lib/gcc/x86_64-pc-linux-gnu/5.4.0/../../../../x86_64-pc-linux-gnu/bin/ld: error: hidden symbol 'opj_image_create' is not defined locally /usr/lib/gcc/x86_64-pc-linux-gnu/5.4.0/../../../../x86_64-pc-linux-gnu/bin/ld: error: hidden symbol 'opj_stream_destroy' is not defined locally /usr/lib/gcc/x86_64-pc-linux-gnu/5.4.0/../../../../x86_64-pc-linux-gnu/bin/ld: error: hidden symbol 'opj_destroy_codec' is not defined locally /usr/lib/gcc/x86_64-pc-linux-gnu/5.4.0/../../../../x86_64-pc-linux-gnu/bin/ld: error: hidden symbol 'opj_image_destroy' is not defined locally /usr/lib/gcc/x86_64-pc-linux-gnu/5.4.0/../../../../x86_64-pc-linux-gnu/bin/ld: error: hidden symbol 'opj_create_compress' is not defined locally /usr/lib/gcc/x86_64-pc-linux-gnu/5.4.0/../../../../x86_64-pc-linux-gnu/bin/ld: error: hidden symbol 'opj_set_error_handler' is not defined locally /usr/lib/gcc/x86_64-pc-linux-gnu/5.4.0/../../../../x86_64-pc-linux-gnu/bin/ld: error: hidden symbol 'opj_set_warning_handler' is not defined locally /usr/lib/gcc/x86_64-pc-linux-gnu/5.4.0/../../../../x86_64-pc-linux-gnu/bin/ld: error: hidden symbol 'opj_set_info_handler' is not defined locally /usr/lib/gcc/x86_64-pc-linux-gnu/5.4.0/../../../../x86_64-pc-linux-gnu/bin/ld: error: hidden symbol 'opj_setup_encoder' is not defined locally /usr/lib/gcc/x86_64-pc-linux-gnu/5.4.0/../../../../x86_64-pc-linux-gnu/bin/ld: error: hidden symbol 'opj_stream_default_create' is not defined locally /usr/lib/gcc/x86_64-pc-linux-gnu/5.4.0/../../../../x86_64-pc-linux-gnu/bin/ld: error: hidden symbol 'opj_stream_set_write_function' is not defined locally /usr/lib/gcc/x86_64-pc-linux-gnu/5.4.0/../../../../x86_64-pc-linux-gnu/bin/ld: error: hidden symbol 'opj_stream_set_skip_function' is not defined locally /usr/lib/gcc/x86_64-pc-linux-gnu/5.4.0/../../../../x86_64-pc-linux-gnu/bin/ld: error: hidden symbol 'opj_stream_set_seek_function' is not defined locally /usr/lib/gcc/x86_64-pc-linux-gnu/5.4.0/../../../../x86_64-pc-linux-gnu/bin/ld: error: hidden symbol 'opj_stream_set_user_data' is not defined locally /usr/lib/gcc/x86_64-pc-linux-gnu/5.4.0/../../../../x86_64-pc-linux-gnu/bin/ld: error: hidden symbol 'opj_start_compress' is not defined locally /usr/lib/gcc/x86_64-pc-linux-gnu/5.4.0/../../../../x86_64-pc-linux-gnu/bin/ld: error: hidden symbol 'opj_encode' is not defined locally /usr/lib/gcc/x86_64-pc-linux-gnu/5.4.0/../../../../x86_64-pc-linux-gnu/bin/ld: error: hidden symbol 'opj_end_compress' is not defined locally /usr/lib/gcc/x86_64-pc-linux-gnu/5.4.0/../../../../x86_64-pc-linux-gnu/bin/ld: error: hidden symbol 'opj_set_default_encoder_parameters' is not defined locally /usr/lib/gcc/x86_64-pc-linux-gnu/5.4.0/../../../../x86_64-pc-linux-gnu/bin/ld: error: hidden symbol 'opj_version' is not defined locally /usr/lib/gcc/x86_64-pc-linux-gnu/5.4.0/../../../../x86_64-pc-linux-gnu/bin/ld: error: hidden symbol 'opj_set_default_decoder_parameters' is not defined locally collect2: error: ld returned 1 exit status I got bitten by the same issue. Upstream ffmpeg 3.1.5 got a slightly different patch what gentoo ffmpeg maintainers applied to ffmpeg version 3.1.4 or older. https://github.com/gentoo/gentoo/blob/99589f636ee9871b669ecf10a023cff5da3f2b4a/media-video/ffmpeg/files/openjpeg2.patch vs. https://github.com/FFmpeg/FFmpeg/commit/7a65aef00d113a38e0d1a54df49eead9df6aa15c.patch It looks like LTO causes the issue. Non-LTO: check_lib2 openjpeg-2.1/openjpeg.h opj_version -lopenjp2 -DOPJ_STATIC check_func_headers openjpeg-2.1/openjpeg.h opj_version -lopenjp2 -DOPJ_STATIC check_ld cc -lopenjp2 -DOPJ_STATIC check_cc -DOPJ_STATIC BEGIN /home/gentoo/tmp/portage/media-video/ffmpeg-3.1.5/temp/ffconf.bYDko95Z.c 1 #include <openjpeg-2.1/openjpeg.h> 2 long check_opj_version(void) { return (long) opj_version; } 3 int main(void) { return 0; } END /home/gentoo/tmp/portage/media-video/ffmpeg-3.1.5/temp/ffconf.bYDko95Z.c x86_64-pc-linux-gnu-gcc -D_ISOC99_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_POSIX_C_SOURCE=200112 -D_XOPEN_SOURCE=600 -DPIC -march=native -O2 -pipe -ggdb -floop-interchange -floop-strip-mine -floop-block -ftree-loop-distribution -fira-loop-pressure -ftree-vectorize -ftree-loop-linear -flto=5 -fuse-linker-plugin -fno-lto -fno-loop-interchange -fno-loop-strip-mine -fno-loop-block -fno-tree-loop-distribution -fno-ira-loop-pressure -fno-tree-vectorize -fno-tree-loop-linear -march=haswell -std=c99 -fomit-frame-pointer -fPIC -pthread -I/usr/include/freetype2 -I/usr/include/freetype2 -DOPJ_STATIC -c -o /home/gentoo/tmp/portage/media-video/ffmpeg-3.1.5/temp/ffconf.Sn7yWn4x.o /home/gentoo/tmp/portage/media-video/ffmpeg-3.1.5/temp/ffconf.bYDko95Z.c x86_64-pc-linux-gnu-gcc -Wl,-O1 -Wl,--as-needed -march=native -O2 -pipe -ggdb -floop-interchange -floop-strip-mine -floop-block -ftree-loop-distribution -fira-loop-pressure -ftree-vectorize -ftree-loop-linear -flto=5 -fuse-linker-plugin -Wl,-znow -Wl,--sort-common -Wl,--hash-style=gnu -Wl,--enable-new-dtags -fno-lto -fno-loop-interchange -fno-loop-strip-mine -fno-loop-block -fno-tree-loop-distribution -fno-ira-loop-pressure -fno-tree-vectorize -fno-tree-loop-linear -march=haswell -Wl,--as-needed -Wl,-z,noexecstack -DOPJ_STATIC -o /home/gentoo/tmp/portage/media-video/ffmpeg-3.1.5/temp/ffconf.6xbg7pL2 /home/gentoo/tmp/portage/media-video/ffmpeg-3.1.5/temp/ffconf.Sn7yWn4x.o -lopenjp2 -lmp3lame -lfreetype -lfontconfig -lfreetype -lfdk-aac -lcaca -lbluray -lgmp -lm -llzma -lbz2 -lz -pthread /usr/lib/gcc/x86_64-pc-linux-gnu/6.2.0/../../../../x86_64-pc-linux-gnu/bin/ld: error: hidden symbol 'opj_version' is not defined locally collect2: error: ld returned 1 exit status check_lib2 openjpeg-2.1/openjpeg.h opj_version -lopenjp2 check_func_headers openjpeg-2.1/openjpeg.h opj_version -lopenjp2 check_ld cc -lopenjp2 check_cc BEGIN /home/gentoo/tmp/portage/media-video/ffmpeg-3.1.5/temp/ffconf.bYDko95Z.c 1 #include <openjpeg-2.1/openjpeg.h> 2 long check_opj_version(void) { return (long) opj_version; } 3 int main(void) { return 0; } END /home/gentoo/tmp/portage/media-video/ffmpeg-3.1.5/temp/ffconf.bYDko95Z.c x86_64-pc-linux-gnu-gcc -D_ISOC99_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_POSIX_C_SOURCE=200112 -D_XOPEN_SOURCE=600 -DPIC -march=native -O2 -pipe -ggdb -floop-interchange -floop-strip-mine -floop-block -ftree-loop-distribution -fira-loop-pressure -ftree-vectorize -ftree-loop-linear -flto=5 -fuse-linker-plugin -fno-lto -fno-loop-interchange -fno-loop-strip-mine -fno-loop-block -fno-tree-loop-distribution -fno-ira-loop-pressure -fno-tree-vectorize -fno-tree-loop-linear -march=haswell -std=c99 -fomit-frame-pointer -fPIC -pthread -I/usr/include/freetype2 -I/usr/include/freetype2 -c -o /home/gentoo/tmp/portage/media-video/ffmpeg-3.1.5/temp/ffconf.Sn7yWn4x.o /home/gentoo/tmp/portage/media-video/ffmpeg-3.1.5/temp/ffconf.bYDko95Z.c x86_64-pc-linux-gnu-gcc -Wl,-O1 -Wl,--as-needed -march=native -O2 -pipe -ggdb -floop-interchange -floop-strip-mine -floop-block -ftree-loop-distribution -fira-loop-pressure -ftree-vectorize -ftree-loop-linear -flto=5 -fuse-linker-plugin -Wl,-znow -Wl,--sort-common -Wl,--hash-style=gnu -Wl,--enable-new-dtags -fno-lto -fno-loop-interchange -fno-loop-strip-mine -fno-loop-block -fno-tree-loop-distribution -fno-ira-loop-pressure -fno-tree-vectorize -fno-tree-loop-linear -march=haswell -Wl,--as-needed -Wl,-z,noexecstack -o /home/gentoo/tmp/portage/media-video/ffmpeg-3.1.5/temp/ffconf.6xbg7pL2 /home/gentoo/tmp/portage/media-video/ffmpeg-3.1.5/temp/ffconf.Sn7yWn4x.o -lopenjp2 -lmp3lame -lfreetype -lfontconfig -lfreetype -lfdk-aac -lcaca -lbluray -lgmp -lm -llzma -lbz2 -lz -pthread LTO: check_lib2 openjpeg-2.1/openjpeg.h opj_version -lopenjp2 -DOPJ_STATIC check_func_headers openjpeg-2.1/openjpeg.h opj_version -lopenjp2 -DOPJ_STATIC check_ld cc -lopenjp2 -DOPJ_STATIC check_cc -DOPJ_STATIC BEGIN /home/gentoo/tmp/portage/media-video/ffmpeg-3.1.5/temp/ffconf.emlYuZc6.c 1 #include <openjpeg-2.1/openjpeg.h> 2 long check_opj_version(void) { return (long) opj_version; } 3 int main(void) { return 0; } END /home/gentoo/tmp/portage/media-video/ffmpeg-3.1.5/temp/ffconf.emlYuZc6.c x86_64-pc-linux-gnu-gcc -D_ISOC99_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_POSIX_C_SOURCE=200112 -D_XOPEN_SOURCE=600 -DPIC -march=native -O2 -pipe -ggdb -floop-interchange -floop-strip-mine -floop-block -ftree-loop-distribution -fira-loop-pressure -ftree-vectorize -ftree-loop-linear -flto=5 -fuse-linker-plugin -fno-loop-interchange -fno-loop-strip-mine -fno-loop-block -fno-tree-loop-distribution -fno-ira-loop-pressure -fno-tree-vectorize -fno-tree-loop-linear -march=haswell -std=c99 -fomit-frame-pointer -fPIC -pthread -I/usr/include/freetype2 -I/usr/include/freetype2 -DOPJ_STATIC -c -o /home/gentoo/tmp/portage/media-video/ffmpeg-3.1.5/temp/ffconf.IoZKDBnT.o /home/gentoo/tmp/portage/media-video/ffmpeg-3.1.5/temp/ffconf.emlYuZc6.c x86_64-pc-linux-gnu-gcc -Wl,-O1 -Wl,--as-needed -march=native -O2 -pipe -ggdb -floop-interchange -floop-strip-mine -floop-block -ftree-loop-distribution -fira-loop-pressure -ftree-vectorize -ftree-loop-linear -flto=5 -fuse-linker-plugin -Wl,-znow -Wl,--sort-common -Wl,--hash-style=gnu -Wl,--enable-new-dtags -fno-loop-interchange -fno-loop-strip-mine -fno-loop-block -fno-tree-loop-distribution -fno-ira-loop-pressure -fno-tree-vectorize -fno-tree-loop-linear -march=haswell -Wl,--as-needed -Wl,-z,noexecstack -DOPJ_STATIC -o /home/gentoo/tmp/portage/media-video/ffmpeg-3.1.5/temp/ffconf.lK7iaEC0 /home/gentoo/tmp/portage/media-video/ffmpeg-3.1.5/temp/ffconf.IoZKDBnT.o -lopenjp2 -lmp3lame -lfreetype -lfontconfig -lfreetype -lfdk-aac -lcaca -lbluray -lgmp -lm -llzma -lbz2 -lz -pthread In a non-lto build, check_lib2 recognizes that it can't use -DOPJ_STATIC in a shared build and checks a second time but without the -DOPJ_STATIC. In a lto build, it looks like opj_version gets eliminated by lto, the check succeeds and check_lib2 adds OPJ_STATIC to the cppflags which causes the hidden symbol error. I changed the order of the check_lib2 checks and ffmpeg-3.1.5 now compiles without any error. -enabled libopenjpeg && { { check_lib2 openjpeg-2.1/openjpeg.h opj_version -lopenjp2 -DOPJ_STATIC && add_cppflags -DOPJ_STATIC; } || - check_lib2 openjpeg-2.1/openjpeg.h opj_version -lopenjp2 || +enabled libopenjpeg && { check_lib2 openjpeg-2.1/openjpeg.h opj_version -lopenjp2 || + { check_lib2 openjpeg-2.1/openjpeg.h opj_version - try building with "-fPIC" appended to your CFLAGS (In reply to Reuben Martin from comment #3) > try building with "-fPIC" appended to your CFLAGS It fails even earlier with: x86_64-pc-linux-gnu-gcc -m32 -shared -Wl,-soname,libswresample.so.2 -Wl,-Bsymbolic -Wl,--version-script,libswresample/libswresample.ver -Llibavcodec -Llibavdevice -Llibavfilter -Llibavformat -Llibavresample -Llibavutil -Llibpostproc -Llibswscale -Llibswresample -Wl,--hash-style=gnu -Wl,--sort-common -flto=8 -fuse-linker-plugin -fPIC -march=sandybridge -Wl,--as-needed -Wl,-z,noexecstack -Wl,--warn-common -Wl,-rpath-link=libpostproc:libswresample:libswscale:libavfilter:libavdevice:libavformat:libavcodec:libavutil:libavresample -flto -march=sandybridge -O2 -pipe -march=sandybridge -msahf --param l1-cache-size=32 --param l1-cache-line-size=64 --param l2-cache-size=8192 -flto=8 -fuse-linker-plugin -fPIC -fno-math-errno -fno-signed-zeros -fno-tree-vectorize -o libswresample/libswresample.so.2 libswresample/audioconvert.o libswresample/dither.o libswresample/log2_tab.o libswresample/options.o libswresample/rematrix.o libswresample/resample.o libswresample/resample_dsp.o libswresample/swresample.o libswresample/swresample_frame.o libswresample/x86/audio_convert.o libswresample/x86/audio_convert_init.o libswresample/x86/rematrix.o libswresample/x86/rematrix_init.o libswresample/x86/resample.o libswresample/x86/resample_init.o -lavutil -lavutil -lXv -lX11 -lXext -lva -lva-drm -lva -lva-x11 -lva -L/usr/lib32 -lxcb -L/usr/lib32 -lxcb-shm -L/usr/lib32 -lxcb-xfixes -L/usr/lib32 -lxcb-shape -lX11 -lcdio_paranoia -lcdio_cdda -lcdio -lasound -L/usr/lib32 -lSDL -lpthread -L/usr/lib32 -lssl -lcrypto -lGL -lopenal -lxvidcore -L/usr/lib32 -lx265 -L/usr/lib32 -lx264 -L/usr/lib32 -lwebp -L/usr/lib32 -lvpx -lm -L/usr/lib32 -lvpx -lm -L/usr/lib32 -lvpx -lm -L/usr/lib32 -lvpx -lm -lvorbisenc -lvorbis -logg -ltheoraenc -ltheoradec -logg -L/usr/lib32 -lspeex -L/usr/lib32 -lssh -L/usr/lib32 -lsmbclient -L/usr/lib32 -lschroedinger-1.0 -L/usr/lib32 -lpulse -L/usr/lib32 -lopus -lopenjp2 -DOPJ_STATIC -lopencore-amrwb -lopencore-amrnb -lmp3lame -L/usr/lib32 -lfribidi -lglib-2.0 -L/usr/lib32 -lfreetype -L/usr/lib32 -lfontconfig -lfreetype -L/usr/lib32 -lfdk-aac -L/usr/lib32 -lcaca -lcelt0 -lcelt0 -L/usr/lib32 -lbs2b -L/usr/lib32 -lass -L/usr/lib32 -lgnutls -lgmp -lm -llzma -lbz2 -lz -pthread src/libswscale/x86/rgb2rgb_template.c: In function ‘rgb24toyv12_mmx’: src/libswscale/x86/rgb2rgb_template.c:1727:9: error: ‘asm’ operand has impossible constraints __asm__ volatile( ^ make[1]: *** [/var/tmp/portage/media-video/ffmpeg-3.1.5/temp/ccqzwn1r.ltrans2.ltrans.o] Error 1 make[1]: *** Waiting for unfinished jobs.... src/libswscale/x86/yuv2rgb_template.c: In function ‘yuv420_bgr24_mmxext’: src/libswscale/x86/yuv2rgb_template.c:346:9: error: ‘asm’ operand has impossible constraints YUV2RGB_INITIAL_LOAD ^ make[1]: *** [/var/tmp/portage/media-video/ffmpeg-3.1.5/temp/ccqzwn1r.ltrans5.ltrans.o] Error 1 lto-wrapper: fatal error: make returned 2 exit status compilation terminated. /usr/lib/gcc/x86_64-pc-linux-gnu/5.4.0/../../../../x86_64-pc-linux-gnu/bin/ld: fatal error: lto-wrapper failed collect2: error: ld returned 1 exit status distcc[3840] ERROR: compile (null) on localhost failed /var/tmp/portage/media-video/ffmpeg-3.1.5/work/ffmpeg-3.1.5/library.mak:99: recipe for target 'libswscale/libswscale.so.4' failed make: *** [libswscale/libswscale.so.4] Error 1 make: *** Waiting for unfinished jobs.... echo skipping strip -wN '..@*' libavresample/x86/audio_mix.o skipping strip -wN ..@* libavresample/x86/audio_mix.o yasm -f elf -DPIC -I./ -Isrc// -Pconfig.asm -I /var/tmp/portage/media-video/ffmpeg-3.1.5/work/ffmpeg-3.1.5/libavcodec/x86/ -o libavcodec/x86/vp9itxfm.o src/libavcodec/x86/vp9itxfm.asm echo skipping strip -wN '..@*' libavcodec/x86/vp9itxfm.o skipping strip -wN ..@* libavcodec/x86/vp9itxfm.o Still in media-video/ffmpeg-3.2 should have been fixed long ago, please reopen if it fails with 4.2+ |