media-video/ffmpeg-0.6_p25767 ebuild fails. The error is always... > libswscale/swscale.c: In function 'ff_getSwsFunc': > libswscale/swscale.c:1266: error: implicit declaration of function 'sws_init_swS cale_MMX2' > libswscale/swscale.c:1267: error: 'swScale_MMX2' undeclared (first use in this f unction) Reproducible: Always Steps to Reproduce: 1. emerge =media-video/ffmpeg-0.6_p25767 Actual Results: emerge fails Expected Results: emerge should succeed I always run with -j1 in makeopts, out of caution/paranoia. It didn't help this time. Machine is Intel i3 with 8 gigabytes of RAM, running in pure 64-bit mode (no multilib). emerge -pqv =media-video/ffmpeg-0.6_p25767 output follows [ebuild U ] media-video/ffmpeg-0.6_p25767 [0.6] USE="X alsa bzip2%* cpudetec tion encode faac mmx mp3 ssse3 theora threads vdpau vorbis x264 xvid zlib -3dnow -3dnowext (-altivec) -amr -bindist -custom-cflags -debug -dirac -doc -frei0r% - gsm -hardcoded-tables -ieee1394 -jack -jpeg2k -mmxext -network -oss -pic -qt-fas tstart% -rtmp -schroedinger -sdl -speex -static-libs% -test -v4l -v4l2 -vaapi -v px (-faad%*)" VIDEO_CARDS="-nvidia" emerge --info output follows Portage 2.1.9.25 (default/linux/amd64/10.0/no-multilib, gcc-4.4.4, glibc-2.11.2-r3, 2.6.34-gentoo-r12 x86_64) ================================================================= System uname: Linux-2.6.34-gentoo-r12-x86_64-Intel-R-_Core-TM-_i3_CPU_530_@_2.93GHz-with-gentoo-1.12.14 Timestamp of tree: Sat, 01 Jan 2011 23:15:01 +0000 app-shells/bash: 4.1_p7 dev-lang/python: 2.6.6-r1, 3.1.2-r4 dev-util/cmake: 2.8.1-r2 sys-apps/baselayout: 1.12.14-r1 sys-apps/sandbox: 2.4 sys-devel/autoconf: 2.13, 2.65-r1 sys-devel/automake: 1.9.6-r3, 1.11.1 sys-devel/binutils: 2.20.1-r1 sys-devel/gcc: 4.4.4-r2 sys-devel/gcc-config: 1.4.1 sys-devel/libtool: 2.2.10 sys-devel/make: 3.81-r2 virtual/os-headers: 2.6.30-r1 (sys-kernel/linux-headers) ACCEPT_KEYWORDS="amd64" ACCEPT_LICENSE="*" CBUILD="x86_64-pc-linux-gnu" CFLAGS="-O2 -march=native -mfpmath=sse -fomit-frame-pointer -pipe" CHOST="x86_64-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/share/X11/xkb" CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo" CXXFLAGS="-O2 -march=native -mfpmath=sse -fomit-frame-pointer -pipe" DISTDIR="/usr/portage/distfiles" FEATURES="assume-digests binpkg-logs distlocks fixlafiles fixpackages news parallel-fetch protect-owned sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch" GENTOO_MIRRORS="ftp://mirror.csclub.uwaterloo.ca/gentoo-distfiles/ http://gentoo.netnitco.net" LDFLAGS="-Wl,-O1 -Wl,--as-needed" MAKEOPTS="-j1" PKGDIR="/usr/portage/packages" PORTAGE_CONFIGROOT="/" 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.namerica.gentoo.org/gentoo-portage" USE="X a52 aac amd64 bzip2 dga dri exif ffmpeg flac fortran gif intel joystick jpeg mmx mng mp3 mpeg nptl nptlonly nsplugin offensive ogg opengl png posix sse sse2 sse3 ssse3 theora threads tiff truetype vim-syntax vorbis wmf xcomposite xpm xv xvid zlib" ALSA_CARDS="hda-intel" ALSA_PCM_PLUGINS="adpcm alaw copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mulaw multi null plug rate route share shm softvol asym" ELIBC="glibc" INPUT_DEVICES="keyboard mouse" KERNEL="linux" QEMU_SOFTMMU_TARGETS="i386 x86_64" QEMU_USER_TARGETS="i386 x86_64" USERLAND="GNU" VIDEO_CARDS="intel" Unset: CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, FFLAGS, INSTALL_MASK, LANG, LC_ALL, LINGUAS, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS
Please attach a full build log.
Created attachment 258679 [details] Build log of failed "emerge ffmpeg" as requested
I had the same problem. Solved it with by adding the mmxext use flag. cheers media-video/ffmpeg-0.6_p25767 USE="3dnow 3dnowext X alsa bzip2 cpudetection encode faac hardcoded-tables jpeg2k mmx mmxext mp3 pic ssse3 threads x264 xvid zlib
(In reply to comment #3) > I had the same problem. Solved it with by adding the mmxext use flag. That did not work for me. The good news is that removing the "cpudetection" flag solved the problem. I'm running on an Intel cpu which doesn't have mmxext. Looking deeper into the failed build log, not only do I see... > libswscale/swscale.c:1266: error: implicit declaration of function 'sws_init_swScale_MMX2' ...but I also see... > libswscale/swscale.c:1269: error: implicit declaration of function 'sws_init_swScale_3DNow' Hello?!?! Not on an Intel CPU. As a WAG, I'll assume that "cpudetection" tells the compiler to build for every possible CPU, and detect the CPU at runtime. Somehow, that process doesn't work. Based on that assumption, I removed the "cpudetection" flag, and the build worked. I recommend removing the "cpudetection" flag altogether. Disable cpudetection in the ebuild if it's an upstream default. cpudetection is redundant in Gentoo, where you're supposed to compile for your CPU in the first place. Upstream may still be interested in why the build doesn't work on an Intel i3 in 64-bit mode. From /proc/cpuinfo vendor_id : GenuineIntel cpu family : 6 model : 37 model name : Intel(R) Core(TM) i3 CPU 530 @ 2.93GHz stepping : 2 cpu MHz : 2933.000 cache size : 4096 KB physical id : 0 siblings : 4 core id : 0 cpu cores : 2 apicid : 0 initial apicid : 0 fpu : yes fpu_exception : yes cpuid level : 11 wp : yes flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx rdtscp lm constant_tsc arch_perfmon pebs bts rep_good xtopology nonstop_tsc aperfmperf pni dtes64 monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr pdcm sse4_1 sse4_2 popcnt lahf_lm arat tpr_shadow vnmi flexpriority ept vpid power management:
(In reply to comment #4) > I recommend removing the "cpudetection" flag altogether. Disable cpudetection > in the ebuild if it's an upstream default. cpudetection is redundant in > Gentoo, where you're supposed to compile for your CPU in the first place. > It's not supposed at all, for example, I am hitting this problem when trying to bump emul-linux set
Created attachment 265315 [details] the build lof
I can confirm this ffmpeg build failure . I have both added mmext and removed cpudetection and it consistently pulls up at the same point. genny idella # uname -a Linux genny 2.6.37-hardened-r3 #1 SMP Tue Mar 8 10:14:31 WST 2011 i686 Intel(R) Core(TM)2 Duo CPU E6550 @ 2.33GHz GenuineIntel GNU/Linux most of genny idella # emerge --info Portage 2.1.9.42 (hardened/linux/x86, gcc-4.5.2-hardenednopie, glibc-2.13-r1, 2.6.37-hardened-r3 i686) ================================================================= System uname: Linux-2.6.37-hardened-r3-i686-Intel-R-_Core-TM-2_Duo_CPU_E6550_@_2.33GHz-with-gentoo-2.0.1 Timestamp of tree: Thu, 03 Mar 2011 10:45:01 +0000 ccache version 3.1.4 [disabled] app-shells/bash: 4.1_p10 dev-java/java-config: 2.1.11-r3 dev-lang/python: 2.6.6-r2, 2.7.1-r1, 3.1.3-r1 dev-util/ccache: 3.1.4 dev-util/cmake: 2.8.4 sys-apps/baselayout: 2.0.1-r1 sys-apps/openrc: 0.7.0 sys-apps/sandbox: 2.5 sys-devel/autoconf: 2.13, 2.68 sys-devel/automake: 1.10.3, 1.11.1 sys-devel/binutils: 2.21 sys-devel/gcc: 4.5.2 sys-devel/gcc-config: 1.4.1 sys-devel/libtool: 2.4-r1 sys-devel/make: 3.82 virtual/os-headers: 2.6.36.1 (sys-kernel/linux-headers) ACCEPT_KEYWORDS="x86 ~x86" ACCEPT_LICENSE="* -@EULA dlj-1.1 AdobeFlash-10.1 Attica" CBUILD="i686-pc-linux" CFLAGS="-march=core2 -fomit-frame-pointer -pipe -O2 -mno-tls-direct-seg-refs" CHOST="i686-pc-linux" CONFIG_PROTECT="/etc /etc/conf.d/network /etc/conf.d/xdm /etc/libvirt/libvirtd.conf /etc/ssh/sshd_config /etc/xen/xend-config.sxp /etc/xen/xm-config.xml /usr/share/config /usr/share/gnupg/qualified.txt" CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/env.d/java/ /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/revdep-rebuild /etc/sandbox.d /etc/splash /etc/terminfo" CXXFLAGS="-march=core2 -fomit-frame-pointer -pipe -O2 -mno-tls-direct-seg-refs" DISTDIR="/mnt/gentoo/distfiles" EMERGE_DEFAULT_OPTS="--jobs=5 --load-average=3.4 --keep-going" FEATURES="assume-digests binpkg-logs distlocks fixlafiles fixpackages multilib-strict news parallel-fetch protect-owned sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch" FFLAGS="" GENTOO_MIRRORS="ftp://ftp.swin.edu.au/gentoo/ ftp://mirror.pacific.net.au/linux/Gentoo ftp://mirror.isp.net.au/pub/gentoo/ http://mirror.isp.net.au/pub/gentoo/ http://mirror.averse.net/pub/gentoo/" LDFLAGS="-Wl,-O2,--as-needed -fPIC" LINGUAS="en" MAKEOPTS="-j4"
Same issue on a VIA Esther processor with gentoo hardened. Removing the use flags cpudetection, mmxext and ssse3 helped.
this should be fixed with 0.9 / 9999. At least, here it builds fine with these useflags. please reopen if not.