ffmpeg-0.4.9_p20070616 fails to build on hardened AMD64 # emerge --verbose ffmpeg --oneshot These are the packages that would be merged, in order: Calculating dependencies... done! [ebuild N ] media-video/ffmpeg-0.4.9_p20070616 USE="threads zlib -X -a52 -aac (-altivec) -amr -debug -doc -encode -ieee1394 -imlib (-mmx) -network -ogg -oss -sdl -test -theora -truetype -v4l -vorbis -x264 -xvid" 0 kB ------8<----- portage/media-video/ffmpeg-0.4.9_p20070616/work/ffmpeg" -I"/var/tmp/portage/media-video/ffmpeg-0.4.9_p20070616/work/ffmpeg"/libavutil -march=k8 -O2 -pipe -DBROKEN_RELOCATIONS -fomit-frame-pointer -pthread -Wdeclaration-after-statement -Wall -Wno-switch -Wdisabled-optimization -Wpointer-arith -Wredundant-decls -fPIC -DPIC -c -o motion_est.o motion_est.c In file included from motion_est.c:34: avcodec.h:2252: warning: `ImgReSampleContext' is deprecated (declared at avcodec.h:2231) avcodec.h:2258: warning: `ImgReSampleContext' is deprecated (declared at avcodec.h:2231) motion_est_template.c: In function `hpel_motion_search': motion_est.c:184: warning: 'uvdxy' might be used uninitialized in this function motion_est.c:184: warning: 'uvdxy' might be used uninitialized in this function motion_est.c:184: warning: 'uvdxy' might be used uninitialized in this function motion_est.c:184: warning: 'uvdxy' might be used uninitialized in this function motion_est.c:184: warning: 'uvdxy' might be used uninitialized in this function motion_est.c:184: warning: 'uvdxy' might be used uninitialized in this function motion_est.c:184: warning: 'uvdxy' might be used uninitialized in this function motion_est.c:184: warning: 'uvdxy' might be used uninitialized in this function motion_est.c:184: warning: 'uvdxy' might be used uninitialized in this function motion_est.c:184: warning: 'uvdxy' might be used uninitialized in this function motion_est.c:184: warning: 'uvdxy' might be used uninitialized in this function motion_est.c:184: warning: 'uvdxy' might be used uninitialized in this function motion_est.c:184: warning: 'uvdxy' might be used uninitialized in this function motion_est.c:184: warning: 'uvdxy' might be used uninitialized in this function motion_est.c:184: warning: 'uvdxy' might be used uninitialized in this function motion_est.c:184: warning: 'uvdxy' might be used uninitialized in this function motion_est.c:184: warning: 'uvdxy' might be used uninitialized in this function motion_est.c:184: warning: 'uvdxy' might be used uninitialized in this function dsputil.c:3837: error: unrecognizable insn: (insn 62 10 12 0 (set (reg:SI 0 ax [61]) (subreg:SI (plus:DI (subreg:DI (reg:SI 7 sp) 0) (const_int -4 [0xfffffffffffffffc])) 0)) -1 (nil) (nil)) dsputil.c:3837: internal compiler error: in extract_insn, at recog.c:2083 Please submit a full bug report, with preprocessed source if appropriate. See <URL:http://bugs.gentoo.org/> for instructions. motion_est_template.c: In function `ff_get_mb_score': motion_est.c:184: warning: 'uvdxy' might be used uninitialized in this function motion_est_template.c: In function `qpel_motion_search': motion_est.c:184: warning: 'uvdxy' might be used uninitialized in this function Preprocessed source stored into /var/tmp/portage/media-video/ffmpeg-0.4.9_p20070616/temp/ccH88DAN.out file, please attach this to your bugreport. make[1]: *** [dsputil.o] Error 1 make[1]: *** Waiting for unfinished jobs.... motion_est.c: In function `check_input_motion': motion_est.c:184: warning: 'uvdxy' might be used uninitialized in this function motion_est.c:184: warning: 'uvdxy' might be used uninitialized in this function motion_est.c:184: warning: 'uvdxy' might be used uninitialized in this function motion_est.c:184: warning: 'uvdxy' might be used uninitialized in this function motion_est.c:184: warning: 'uvdxy' might be used uninitialized in this function motion_est.c:184: warning: 'uvdxy' might be used uninitialized in this function motion_est.c:184: warning: 'uvdxy' might be used uninitialized in this function make[1]: Leaving directory `/var/tmp/portage/media-video/ffmpeg-0.4.9_p20070616/work/ffmpeg/libavcodec' make: *** [lib] Error 2 * * ERROR: media-video/ffmpeg-0.4.9_p20070616 failed. * Call stack: * ebuild.sh, line 49: Called src_compile * environment, line 2377: Called die * The specific snippet of code: * emake || die "make failed" * The die message: * make failed Reproducible: Always Steps to Reproduce: 1. emerge ffmpeg 2. 3. # emerge --info Portage 2.1.4.4 (hardened/amd64, gcc-3.4.6-hardenednopiessp, glibc-2.6.1-r0, 2.6.23-hardened-r12 x86_64) ================================================================= System uname: 2.6.23-hardened-r12 x86_64 AMD Athlon(tm) 64 Processor 3800+ Timestamp of tree: Sat, 24 May 2008 03:50:01 +0000 app-shells/bash: 3.2_p33 dev-lang/python: 2.4.4-r9 dev-python/pycrypto: 2.0.1-r6 sys-apps/baselayout: 1.12.11.1 sys-apps/sandbox: 1.2.18.1-r2 sys-devel/autoconf: 2.61-r1 sys-devel/automake: 1.7.9-r1, 1.10.1 sys-devel/binutils: 2.18-r1 sys-devel/gcc-config: 1.4.0-r4 sys-devel/libtool: 1.5.26 virtual/os-headers: 2.6.23-r3 ACCEPT_KEYWORDS="amd64" CBUILD="x86_64-pc-linux-gnu" CFLAGS="-march=k8 -O2 -pipe" CHOST="x86_64-pc-linux-gnu" CONFIG_PROTECT="/etc" CONFIG_PROTECT_MASK="/etc/env.d /etc/gconf /etc/php/apache2-php5/ext-active/ /etc/php/cgi-php5/ext-active/ /etc/php/cli-php5/ext-active/ /etc/revdep-rebuild /etc/terminfo /etc/udev/rules.d" CXXFLAGS="-march=k8 -O2 -pipe" DISTDIR="/usr/portage/distfiles" FEATURES="distlocks fixpackages metadata-transfer sandbox sfperms strict unmerge-orphans userfetch" GENTOO_MIRRORS="http://gentoo.osuosl.org/" LINGUAS="de en sv en_GB en_US sv_SE" MAKEOPTS="-j2" PKGDIR="/usr/portage/packages" PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/usr/local/portage" SYNC="rsync://rsync.europe.gentoo.org/gentoo-portage" USE="amd64 apache2 bash-completion bzip2 cracklib crypt hardened justify metric minimal network-cron nls nptl nptlonly pic readline session ssl tcpd threads unicode urandom userlocales vhosts vim-syntax zlib" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mulaw multi null plug rate route share shm softvol" APACHE2_MODULES="actions alias auth_basic authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif so speling status unique_id userdir usertrack vhost_alias" ELIBC="glibc" INPUT_DEVICES="mouse keyboard" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="de en sv en_GB en_US sv_SE" USERLAND="GNU" VIDEO_CARDS="apm ark chips cirrus cyrix dummy fbdev glint i128 i810 mach64 mga neomagic nv r128 radeon rendition s3 s3virge savage siliconmotion sis sisusb tdfx tga trident tseng v4l vesa vga vmware voodoo" Unset: CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LANG, LC_ALL, LDFLAGS, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS
Created attachment 154137 [details] /var/tmp/portage/media-video/ffmpeg-0.4.9_p20070616/temp/ccH88DAN.out
Created attachment 154139 [details] /var/log/portage/media-video:ffmpeg-0.4.9_p20070616:20080524-141532.log
Created attachment 154141 [details] /var/tmp/portage/media-video/ffmpeg-0.4.9_p20070616/temp/environment
I've done some testing and found that if I change the compiler then I can compile ffmpeg. Below is a small list of my findings. x86_64-pc-linux-gnu-3.4.6 OK x86_64-pc-linux-gnu-3.4.6-hardenednopie OK x86_64-pc-linux-gnu-3.4.6-hardenednopiessp NOK x86_64-pc-linux-gnu-3.4.6-hardenednossp NOK x86_64-pc-linux-gnu-3.4.6-vanilla NOK -- Dan
For me, x86_64-pc-linux-gnu-3.4.6-hardenednopie worked. I don't seem to have a -vanilla though, just [1] x86_64-pc-linux-gnu-3.4.6 [2] x86_64-pc-linux-gnu-3.4.6-hardened [3] x86_64-pc-linux-gnu-3.4.6-hardenednopie * [4] x86_64-pc-linux-gnu-3.4.6-hardenednopiessp [5] x86_64-pc-linux-gnu-3.4.6-hardenednossp
This version is no longer in Portage. Please test current stable, and provide logs as necessary.
The 0.4.9_p20081014 version works without problem. Bug can be closed from my point of view. --Dan