Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 350332 - media-video/ffmpeg-0.6_p25767 implicit declaration of function 'sws_init_swScale_MMX2'
Summary: media-video/ffmpeg-0.6_p25767 implicit declaration of function 'sws_init_swSc...
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: New packages (show other bugs)
Hardware: AMD64 Linux
: High major (vote)
Assignee: Gentoo Media-video project
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2011-01-02 07:00 UTC by Walter Dnes
Modified: 2011-12-17 14:27 UTC (History)
6 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
Build log of failed "emerge ffmpeg" as requested (emergelog.txt,62.72 KB, text/plain)
2011-01-03 01:30 UTC, Walter Dnes
Details
the build lof (build.log,65.00 KB, text/plain)
2011-03-09 15:40 UTC, Ian Delaney (RETIRED)
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Walter Dnes 2011-01-02 07:00:57 UTC
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
Comment 1 Mike Gilbert gentoo-dev 2011-01-03 00:51:51 UTC
Please attach a full build log.
Comment 2 Walter Dnes 2011-01-03 01:30:57 UTC
Created attachment 258679 [details]
Build log of failed "emerge ffmpeg" as requested
Comment 3 stefan 2011-01-03 12:05:49 UTC
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 
Comment 4 Walter Dnes 2011-01-03 19:26:53 UTC
(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:
Comment 5 Pacho Ramos gentoo-dev 2011-01-29 15:40:41 UTC
(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 
Comment 6 Ian Delaney (RETIRED) gentoo-dev 2011-03-09 15:40:06 UTC
Created attachment 265315 [details]
the build lof
Comment 7 Ian Delaney (RETIRED) gentoo-dev 2011-03-09 15:44:21 UTC
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"
Comment 8 mephinet 2011-05-02 12:02:48 UTC
Same issue on a VIA Esther processor with gentoo hardened. Removing the use flags cpudetection, mmxext and ssse3 helped.
Comment 9 Alexis Ballier gentoo-dev 2011-12-17 14:27:31 UTC
this should be fixed with 0.9 / 9999. At least, here it builds fine with these useflags. please reopen if not.