Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 241354

Summary: Please stabilise media-libs/libmpeg3-1.7 (was: media-libs/libmpeg3-1.5.2-r3 fails to compile with dev-lang/nasm-2.04 and USE="mmx")
Product: Gentoo Linux Reporter: Gordon Malm (RETIRED) <gengor>
Component: New packagesAssignee: media-video herd <media-video>
Status: RESOLVED CANTFIX    
Severity: normal CC: aballier, grozin, mips, tomasfg, usefuljunk
Priority: High Keywords: KEYWORDREQ, STABLEREQ
Version: unspecified   
Hardware: x86   
OS: Linux   
Whiteboard:
Package list:
Runtime testing required: ---

Description Gordon Malm (RETIRED) gentoo-dev 2008-10-11 12:33:20 UTC
media-libs/libmpeg3-1.5.2-r3 fails to compile with dev-lang/nasm-2.04 and USE="mmx".  Compiles ok using dev-lang/nasm-0.98.39-r3.

i686-pc-linux-gnu-gcc -fPIC -c `cat i686/c_flags`  video/reconstruct.c -o i686/video/reconstruct.lo
i686-pc-linux-gnu-gcc -fPIC -c `cat i686/c_flags`  video/seek.c -o i686/video/seek.lo
i686-pc-linux-gnu-gcc -fPIC -c `cat i686/c_flags`  video/slice.c -o i686/video/slice.lo
i686-pc-linux-gnu-gcc -fPIC -c `cat i686/c_flags`  video/vlc.c -o i686/video/vlc.lo
i686-pc-linux-gnu-gcc -fPIC -c `cat i686/c_flags`  workarounds.c -o i686/workarounds.lo
i686-pc-linux-gnu-gcc -fPIC -c `cat i686/c_flags`  video/mmxidct.S -o i686/video/mmxidct.lo
ar rcs i686/libmpeg3.a `cat i686/objs`
i686-pc-linux-gnu-gcc `cat i686/c_flags` -o i686/mpeg3dump mpeg3dump.c i686/libmpeg3.a -lm -lpthread -la52
i686-pc-linux-gnu-gcc `cat i686/c_flags` -o i686/mpeg3toc mpeg3toc.c i686/libmpeg3.a -lm -lpthread -la52
i686-pc-linux-gnu-gcc `cat i686/c_flags` -o i686/mpeg3cat mpeg3cat.c i686/libmpeg3.a -lm -lpthread -la52
i686/libmpeg3.a(reconstruct.o): In function `.L14':
reconstruct.c:(.text+0xede): undefined reference to `recvac_mmx'
i686/libmpeg3.a(reconstruct.o): In function `.L13':
reconstruct.c:(.text+0xf22): undefined reference to `recva_mmx'
i686/libmpeg3.a(reconstruct.o): In function `.L20':
reconstruct.c:(.text+0xf5b): undefined reference to `rechc_mmx'
i686/libmpeg3.a(reconstruct.o): In function `.L19':
reconstruct.c:(.text+0xf87): undefined reference to `rech_mmx'
collect2: ld returned 1 exit status
make: *** [i686/mpeg3dump] Error 1
make: *** Waiting for unfinished jobs....
i686/libmpeg3.a(reconstruct.o): In function `.L14':
reconstruct.c:(.text+0xede): undefined reference to `recvac_mmx'
i686/libmpeg3.a(reconstruct.o): In function `.L13':
reconstruct.c:(.text+0xf22): undefined reference to `recva_mmx'
i686/libmpeg3.a(reconstruct.o): In function `.L20':
reconstruct.c:(.text+0xf5b): undefined reference to `rechc_mmx'
i686/libmpeg3.a(reconstruct.o): In function `.L19':
reconstruct.c:(.text+0xf87): undefined reference to `rech_mmx'
collect2: ld returned 1 exit status
make: *** [i686/mpeg3cat] Error 1
i686/libmpeg3.a(reconstruct.o): In function `.L14':
reconstruct.c:(.text+0xede): undefined reference to `recvac_mmx'
i686/libmpeg3.a(reconstruct.o): In function `.L13':
reconstruct.c:(.text+0xf22): undefined reference to `recva_mmx'
i686/libmpeg3.a(reconstruct.o): In function `.L20':
reconstruct.c:(.text+0xf5b): undefined reference to `rechc_mmx'
i686/libmpeg3.a(reconstruct.o): In function `.L19':
reconstruct.c:(.text+0xf87): undefined reference to `rech_mmx'
collect2: ld returned 1 exit status
make: *** [i686/mpeg3toc] Error 1
 *
 * ERROR: media-libs/libmpeg3-1.5.2-r3 failed.
 * Call stack:
 *               ebuild.sh, line   49:  Called src_compile
 *             environment, line 2510:  Called die
 * The specific snippet of code:
 *       emake CC="$(tc-getCC)" || die "make failed"
 *  The die message:
 *   make failed

emerge --info:
Portage 2.1.4.5 (hardened/x86/2.6, gcc-3.4.6, glibc-2.6.1-r0, 2.6.26-hardened-r2-rc3-2008091301 i686)
=================================================================
System uname: 2.6.26-hardened-r2-rc3-2008091301 i686 AMD Athlon(tm) 64 X2 Dual Core Processor 3800+
Timestamp of tree: Sat, 11 Oct 2008 10:45:04 +0000
distcc 2.18.3 i686-pc-linux-gnu (protocols 1 and 2) (default port 3632) [disabled]
app-shells/bash:     3.2_p33
dev-java/java-config: 1.3.7, 2.1.6
dev-lang/python:     2.4.4-r14, 2.5.2-r7
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.13, 2.61-r2
sys-devel/automake:  1.4_p6, 1.5, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2, 1.10.1-r1
sys-devel/binutils:  2.18-r3
sys-devel/gcc-config: 1.4.0-r4
sys-devel/libtool:   1.5.26
virtual/os-headers:  2.6.23-r3
ACCEPT_KEYWORDS="x86"
CBUILD="i686-pc-linux-gnu"
CFLAGS="-march=athlon64 -msse3 -O2 -fweb -fomit-frame-pointer -fno-ident -pipe"
CHOST="i686-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/kde/3.5/env /usr/kde/3.5/share/config /usr/kde/3.5/shutdown /usr/share/config /var/lib/hsqldb"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/env.d/java/ /etc/fonts/fonts.conf /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/texmf/web2c /etc/udev/rules.d"
CXXFLAGS="-march=athlon64 -msse3 -O2 -fweb -fomit-frame-pointer -fno-ident -pipe -fno-stack-protector -fno-stack-protector-all"
DISTDIR="/usr/portage/distfiles"
FEATURES="distclean distlocks parallel-fetch sandbox sfperms strict unmerge-orphans userfetch userpriv usersandbox"
GENTOO_MIRRORS="http://gentoo.mirrors.tds.net/gentoo/ http://gentoo.mirrors.easynews.com/linux/gentoo/ http://mirror.datapipe.net/gentoo/ http://gentoo.chem.wisc.edu/gentoo/ http://gentoo.netnitco.net/ http://gentoo.mirrors.pair.com/ http://open-systems.ufl.edu/mirrors/gentoo/"
LDFLAGS="-Wl,-O1,--hash-style=gnu"
LINGUAS="en en_US en_GB"
MAKEOPTS="-j3"
PKGDIR="/usr/portage/packages"
PORTAGE_RSYNC_EXTRA_OPTS="--progress --exclude-from=/etc/portage/rsync_excludes"
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/portage/local/layman/sunrise /usr/local/portage"
SYNC="rsync://*yoink*(private)/gentoo-portage"
USE="3dnow 3dnowext X Xaw3d a52 aac aalib acl acpi adns alsa ao apache2 audiofile audit bash-completion bcmath berkdb bidi blas bluetooth bzip2 cairo calendar canna caps cdb cddb cdinstall cdparanoia cdr cjk clamav cracklib crypt cscope css ctype cups curl curlwrappers cvs cxx dbm dbus dbx dedicated directfb djvu doc dri dts dv dvb dvd dvdr dvdread encode enscript evo exif expat fam fbcon ffmpeg fftw firefox flac flash flatfile fltk fontconfig foomaticdb fortran freetds freewnn ftp gcj gd gdbm geoip ggi gif gimp ginac glut gmp gnome gnuplot gnutls gphoto2 gpm gps graphviz gsl gstreamer gtk gtkhtml guile hal hardened hddtemp hdf5 iconv idn ieee1394 imagemagick imap imlib inifile ipod ipv6 jack java java5 java6 javascript jbig joystick jpeg jpeg2k kde kerberos ladspa lame lapack lash latex lcms ldap libcaca libgda libnotify libsamplerate libwww lirc lm_sensors logrotate lua lzo mad maildir mailwrapper matroska mbox memlimit mhash midi mikmod mime mmap mmx mmxext mng modplug mono motif mp3 mpeg mpi mplayer mtp musepack musicbrainz nas ncurses neXt netboot netcdf nis nls nntp nocd nptl nptlonly nsplugin ocaml ocamlopt offensive ofx ogg openal openexr opengl osc pam pcntl pcre pda pdf perl php pic plotutils png portaudio posix ppds pulseaudio python qdbm qt3 qt4 quicktime radius rdesktop readline recode rss ruby samba sasl scanner sdl seamonkey session sftp sharedext sharedmem shorten simplexml skey slang slp smartcard smp sndfile snmp soap sockets socks5 sox speex spell spl sqlite sqlite3 sse sse2 sse3 ssl startup-notification subversion svg svga syslog sysvipc szip taglib tcl tcpd theora threads tidy tiff timidity tk tokenizer truetype unicode urandom usb v4l v4l2 vcd vhosts videos vim-syntax vnc vorbis wavpack wddx wifi win32codecs wma wmf wxwindows x264 x86 xattr xcomposite xface xine xinerama xinetd xml xmlrpc xorg xosd xpm xprint xscreensaver xsl xv xvid xvmc yaz zlib" ALSA_CARDS="au8820 ca0106 emu10k1" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mmap_emul mulaw multi null plug rate route share shm softvol" APACHE2_MODULES="actions alias auth_basic authn_alias 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 speling status unique_id userdir usertrack vhost_alias" ELIBC="glibc" INPUT_DEVICES="keyboard mouse joystick" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="en en_US en_GB" USERLAND="GNU" VIDEO_CARDS="apm dummy fbdev nv nvidia v4l vesa vga"
Unset:  CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, FFLAGS, INSTALL_MASK, LANG, LC_ALL, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS
Comment 1 Lars Wendler (Polynomial-C) gentoo-dev 2008-10-11 12:40:32 UTC
libmpeg3-1.7 compiles fine with nasm-2.04 and mmx USE flag set so you might try that version as a quick workaround.
Comment 2 Gordon Malm (RETIRED) gentoo-dev 2008-10-11 12:49:52 UTC
(In reply to comment #1)
> libmpeg3-1.7 compiles fine with nasm-2.04 and mmx USE flag set so you might try
> that version as a quick workaround.
> 

If that is the case the DEPS should be updated on libmpeg3-1.5.2 and libmpeg3-1.7 (or another version that works with nasm-2.04) considered for test/stable since nasm-2.04 recently went stable.
Comment 3 Andrey Grozin gentoo-dev 2008-10-13 03:11:52 UTC
I've got a similar failure, though the error messages look slightly different
(I have nasm-2.04 which is stable on x86)

gcc -shared -Wl,-soname=libmpeg3.so -o i686/libmpeg3.so i686/audio/ac3.lo i686/audio/dct.lo i686/audio/huffman.lo i686/audio/layer2.lo i686/audio/layer3.lo i686/audio/mpeg3audio.lo i686/audio/pcm.lo i686/audio/synthesizers.lo i686/audio/tables.lo i686/bitstream.lo i686/libmpeg3.lo i686/mpeg3atrack.lo i686/mpeg3css.lo i686/mpeg3demux.lo i686/mpeg3ifo.lo i686/mpeg3io.lo i686/mpeg3title.lo i686/mpeg3vtrack.lo i686/video/getpicture.lo i686/video/headers.lo i686/video/idct.lo i686/video/macroblocks.lo i686/video/mmxtest.lo i686/video/motion.lo i686/video/mpeg3video.lo i686/video/output.lo i686/video/reconstruct.lo i686/video/seek.lo i686/video/slice.lo i686/video/vlc.lo i686/workarounds.lo i686/video/mmxidct.lo i686/video/reconmmx.o -lm -lpthread -la52
i686-pc-linux-gnu-gcc `cat i686/c_flags` -o i686/mpeg3dump mpeg3dump.c i686/libmpeg3.a -lm -lpthread -la52
mpeg3dump.c: In function 'main':
mpeg3dump.c:50: warning: incompatible implicit declaration of built-in function 'strlen'
mpeg3dump.c:58: warning: incompatible implicit declaration of built-in function 'strcpy'
i686/libmpeg3.a(reconstruct.o): In function `recon_comp':
reconstruct.c:(.text+0xc38): undefined reference to `rech_mmx'
reconstruct.c:(.text+0xe43): undefined reference to `rechc_mmx'
reconstruct.c:(.text+0xe76): undefined reference to `recva_mmx'
reconstruct.c:(.text+0xea9): undefined reference to `recvac_mmx'
collect2: ld returned 1 exit status
make: *** [i686/mpeg3dump] Error 1
 *
 * ERROR: media-libs/libmpeg3-1.5.2-r3 failed.
 * Call stack:
 * ebuild.sh, line   49:  Called src_compile
 * environment, line 2352:  Called die
 * The specific snippet of code:
 * emake CC="$(tc-getCC)" || die "make failed"
 * The die message:
 * make failed


localhost portage # emerge --info
Portage 2.2_rc12 (default/linux/x86/2008.0/desktop, gcc-4.1.2, glibc-2.6.1-r0, 2.6.26-tuxonice i686)
=================================================================
System uname: Linux-2.6.26-tuxonice-i686-Intel-R-_Celeron-R-_CPU_2.66GHz-with-glibc2.0
Timestamp of tree: Sun, 12 Oct 2008 10:15:01 +0000
app-shells/bash:     3.2_p33
dev-lang/python:     2.4.4-r13, 2.5.2-r8
dev-util/cmake:      2.4.6-r1
sys-apps/baselayout: 2.0.0
sys-apps/openrc:     0.3.0-r1
sys-apps/sandbox:    1.2.18.1-r2
sys-devel/autoconf:  2.13, 2.61-r2
sys-devel/automake:  1.5, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2, 1.10.1-r1
sys-devel/binutils:  2.18-r3
sys-devel/gcc-config: 1.4.0-r4
sys-devel/libtool:   1.5.26
virtual/os-headers:  2.6.23-r3
ACCEPT_KEYWORDS="x86"
CBUILD="i686-pc-linux-gnu"
CFLAGS="-O2 -march=pentium4"
CHOST="i686-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/kde/3.5/env /usr/kde/3.5/share/config /usr/kde/3.5/shutdown /usr/share/config"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/revdep-rebuild /etc/terminfo /etc/texmf/web2c /etc/udev/rules.d"
CXXFLAGS="-O2 -march=pentium4"
DISTDIR="/usr/portage/distfiles"
FEATURES="collision-protect distlocks parallel-fetch preserve-libs protect-owned sandbox sfperms strict unmerge-orphans userfetch"
FFLAGS="-O2 -march=pentium4"
GENTOO_MIRRORS="ftp://sunsite.informatik.rwth-aachen.de/pub/Linux/gentoo ftp://linux.rz.ruhr-uni-bochum.de/gentoo-mirror/ ftp://ftp.uni-erlangen.de/pub/mirrors/gentoo ftp://ftp.join.uni-muenster.de/pub/linux/distributions/gentoo ftp://ftp.wh2.tu-dresden.de/pub/mirrors/gentoo ftp://ftp-stud.fht-esslingen.de/pub/Mirrors/gentoo/ ftp://ftp.rz.tu-bs.de/pub/mirror/ftp.gentoo.org/gentoo-distfiles/"
LDFLAGS="-Wl,-O1"
LINGUAS="ru"
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/portage/local/layman/sunrise /usr/portage/local/layman/science /usr/portage/local/gentoo-lisp-overlay"
SYNC="rsync://rsync.europe.gentoo.org/gentoo-portage"
USE="X aac acl acpi alsa bash-completion berkdb blas bluetooth boehm-gc branding browserplugin bzip2 cairo cdr cli cracklib crypt css cups curl dbus doc dri dvd dvdr dvdread eds emacs emboss encode esd evo fam ffmpeg fftw firefox fltk fortran gd gdbm gif gmp gnome gpm gsl gstreamer gtk hal iconv imagemagick isdnlog jpeg kde kerberos lapack latex ldap leim libnotify mad midi mikmod mmx mozilla mp3 mpeg mudflap mule ncurses nls nptl nptlonly nsplugin offensive ogg opengl openmp pam pcre pdf perl plotutils png ppds pppd python qt3 qt3support qt4 quicktime readline reflection sdl session speex spell spl ssl startup-notification svg sysfs tcl tcpd tetex tiff tk truetype umfpack unicode usb vcd vorbis win32codecs wxwindows x86 xine xml xorg xv xvid zlib" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1 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 mmap_emul mulaw multi null plug rate route share shm softvol" APACHE2_MODULES="actions alias auth_basic authn_alias 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 speling status unique_id userdir usertrack vhost_alias" ELIBC="glibc" INPUT_DEVICES="keyboard mouse" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="ru" USERLAND="GNU" VIDEO_CARDS="i810 vesa fbdev"
Unset:  CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LANG, LC_ALL, MAKEOPTS, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS
Comment 4 Beetle B. 2008-10-13 21:34:45 UTC
Same problem here, with nasm-2.04.

Upgrading to latest (unstable) libmpeg3 fixed it.
Comment 5 Seri Al-Najjar 2008-10-19 10:49:53 UTC
Same problem here.
Forcing a build of 1.7 by adding the
  ACCEPT_KEYWORDS="~x86"
line to my make.conf file and then running
  emerge =libmpeg3-1.7
fixed it.
Comment 6 Colin 2008-11-01 19:55:58 UTC
+1

(In reply to comment #5)
> Same problem here.
> Forcing a build of 1.7 by adding the
>   ACCEPT_KEYWORDS="~x86"
> line to my make.conf file and then running
>   emerge =libmpeg3-1.7
> fixed it.

That would upgrade your entire system to unstable, which is probably not what you want.  I simply added "=media-libs/libmpeg3-1.7" to my package.keywords, and the problem resolved itself. 
Comment 7 Christian Faulhammer (RETIRED) gentoo-dev 2008-11-01 21:02:50 UTC
Please test if we can stable libmpeg-1.7
Comment 8 Markus Meier gentoo-dev 2008-11-02 12:31:05 UTC
amd64/x86 stable
Comment 9 Matt 2008-11-02 12:50:54 UTC
"=media-libs/libmpeg3-1.7"(In reply to comment #7)
> Please test if we can stable libmpeg-1.7
> 

media-libs/libmpeg3-1.7 compiles on my system where media-libs/libmpeg3-1.5.2-r3 was failing.  This is a fresh x86-32 2008.0/desktop install (portage updated yesterday - Nov. 1, 2008).

Just thought I'd let y'all know.

:-)

M.
Comment 10 nixnut (RETIRED) gentoo-dev 2008-11-08 13:27:58 UTC
ppc stable
Comment 11 Raúl Porcel (RETIRED) gentoo-dev 2008-11-08 17:20:22 UTC
alpha/arm/ia64/sh/sparc stable
Comment 12 Brent Baude (RETIRED) gentoo-dev 2008-11-26 16:36:42 UTC
ppc64 done
Comment 13 Samuli Suominen (RETIRED) gentoo-dev 2008-11-30 08:51:45 UTC
*** Bug 150799 has been marked as a duplicate of this bug. ***
Comment 14 Samuli Suominen (RETIRED) gentoo-dev 2008-11-30 08:52:46 UTC
hppa, needs stable keyword.
mips, needs ~arch keyword. old ebuild will be dropped anyway.
Comment 15 Jeroen Roovers (RETIRED) gentoo-dev 2008-12-01 07:03:04 UTC
Stable for HPPA. Not closing because mips still may want to keyword?!
Comment 16 Samuli Suominen (RETIRED) gentoo-dev 2008-12-01 07:04:10 UTC
(In reply to comment #15)
> Stable for HPPA. Not closing because mips still may want to keyword?!
> 

Yeah, let's wait for a while.. but I doubt there will be any response whatsoever.
Comment 17 Samuli Suominen (RETIRED) gentoo-dev 2008-12-02 17:27:07 UTC
(In reply to comment #13)
> *** Bug 150799 has been marked as a duplicate of this bug. ***
> 

Opened: 2006-10-10 12:29 0000. As suspected no response from mips, closing as RESOLVED, CANTFIX. Old ebuild removed.