emerge xine-lib fails Reproducible: Always Steps to Reproduce: 1. emerge sync 2. emerge =media-libs/xine-lib-1.1.0-r2 Actual Results: compilation error Expected Results: working instalation Portage 2.0.51.22-r2 (default-linux/x86/2005.0, gcc-3.4.4, glibc-2.3.5-r1, 2.6.12-gentoo-r9 i686) ================================================================= System uname: 2.6.12-gentoo-r9 i686 Pentium III (Coppermine) Gentoo Base System version 1.12.0_pre6 distcc 2.18.3 i686-pc-linux-gnu (protocols 1 and 2) (default port 3632) [disabled] ccache version 2.4 [enabled] dev-lang/python: 2.2.3-r6, 2.3.5, 2.4.1-r1 sys-apps/sandbox: 1.2.12 sys-devel/autoconf: 2.13, 2.59-r7 sys-devel/automake: 1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6 sys-devel/binutils: 2.16.1 sys-devel/libtool: 1.5.18-r1 virtual/os-headers: 2.6.11-r2 ACCEPT_KEYWORDS="x86 ~x86" AUTOCLEAN="yes" CBUILD="i686-pc-linux-gnu" CFLAGS="-march=pentium3 -O2 -pipe -mfpmath=sse,387 -mmmx -msse" CHOST="i686-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3.4/env /usr/kde/3.4/share/config /usr/kde/3.4/shutdown /usr/kde/3/share/config /usr/lib/X11/xkb /usr/share/config /usr/share/texmf/dvipdfm/config/ /usr/share/texmf/dvips/config/ /usr/share/texmf/tex/generic/config/ /usr/share/texmf/tex/platex/config/ /usr/share/texmf/xdvi/ /var/bind /var/qmail/control" CONFIG_PROTECT_MASK="/etc/X11/Sessions /etc/default /etc/gconf /etc/sound /etc/splash /etc/terminfo /etc/xinetd.d /etc/env.d" CXXFLAGS="-march=pentium3 -O2 -pipe" DISTDIR="/mnt/share1/gentoo/distfiles" FEATURES="autoconfig candy ccache distlocks fixpackages sandbox sfperms strict userpriv usersandbox" GENTOO_MIRRORS="ftp://ftp.belnet.be/mirror/rsync.gentoo.org/gentoo/ http://ftp.belnet.be/mirror/rsync.gentoo.org/gentoo/ http://mir.zyrianes.net/gentoo/ ftp://mirror.aiya.ru/pub/gentoo/ http://mirror.aiya.ru/pub/gentoo/" LANG="ru_RU.UTF-8" LC_ALL="" LINGUAS="ru" MAKEOPTS="-j2" PKGDIR="/mnt/share1/gentoo/packages" PORTAGE_TMPDIR="/mnt/share1/gentoo/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/mnt/share1/gentoo/portage/my-overlay /mnt/share1/gentoo/portage/misc-overlay /mnt/share1/gentoo/portage/lila-overlay" SYNC="rsync://rsync.europe.gentoo.org/gentoo-portage" USE="x86 GAPING_SECURITY_HOLE X X509 Xaw3d a52 aac aalib accessibility acl acpi activefilter alsa ansi apache2 ares atm audiofile authfile bash-completion berkdb bigger-fonts bitmap-fonts browserplugin bzip2 c++ cairo ccache cdr chroot crypt cscope css cups curl dbus dga dhcp disablexmb doc dts dv dvd dvdr dvdread dynagraph editor eds effects elf emboss encode erandom examples exif extensions extras fam fame fbcon ffmpeg flac font-server foomaticdb fortran fpx gcj gd gdbm gif gimp glep glitz gphoto2 gpm graphviz gstreamer gtk2 hal howl hpn icq ieee1394 imagemagick inkjar ipv6 irmc ithreads jabber java jbig jce jikes jpeg jpeg2k junit kde kdeenablefinal kdgraphics kerberos kipi krb4 lcms ldap libg++ libwww lirc lm_sensors logitech-mouse logrotate lua lzo mad mailwrapper make-symlinks maps mbox mikmod mjpeg mmap mmx mmxext mng mod_irc mod_muc mod_pubsub motif mozdevelop mozsvg mozxmlterm mp3 mpeg mpm-worker mppe-mppc msn music mysql ncurses network nis nls nocd nowin nptl nsplugin ntlm ntlm_unsupported_patch nvidia oav objc odbc offensive ogg oggvorbis on-the-fly-crypt opengl oss pam pcre pdflib perl pg-hier pg-intdatetime pg-vacuumdelay php pic plotutils png posix povray pwdb python qt quicktime quotas radius rdesktop readline real rpc samba sasl savedconfig sdl sendfile sensord server sftplogging shaper silverxp skey slang slp smartcard sndfile snmp socks5 softquota sounds source speex spell sql sqlite srv sse ssl subversion svg svga tcpd tetex theora threads tidy tiff tools truetype truetype-fonts type1-fonts unicode usb v4l v4l2 vda vhosts videos vim-with-x visualization vorbis web wifi win32codecs wmf xine xml2 xprint xrandr xv xvid xvmc yp zeroconf zlib linguas_ru userland_GNU kernel_linux elibc_glibc" Unset: ASFLAGS, CTARGET, LDFLAGS
Created attachment 67214 [details] xine-lib.log
Please provide the output in a readable format.
The attachemnt looks like the same problem that I am having as well. This is the error mpegvideo_mmx_template.c: In function `dct_quantize_MMX': mpegvideo_mmx_template.c:145: error: can't find a register in class `GENERAL_REGS' while reloading `asm' mpegvideo_mmx_template.c:93: error: can't find a register in class `GENERAL_REGS' while reloading `asm' make[5]: *** [mpegvideo_mmx.lo] Error 1 make[5]: Leaving directory `/var/tmp/portage/xine-lib-1.1.0-r2/work/xine-lib-1.1.0/src/libffmpeg/libavcodec/i386' make[4]: *** [all-recursive] Error 1 make[4]: Leaving directory `/var/tmp/portage/xine-lib-1.1.0-r2/work/xine-lib-1.1.0/src/libffmpeg/libavcodec' make[3]: *** [all-recursive] Error 1 make[3]: Leaving directory `/var/tmp/portage/xine-lib-1.1.0-r2/work/xine-lib-1.1.0/src/libffmpeg' make[2]: *** [all-recursive] Error 1 make[2]: Leaving directory `/var/tmp/portage/xine-lib-1.1.0-r2/work/xine-lib-1.1.0/src' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/var/tmp/portage/xine-lib-1.1.0-r2/work/xine-lib-1.1.0' make: *** [all] Error 2 Here is my emerge --info as well Portage 2.0.51.22-r2 (default-linux/x86/2005.1, gcc-3.4.4, glibc-2.3.5-r1, 2.6.13-gentoo i686) ================================================================= System uname: 2.6.13-gentoo i686 AMD Athlon(TM) XP 1800+ Gentoo Base System version 1.12.0_pre6 ccache version 2.4 [enabled] dev-lang/python: 2.4.1-r1 sys-apps/sandbox: 1.2.12 sys-devel/autoconf: 2.13, 2.59-r7 sys-devel/automake: 1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6 sys-devel/binutils: 2.16.1 sys-devel/libtool: 1.5.18-r1 virtual/os-headers: 2.6.11-r2 ACCEPT_KEYWORDS="x86 ~x86" AUTOCLEAN="yes" CBUILD="i686-pc-linux-gnu" CFLAGS="-O3 -march=athlon-xp -fforce-addr -momit-leaf-frame-pointer -fomit-frame-pointer -ftracer -pipe" CHOST="i686-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3.4/env /usr/kde/3.4/share/config /usr/kde/3.4/shutdown /usr/kde/3/share/config /usr/lib/X11/xkb /usr/share/config /var/qmail/control" CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d" CXXFLAGS="-O3 -march=athlon-xp -fforce-addr -momit-leaf-frame-pointer -fomit-frame-pointer -ftracer -pipe -fvisibility-inlines-hidden" DISTDIR="/usr/portage/distfiles" FEATURES="autoconfig ccache distlocks fixpackages sandbox sfperms strict" GENTOO_MIRRORS="ftp://gentoo.ccccom.com http://mirror.datapipe.net/gentoo http://distro.ibiblio.org/pub/linux/distributions/gentoo/ http://gentoo.mirrors.pair.com/ http://ftp.fr.freesbie.org/gentoo/" MAKEOPTS="-j2" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/etc/portage" SYNC="rsync://rsync.gentoo.org/gentoo-portage" USE="x86 3dnow X a52 aac alsa apm avi berkdb bitmap-fonts bzip2 cdr crypt cups curl dga directfb divx4linux dlloader dvd dvdread encode fam fbcon ffmpeg flac foomaticdb fortran gdbm gif gpm imagemagick imlib ithreads java jpeg kde kdeenablefinal lzo mad mikmod mmx motif mp3 mpeg ncurses nls nptl nvidia ogg oggvorbis opengl pam pdflib perl pic png python qt quicktime readline real samba sdl speex spell sse ssl svga tcpd theora tiff truetype truetype-fonts type1-fonts vidix vorbis win32codecs xine xml2 xv xvid zlib userland_GNU kernel_linux elibc_glibc" Unset: ASFLAGS, CTARGET, LANG, LC_ALL, LDFLAGS, LINGUAS Please let me know if you need anything else
Created attachment 67230 [details] xine-lib-1.1.0-r2.log Here's the output from when I try to merge xine-lib-1.1.0-r2
And here's my emerge info: Portage 2.0.51.22-r2 (default-linux/x86/2005.0, gcc-3.4.4, glibc-2.3.5-r1, 2.6.12-gentoo-r3 i686) ================================================================= System uname: 2.6.12-gentoo-r3 i686 Intel(R) Pentium(R) 4 Mobile CPU 1.60GHz Gentoo Base System version 1.12.0_pre6 distcc 2.18.3 i686-pc-linux-gnu (protocols 1 and 2) (default port 3632) [disabled] ccache version 2.4 [enabled] dev-lang/python: 2.4.1-r1 sys-apps/sandbox: 1.2.12 sys-devel/autoconf: 2.13, 2.59-r7 sys-devel/automake: 1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6 sys-devel/binutils: 2.16.1 sys-devel/libtool: 1.5.18-r1 virtual/os-headers: 2.6.11-r2 ACCEPT_KEYWORDS="x86 ~x86" AUTOCLEAN="yes" CBUILD="i686-pc-linux-gnu" CFLAGS="-O2 -O3 -mtune=pentium4 -march=pentium4 -pipe" CHOST="i686-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3.4/env /usr/kde/3.4/share/config /usr/kde/3.4/shutdown /usr/kde/3/share/config /usr/lib/X11/xkb /usr/share/config /var/qmail/control" CONFIG_PROTECT_MASK="/etc/gconf /etc/splash /etc/terminfo /etc/env.d" CXXFLAGS="-O2 -O3 -mtune=pentium4 -march=pentium4 -pipe" DISTDIR="/usr/portage/distfiles" FEATURES="autoconfig ccache distlocks sandbox sfperms strict userpriv usersandbox" GENTOO_MIRRORS="http://mirror.datapipe.net/gentoo http://gentoo.ccccom.com ftp://ftp.ndlug.nd.edu/pub/gentoo" MAKEOPTS="-j1" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" SYNC="rsync://192.168.0.30/gentoo-portage" USE="x86 X aac acpi alsa avi berkdb bitmap-fonts bzip2 cddb cdr crypt cups curl dvd emboss faad fam fftw flac foomaticdb fortran gdbm gif gimpprint gpm gstreamer gtk gtk2 hal ieee1394 imagemagick imlib java jpeg kde kdeenablefinal libg++ libwww mad mikmod mime mmx mng motif mozilla mp3 mpeg mysql mythtv ncurses nls nptl offensive ogg oggvorbis opengl pam pcmcia pdflib perl png pnp ppds python qt quicktime readline real samba sdl speex spell sqllite sse sse2 ssl svg svga tcpd theora tidy tiff truetype truetype-fonts type1-fonts usb vorbis wifi win32codecs wxgtk1 xgetdefault xml xml2 xscreensaver xv xvid zlib userland_GNU kernel_linux elibc_glibc" Unset: ASFLAGS, CTARGET, LANG, LC_ALL, LDFLAGS, LINGUAS, PORTDIR_OVERLAY
I get the same error here. This bug looks similar to bug 104175. Could anyone check if this is a duplicate?
*** Bug 104175 has been marked as a duplicate of this bug. ***
The problem is 90% due to sse usage (old versions of xine just forced it off, the -r2 does not). I'll give it a try in an sse-enabled system (I tried on an athlon-tbird without problems) and then see what to do. This is not a problem with amd64, so if the problem is with sse it will be blacklisted just for x86.
*** Bug 104235 has been marked as a duplicate of this bug. ***
I did "USE="-sse -sse2" emerge =media-libs/xine-lib-1.1.0-r2" on an Athlon XP 2200+ and xine still does not build, failing with errors from #1
It's not an useflag problem. Anyway, I've committed a workaround in the ebuild so that x86 users gets sse disabled and frame pointer omitted in the ebuild itself. This should make it usable.
i used a relative new xine-lib ebuild: MD5 cede3a59f7a7c150103a24a98c5dde21 xine-lib-1.1.0-r2.ebuild 5738 it failed before i added -fomit-frame-pointer to CFLAGS. So this worked on the athlon box here (no problems at home with pentium 4) CFLAGS="-O2 -march=athlon-xp -mtune=athlon-xp -pipe -fomit-frame-pointer" \ emerge -u xine-lib
*** Bug 104246 has been marked as a duplicate of this bug. ***
CFLAGS="-O2 -march=athlon-xp -mtune=athlon-xp -pipe -fomit-frame-pointer" emerge -u xine-lib works for me
The problem has gone
Changing my CFLAGS worked for me as well. I do have a couple questions. Will the CFLAGS need to be changed to emerge this package in the future? Or was this change only needed for this version?
It's fixed now, you don't need to change anything, the ebuild's current version does it for you.
I still seem to be having the same problem. I have done another synch, and I belive I am using the latest ebuild, the date is Aug 30th. However I still am recivng the same error during compile. The only time I can get it to work is by specifing the CFLAGS suggested during the time of the emerge. Any ideas?
use sane CFLAGS? :P Diego, this still dies for me on Pentium4. i686-pc-linux-gnu-gcc -DHAVE_CONFIG_H -I. -I. -I../../../.. -I../../../.. -I../../../../include -I../../../../include -I../../../../src -I../../../../src/xine-engine -I../../../../src/xine-engine -I../../../../src/xine-utils -I../../../../src/input -I../../../../src/input -I../../../../lib -DSIMPLE_IDCT -DHAVE_AV_CONFIG_H -DRUNTIME_CPUDETECT -DUSE_FASTMEMCPY -DCONFIG_RISKY -DCONFIG_DECODERS -DXINE_MPEG_ENCODER -DCONFIG_ZLIB -DNDEBUG -D_REENTRANT -DXINE_COMPILE -O2 -march=pentium4 -fomit-frame-pointer -pipe -fno-ident -frename-registers -ffunction-sections -mno-sse -fomit-frame-pointer -c dsputil_mmx.c -fPIC -DPIC -o .libs/dsputil_mmx.o h264dsp_mmx.c: In function 'h264_h_loop_filter_luma_mmx2': dsputil_mmx.c:618: error: can't find a register in class 'GENERAL_REGS' while reloading 'asm' dsputil_mmx.c:618: error: can't find a register in class 'GENERAL_REGS' while reloading 'asm' make[5]: *** [dsputil_mmx.lo] Error 1 make[5]: Leaving directory `/var/tmp/portage/xine-lib-1.1.0-r2/work/xine-lib-1.1.0/src/libffmpeg/libavcodec/i386' note it's a different function than some of the other comments (but the same as comment #4, also a P4). CFLAGS are "-O2 -march=pentium4 -fomit-frame-pointer -pipe -fno-ident"
replacing src_config with the one from -r1 didn't make a difference, but removing 100_all_noextraflags.patch from -r2 does. here's the call to gcc for the same file: i686-pc-linux-gnu-gcc -DHAVE_CONFIG_H -I. -I. -I../../../.. -I../../../.. -I../../../../include -I../../../../include -I../../../../src -I../../../../src/xine-engine -I../../../../src/xine-engine -I../../../../src/xine-utils -I../../../../src/input -I../../../../src/input -I../../../../lib -DSIMPLE_IDCT -DHAVE_AV_CONFIG_H -DRUNTIME_CPUDETECT -DUSE_FASTMEMCPY -DCONFIG_RISKY -DCONFIG_DECODERS -DXINE_MPEG_ENCODER -DCONFIG_ZLIB -mtune=pentiumpro -O3 -pipe -fomit-frame-pointer -falign-functions=4 -falign-loops=4 -falign-jumps=4 -mpreferred-stack-boundary=2 -fexpensive-optimizations -fschedule-insns2 -fno-strict-aliasing -ffast-math -finline-functions -Wall -DNDEBUG -D_REENTRANT -D_FILE_OFFSET_BITS=64 -DXINE_COMPILE -Wpointer-arith -Wnested-externs -Wcast-align -Wchar-subscripts -Wmissing-declarations -Wmissing-prototypes -O2 -march=pentium4 -fomit-frame-pointer -pipe -fno-ident -frename-registers -ffunction-sections -mno-sse -fomit-frame-pointer -c dsputil_mmx.c -o .libs/dsputil_mmx.o In file included from dsputil_mmx.c:2406: h264dsp_mmx.c:69: warning: no previous prototype for 'ff_h264_idct_add_mmx2' we can rule out -fexpensive-optimizations and -fschedule-insns2 which are included in -O2. -finline-functions is included in -O3 which also doesn't work as per comment #5.
This means that, for pentium4 arch, we need one more of these flags.. -falign-functions=4 -falign-loops=4 -falign-jumps=4 -mpreferred-stack-boundary=2 -fno-strict-aliasing -ffast-math I'll give it a try in the x86 chroot and see which one works.
The problem still exists event I changed the CFLAGS. emerge info Portage 2.0.51.22-r2 (default-linux/x86/2005.1, gcc-4.0.1, glibc-2.3.5.20050722-r0, 2.6.12-gentoo-r9 i686) ================================================================= System uname: 2.6.12-gentoo-r9 i686 Intel(R) Pentium(R) 4 CPU 2.60GHz Gentoo Base System version 1.12.0_pre6 ccache version 2.4 [disabled] dev-lang/python: 2.3.5, 2.4.1-r1 sys-apps/sandbox: 1.2.12 sys-devel/autoconf: 2.13, 2.59-r7 sys-devel/automake: 1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6 sys-devel/binutils: 2.16.1 sys-devel/libtool: 1.5.18-r1 virtual/os-headers: 2.6.11-r2 ACCEPT_KEYWORDS="x86 ~x86" AUTOCLEAN="yes" CBUILD="i686-pc-linux-gnu" CFLAGS="-O2 -march=pentium4 -mtune=pentium4 -mfpmath=sse -msse2 -fforce-addr -momit-leaf-frame-pointer -pipe" CHOST="i686-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3.4/env /usr/kde/3.4/share/config /usr/kde/3.4/shutdown /usr/kde/3/share/config /usr/lib/X11/xkb /usr/lib/mozilla/defaults/pref /usr/share/config /var/qmail/control" CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/texmf/web2c /etc/env.d" CXXFLAGS="-O2 -march=pentium4 -mtune=pentium4 -mfpmath=sse -msse2 -fforce-addr -momit-leaf-frame-pointer -pipe -fvisibility-inlines-hidden" DISTDIR="/usr/portage/distfiles" FEATURES="autoconfig distlocks sandbox sfperms strict" GENTOO_MIRRORS="http://mirror.gentoo.gr.jp ftp://gg3.net/pub/linux/gentoo/ ftp://mirror.pacific.net.au/linux/Gentoo ftp://ftp.isu.edu.tw/pub/Linux/Gentoo" LANG="zh_CN.UTF-8" LC_ALL="zh_CN.UTF-8" LDFLAGS="-Wl,-O2" LINGUAS="zh_CN" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/t" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/usr/local/portage /usr/local/myportage /usr/local/bmg-gnome-current" SYNC="rsync://rsync.gentoo.org/gentoo-portage" USE="x86 X aalib accessibility alsa apache2 apm audiofile avi berkdb bitmap-fonts bonobo bzlib bzlibi cdparanoia cdr cjk cpdflib crypt cscope cups curl dba divx4linux dnotify doc dvd dvdr eds emboss encode esd exif fam ffmpeg firefox flac font-server foomaticdb gcj gd gd-external gdbm gif glc glitz gnome gphoto2 gpm gstreamer gtk gtk2 gtkhtml guile hal imagemagick imlib innodb jack java jpeg junit kde kdeenablefinal kerberos kernel_linux ldap libg++ libwww live logitech-mouse mad mikmod mime mmx mng mono mozilla mp3 mpeg mule ncurses nls no_wxgtk1 nptl nptlonly nvidia ogg oggvorbis opengl oss pam pcre pdflib perl php png postgres python qt quicktime readline real rplay rtc samba slang spell sqlite sse sse2 ssl stroke subversion svg tcpd tetex tiff truetype truetype-fonts usb vcd vorbis win32codecs wmf xine xml xml2 xmms xv xvid zlib linguas_zh_CN userland_GNU elibc_glibc" Unset: ASFLAGS, CTARGET, MAKEOPTS
OK, I just did an 'emerge sync' and after that I tried emerging xine-lib-1.1.0-r2... there were no problems for me, so I can say that the new ebuild worked for me on a pentium4. This is my emerge info: Portage 2.0.51.22-r2 (default-linux/x86/2005.0, gcc-3.4.4, glibc-2.3.5-r0, 2.6.12-morph7 i686) ================================================================= System uname: 2.6.12-morph7 i686 Intel(R) Pentium(R) 4 CPU 1400MHz Gentoo Base System version 1.12.0_pre6 ccache version 2.4 [disabled] dev-lang/python: 2.3.5, 2.4.1-r1 sys-apps/sandbox: 1.2.12 sys-devel/autoconf: 2.13, 2.59-r7 sys-devel/automake: 1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6 sys-devel/binutils: 2.16.91.0.3 sys-devel/libtool: 1.5.18-r1 virtual/os-headers: 2.6.11-r2 ACCEPT_KEYWORDS="x86 ~x86" AUTOCLEAN="yes" CBUILD="i686-pc-linux-gnu" CFLAGS="-march=pentium4 -mtune=pentium4 -O3 -mmmx -msse -msse2 -pipe -ffast-math -mfpmath=sse -fforce-addr -falign-functions=4 -fprefetch-loop-arrays -funroll-loops -fthread-jumps" CHOST="i686-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3.4/env /usr/kde/3.4/share/config /usr/kde/3.4/shutdown /usr/kde/3/share/config /usr/lib/X11/xkb /usr/share/config /var/qmail/control" CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d" CXXFLAGS="-march=pentium4 -mtune=pentium4 -O3 -mmmx -msse -msse2 -pipe -ffast-math -mfpmath=sse -fforce-addr -falign-functions=4 -fprefetch-loop-arrays -funroll-loops -fthread-jumps" DISTDIR="/usr/portage/distfiles" FEATURES="autoconfig distlocks sandbox sfperms strict" GENTOO_MIRRORS="ftp://ftp.tu-clausthal.de/pub/linux/gentoo/ ftp://ftp.join.uni-muenster.de/pub/linux/distributions/gentoo ftp://linux.rz.ruhr-uni-bochum.de/gentoo-mirror/ ftp://gentoo.inode.at/source/ http://gentoo.oregonstate.edu http://www.ibiblio.org/pub/Linux/distributions/gentoo" LANG="de_DE@euro" LC_ALL="de_DE@euro" LDFLAGS="-Wl,-O1 -Wl,--sort-common -s" LINGUAS="de" MAKEOPTS="-j2" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/usr/local/portage /usr/local/overlays/gentoo-de /usr/local/overlays/bmg-main" SYNC="rsync://rsync.europe.gentoo.org/gentoo-portage" USE="x86 X aalib acpi alsa apm arts atm avi bitmap-fonts camera cdr crypt cups curl directfb dvd eds emboss encode esd fam fbcon flac foomaticdb fortran gd gdbm gif gphoto2 gpm gstreamer gtk gtk2 imagemagick imlib ipv6 java joystick jpeg kde libg++ libwww mad mikmod mmx motif mozilla mp3 mpeg ncurses nls nvidia ogg oggvorbis oggvoris opengl oss pam pdflib perl png ppds python qt quicktime readline real scanner sdl slang spell sse sse2 ssl svga tcltk tcpd tiff truetype truetype-fonts type1-fonts vorbis wmf wxwindows xine xml2 xmms xv zlib linguas_de userland_GNU kernel_linux elibc_glibc" Unset: ASFLAGS, CTARGET
Hmm I cannot reproduce the compile problem here. R Hill, please provide emerge info.. are you using an hardened toolchain maybe?
Just synced and still a no go on my pentium3. i686-pc-linux-gnu-gcc -DHAVE_CONFIG_H -I. -I. -I../../../.. -I../../../.. -I../../../../include -I../../../../include -I../../../../src -I../../../../src/xine-engine -I../../../../src/xine-engine -I../../../../src/xine-utils -I../../../../src/input -I../../../../src/input -I../../../../lib -DSIMPLE_IDCT -DHAVE_AV_CONFIG_H -DRUNTIME_CPUDETECT -DUSE_FASTMEMCPY -DCONFIG_RISKY -DCONFIG_DECODERS -DXINE_MPEG_ENCODER -DCONFIG_ZLIB -DNDEBUG -D_REENTRANT -DXINE_COMPILE -DENABLE_IPV6 -march=pentium3 -O3 -pipe -momit-leaf-frame-pointer -frename-registers -ffunction-sections -mno-sse -fomit-frame-pointer -c mpegvideo_mmx.c -fPIC -DPIC -o .libs/mpegvideo_mmx.o mpegvideo_mmx_template.c: In function `dct_quantize_MMX': mpegvideo_mmx_template.c:93: error: can't find a register in class `GENERAL_REGS' while reloading `asm' make[5]: *** [mpegvideo_mmx.lo] Error 1 make[5]: Leaving directory `/var/tmp/portage/xine-lib-1.1.0-r2/work/xine-lib-1.1.0/src/libffmpeg/libavcodec/i386' make[4]: *** [all-recursive] Error 1 make[4]: Leaving directory `/var/tmp/portage/xine-lib-1.1.0-r2/work/xine-lib-1.1.0/src/libffmpeg/libavcodec' make[3]: *** [all-recursive] Error 1 make[3]: Leaving directory `/var/tmp/portage/xine-lib-1.1.0-r2/work/xine-lib-1.1.0/src/libffmpeg' make[2]: *** [all-recursive] Error 1 make[2]: Leaving directory `/var/tmp/portage/xine-lib-1.1.0-r2/work/xine-lib-1.1.0/src' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/var/tmp/portage/xine-lib-1.1.0-r2/work/xine-lib-1.1.0' make: *** [all] Error 2 emerge --info Portage 2.0.51.22-r2 (default-linux/x86/2005.1, gcc-3.4.4, glibc-2.3.5-r1, 2.6.13-gentoo i686) ================================================================= System uname: 2.6.13-gentoo i686 Pentium III (Coppermine) Gentoo Base System version 1.12.0_pre6 ccache version 2.4 [enabled] dev-lang/python: 2.4.1-r1 sys-apps/sandbox: 1.2.12 sys-devel/autoconf: 2.13, 2.59-r7 sys-devel/automake: 1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6 sys-devel/binutils: 2.16.1 sys-devel/libtool: 1.5.18-r1 virtual/os-headers: 2.6.11-r2 ACCEPT_KEYWORDS="x86" AUTOCLEAN="yes" CBUILD="i686-pc-linux-gnu" CFLAGS="-march=pentium3 -O3 -pipe -momit-leaf-frame-pointer" CHOST="i686-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3.5/env /usr/kde/3.5/share/config /usr/kde/3.5/shutdown /usr/kde/3/share/config /usr/lib/X11/xkb /usr/lib/mozilla/defaults/pref /usr/share/config /usr/share/texmf/dvipdfm/config/ /usr/share/texmf/dvips/config/ /usr/share/texmf/tex/generic/config/ /usr/share/texmf/tex/platex/config/ /usr/share/texmf/xdvi/ /var/qmail/control" CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d" CXXFLAGS="-march=pentium3 -O3 -pipe -momit-leaf-frame-pointer" DISTDIR="/packages" FEATURES="autoconfig candy ccache distlocks sandbox sfperms strict" GENTOO_MIRRORS="ftp://gg3.net/pub/linux/gentoo/ ftp://ftp.ecc.u-tokyo.ac.jp/GENTOO http://ibiblio.org/pub/Linux/MIRRORS.html " LINGUAS="en ja" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/usr/local/portage" SYNC="rsync://rsync.gentoo.org/gentoo-portage" USE="x86 X a52 aac aalib alsa anthy apm arts audiofile avi berkdb bitmap-fonts bluetooth bmp carbone_theme cdparanoia cdr cjk cpudetection crypt cscope cups curl dbus dhcp divx4linux dts dvd dvdr dvdread emboss encode esd exif fam fame ffmpeg firefox flac font-server foomaticdb fortran gd gdbm ggi gif gnome gphoto2 gpm gstreamer gtk gtk2 guile hal imagemagick imlib ipv6 jack java jikes jpeg junit kde kdepim ldap libcaca libg++ libwww live logitech-mouse mad mailwrapper mikmod mjpeg mmx mmxext mng motif mozilla moznoirc moznomail mp3 mpeg mplayer nas ncurses network nls nonfsv4 nptl nptlonly nsplugin nvidia ogg oggvorbis openal opengl oss pam pda pdflib perl png postgres python qt quicktime readline real rtc samba sblive scanner sdl slang smime speex spell sse ssl svga tcltk tcpd theora tiff truetype truetype-fonts type1-fonts unicode usb v4l v4l2 vidix vorbis win32codecs xine xml xml2 xprint xscreensaver xv xvid zlib zvbi linguas_en linguas_ja userland_GNU kernel_linux elibc_glibc" Unset: ASFLAGS, CTARGET, LANG, LC_ALL, LDFLAGS, MAKEOPTS
damns. looks like it's gcc-4 related. 3.4.4-r1 builds it fine.
this fails: i686-pc-linux-gnu-gcc -DHAVE_CONFIG_H -I. -I. -I../../../.. -I../../../.. -I../../../../include -I../../../../include -I../../../../src -I../../../../src/xine-engine -I../../../../src/xine-engine -I../../../../src/xine-utils -I../../../../src/input -I../../../../src/input -I../../../../lib -DSIMPLE_IDCT -DHAVE_AV_CONFIG_H -DRUNTIME_CPUDETECT -DUSE_FASTMEMCPY -DCONFIG_RISKY -DCONFIG_DECODERS -DXINE_MPEG_ENCODER -DCONFIG_ZLIB -DNDEBUG -D_REENTRANT -DXINE_COMPILE -mtune=pentiumpro -O2 -march=pentium4 -fomit-frame-pointer -pipe -fno-ident -falign-functions=4 -falign-loops=4 -falign-jumps=4 -mpreferred-stack-boundary=2 -fno-strict-aliasing -ffast-math -finline-functions -D_FILE_OFFSET_BITS=64 -frename-registers -ffunction-sections -mno-sse -fomit-frame-pointer -c dsputil_mmx.c -fPIC -DPIC -o .libs/dsputil_mmx.o this passes: i686-pc-linux-gnu-gcc -DHAVE_CONFIG_H -I. -I. -I../../../.. -I../../../.. -I../../../../include -I../../../../include -I../../../../src -I../../../../src/xine-engine -I../../../../src/xine-engine -I../../../../src/xine-utils -I../../../../src/input -I../../../../src/input -I../../../../lib -DSIMPLE_IDCT -DHAVE_AV_CONFIG_H -DRUNTIME_CPUDETECT -DUSE_FASTMEMCPY -DCONFIG_RISKY -DCONFIG_DECODERS -DXINE_MPEG_ENCODER -DCONFIG_ZLIB -mtune=pentiumpro -O3 -pipe -fomit-frame-pointer -falign-functions=4 -falign-loops=4 -falign-jumps=4 -mpreferred-stack-boundary=2 -fexpensive-optimizations -fschedule-insns2 -fno-strict-aliasing -ffast-math -finline-functions -Wall -DNDEBUG -D_REENTRANT -D_FILE_OFFSET_BITS=64 -DXINE_COMPILE -Wpointer-arith -Wnested-externs -Wcast-align -Wchar-subscripts -Wmissing-declarations -Wmissing-prototypes -O2 -march=pentium4 -fomit-frame-pointer -pipe -fno-ident -frename-registers -ffunction-sections -mno-sse -fomit-frame-pointer -c dsputil_mmx.c -o .libs/dsputil_mmx.o other than the warn flags they're equivalent. so that rhythmic thumping noise you hear is me banging my head on my desk.
Can you provide emerge info?
Fails here too, with: pointer -c mpegvideo_mmx.c -fPIC -DPIC -o .libs/mpegvideo_mmx.o mpegvideo_mmx_template.c: In function `dct_quantize_MMX': mpegvideo_mmx_template.c:93: error: can't find a register in class `GENERAL_REGS' while reloading `asm' make[5]: *** [mpegvideo_mmx.lo] Error 1 Portage 2.0.51.22-r2 (default-linux/x86/2005.0, gcc-3.4.4, glibc-2.3.5-r1, 2.6.13-gentoo i686) ================================================================= System uname: 2.6.13-gentoo i686 Intel(R) Pentium(R) 4 CPU 3.20GHz Gentoo Base System version 1.6.13 dev-lang/python: 2.3.5, 2.4.1-r1 sys-apps/sandbox: 1.2.12 sys-devel/autoconf: 2.13, 2.59-r7 sys-devel/automake: 1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6 sys-devel/binutils: 2.16.1 sys-devel/libtool: 1.5.18-r1 virtual/os-headers: 2.6.11-r2 ACCEPT_KEYWORDS="x86 ~x86" AUTOCLEAN="yes" CBUILD="i686-pc-linux-gnu" CFLAGS="-O2 -march=pentium4 -mtune=pentium4 -fomit-frame-pointer -momit-leaf-frame-pointer -pipe" CHOST="i686-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3.4/env /usr/kde/3.4/share/config /usr/kde/3.4/shutdown /usr/kde/3/share/config /usr/lib/X11/xkb /usr/lib/mozilla/defaults/pref /usr/share/config /var/qmail/control" CONFIG_PROTECT_MASK="/etc/gconf /etc/splash /etc/terminfo /etc/texmf/web2c /etc/env.d" CXXFLAGS="-O2 -march=pentium4 -mtune=pentium4 -fomit-frame-pointer -momit-leaf-frame-pointer -pipe -fvisibility-inlines-hidden" DISTDIR="/usr/portage/distfiles" FEATURES="autoconfig distlocks sandbox sfperms strict" GENTOO_MIRRORS="http://gentoo.ITDNet.net/gentoo" LANG="en_US.utf8" LC_ALL="en_US.utf8" LINGUAS="en" MAKEOPTS="-j2" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/usr/local/portage" SYNC="rsync://rsync.gentoo.org/gentoo-portage" USE="x86 X aac acl alsa apache2 avi berkdb bitmap-fonts bonobo cdr crypt cups curl dbus directfb doc dvd dvdr eds emboss encode flac foomaticdb gd gdbm gif gnome gpm gstreamer gtk gtk2 gtkhtml guile hal imagemagick imlib ipv6 ithreads java jpeg junit kde kdeenablefinal ldap libg++ libwww mad mikmod mmap mmx motif mozilla mp3 mpeg mysql ncurses nls nptl nvidia ogg oggvorbis opengl pam pdflib perl pic plotutils png postgres pthreads python qt quicktime readline sdl session sharedmem slang spell sse sse2 ssl svga symlink tcltk tcpd tetex threads tiff truetype truetype-fonts type1-fonts unicode usb vorbis win32codecs xine xml xml2 xmms xv xvmc zlib linguas_en userland_GNU kernel_linux elibc_glibc" Unset: ASFLAGS, CTARGET, LDFLAGS
sorry. Portage 2.0.51.22-r2 (default-linux/x86/2005.1, gcc-4.0.1-20050825, glibc-2.3.5.20050722-r0, 2.6.13-rc7-ck1 i686) ================================================================= System uname: 2.6.13-rc7-ck1 i686 Mobile Intel(R) Pentium(R) 4 CPU 3.06GHz Gentoo Base System version 1.12.0_pre7 ccache version 2.4 [enabled] dev-lang/python: 2.3.5, 2.4.1-r1 sys-apps/sandbox: 1.2.12 sys-devel/autoconf: 2.13, 2.59-r7 sys-devel/automake: 1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6 sys-devel/binutils: 2.16.1, 2.16.91.0.3 sys-devel/libtool: 1.5.18-r1 virtual/os-headers: 2.6.11-r2 ACCEPT_KEYWORDS="x86 ~x86" AUTOCLEAN="yes" CBUILD="i686-pc-linux-gnu" CFLAGS="-O2 -march=pentium4 -fomit-frame-pointer -pipe -fno-ident" CHOST="i686-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3/share/config /usr/lib/X11/xkb /usr/share/config /var/qmail/control" CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d" CXXFLAGS="-O2 -march=pentium4 -fomit-frame-pointer -pipe -fno-ident -fvisibility-inlines-hidden" DISTDIR="/usr/portage/distfiles" FEATURES="autoconfig ccache distlocks sandbox sfperms" GENTOO_MIRRORS="http://gentoo.chem.wisc.edu/gentoo/" LDFLAGS="-Wl,-O1" MAKEOPTS="-j3" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/home/dirtyepic/overlay" SYNC="rsync://rsync.gentoo.org/gentoo-portage" USE="x86 X a52 aac acpi alsa avi bash-completion berkdb bzip2 cddb cdr crypt curl dbus divx4linux dts dvd dvdr dvdread eds encode exif ffmpeg firefox flac gdbm gif gnome gnutls gphoto2 gstreamer gtk gtk2 hal ieee1394 imagemagick imlib jpeg mad mmap mmx mng motif mp3 mpeg mpi ncurses nntp nptl nsplugin ogg oggvorbis opengl pcmcia perl pic png python quicktime readline ruby spell sse sse2 ssl svg tcpd threads tiff truetype usb vcd vorbis wifi win32codecs xine xml xml2 xv xvid zlib userland_GNU kernel_linux elibc_glibc" Unset: ASFLAGS, CTARGET, LANG, LC_ALL, LINGUAS [ebuild R ] media-libs/xine-lib-1.1.0-r2 +X +a52 +aac -aalib +alsa (-altivec) -arts -cle266 -directfb +dts +dvd -dxr3 -esd -fbcon +flac +gnome -i8x0 +imagemagick -ipv6 -libcaca +mad +mng -nls -nvidia +opengl -oss -samba -sdl -speex -theora -v4l +vcd -vidix +vorbis +win32codecs -xinerama +xv -xvmc 0 kB
*** Bug 104484 has been marked as a duplicate of this bug. ***
Reopening (+adding to cc)
That's work for x86 team. x86 team: please don't juggle with flags outside the if condition, amd64 does not heed filtering or appending, and I'm positive other arches doesn't need them, too.
Sorry for the spam people changing addy's so I dont have to keep checking here while at work. Also wanted to see if there was anything I could do to help with this, as in testing, or something else.
Still seeing this with media-libs/xine-lib-1.1.0-r3.
I did some tests on my p4 system - added/dropped cflags in ebuild. Without -fomit-frame-pointer it fails. With -momit-leaf-frame-pointer it fails. Without -mno-sse it does not fail. my solution: add -fomit-frame-pointer (which is already) drop -momit-leaf-frame-pointer drop -mno-sse (optional) my emerge info Portage 2.0.51.22-r2 (default-linux/x86/2005.1, gcc-3.4.4, glibc-2.3.5.20050722-r0, 2.6.12-gentoo-r9 i686) ================================================================= System uname: 2.6.12-gentoo-r9 i686 Intel(R) Pentium(R) 4 CPU 2.80GHz Gentoo Base System version 1.12.0_pre8 dev-lang/python: 2.4.1-r1 sys-apps/sandbox: 1.2.12 sys-devel/autoconf: 2.13, 2.59-r7 sys-devel/automake: 1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6 sys-devel/binutils: 2.16.1 sys-devel/libtool: 1.5.20 virtual/os-headers: 2.6.11-r2 ACCEPT_KEYWORDS="x86 ~x86" AUTOCLEAN="yes" CBUILD="i686-pc-linux-gnu" CFLAGS="-O2 -mtune=pentium4 -march=pentium4 -pipe -fforce-addr -fforce-mem -momit-leaf-frame-pointer -fomit-frame-pointer -fweb -ftracer -frename-registers" CHOST="i686-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3/share/config /usr/lib/X11/xkb /usr/share/config /var/bind /var/qmail/control" CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d" CXXFLAGS="-O2 -mtune=pentium4 -march=pentium4 -pipe -fforce-addr -fforce-mem -momit-leaf-frame-pointer -fomit-frame-pointer -fweb -ftracer -frename-registers -fvisibility-inlines-hidden" DISTDIR="/usr/portage/distfiles" FEATURES="autoconfig distlocks sandbox sfperms strict" GENTOO_MIRRORS="http://gentoo.inode.at/ ftp://gentoo.inode.at/source/" LANG="de_DE@euro" LINGUAS="de" MAKEOPTS="-j3" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/usr/local/portage /usr/local/bmg-main" SYNC="rsync://rsync.gentoo.org/gentoo-portage" USE="X aalib acpi alsa apache2 avi berkdb bitmap-fonts cdr cups dga dts dvd dvdr dvdread fbcon firefox foomaticdb gd gif glx gnome gpm gtk2 hardenedphp imap imlib ipv6 java jpeg mad mmx mmxext mozilla mp3 mpeg mysql nls nptl nptlonly nvidia ogg oggvorbis opengl pam perl png ppds quicktime readline samba sblive sse sse2 ssl truetype truetype-fonts type1-fonts unicode usb userlocales vhosts videos vorbis wmf wxwindows x86 xface xinerama xml2 xprint xv xvid zlib video_cards_nvidia linguas_de userland_GNU kernel_linux elibc_glibc" Unset: ASFLAGS, CTARGET, LC_ALL, LDFLAGS
> add -fomit-frame-pointer (which is already) > drop -momit-leaf-frame-pointer Does not make sense to me. Isn't -momit-leaf-frame-pointer implied by -fomit-frame-pointer ?
I knew one would say that. I know this sounds just wrong but test it first. Here it helped.
(In reply to comment #37) > > add -fomit-frame-pointer (which is already) > > drop -momit-leaf-frame-pointer > Does not make sense to me. Isn't -momit-leaf-frame-pointer implied by > -fomit-frame-pointer ? Disabling -momit-leaf-frame-pointer worked for me. "Before" CFLAGS: "-O2 -march=pentium4 -fomit-frame-pointer -pipe -momit-leaf-frame-pointer" "Working" CFLAGS: "-O2 -march=pentium4 -fomit-frame-pointer"
This is getting crazy :) You were right, xine-lib-1.1.0-r3 just built fine with CFLAGS="-O2 -march=pentium4 -mtune=pentium4 -fomit-frame-pointer -pipe" emerge xine-lib and I normally have CFLAGS="-O2 -march=pentium4 -mtune=pentium4 -fomit-frame-pointer -momit-leaf-frame-pointer -pipe" Here gcc is 3.4.4-r1. Maybe it is a gcc bug ?
(In reply to comment #37) > > add -fomit-frame-pointer (which is already) > > drop -momit-leaf-frame-pointer > Does not make sense to me. Isn't -momit-leaf-frame-pointer implied by > -fomit-frame-pointer ? apparently not. =/ maybe omitting the leaf frame pointer is redundant when omitting frame pointers in general, but it still goes through the actions and costs us a register. either way, it looks like one of the causes.
it's believe it's -fPIC -DPIC that's causing the error on gcc-4.
For info: Played around with xine-lib-1.1.0-r3 : Looks like the problem if the -fpic args: (with the exact make command line, right after the emerge failed:) vaio i386 # i686-pc-linux-gnu-gcc -DHAVE_CONFIG_H -I. -I. -I../../../.. -I../../../.. -I../../../../include -I../../../../include -I../../../../src -I../../../../src/xine-engine -I../../../../src/xine-engine -I../../../../src/xine-utils -I../../../../src/input -I../../../../src/input -I../../../../lib -DSIMPLE_IDCT -DHAVE_AV_CONFIG_H -DRUNTIME_CPUDETECT -DUSE_FASTMEMCPY -DCONFIG_RISKY -DCONFIG_DECODERS -DXINE_MPEG_ENCODER -DCONFIG_ZLIB -DNDEBUG -D_REENTRANT -DXINE_COMPILE -DENABLE_IPV6 -O3 -march=pentium-m -fomit-frame-pointer -momit-leaf-frame-pointer -pipe -ftracer -mfpmath=sse -frename-registers -ffunction-sections -fomit-frame-pointer -c mpegvideo_mmx.c -fPIC -o .libs/mpegvideo_mmx.o mpegvideo_mmx_template.c: In function `dct_quantize_MMX': mpegvideo_mmx_template.c:145: error: can't find a register in class `GENERAL_REGS' while reloading `asm' mpegvideo_mmx_template.c:93: error: can't find a register in class `GENERAL_REGS' while reloading `asm' (i just relauch it without but without -fpic) vaio i386 # i686-pc-linux-gnu-gcc -DHAVE_CONFIG_H -I. -I. -I../../../.. -I../../../.. -I../../../../include -I../../../../include -I../../../../src -I../../../../src/xine-engine -I../../../../src/xine-engine -I../../../../src/xine-utils -I../../../../src/input -I../../../../src/input -I../../../../lib -DSIMPLE_IDCT -DHAVE_AV_CONFIG_H -DRUNTIME_CPUDETECT -DUSE_FASTMEMCPY -DCONFIG_RISKY -DCONFIG_DECODERS -DXINE_MPEG_ENCODER -DCONFIG_ZLIB -DNDEBUG -D_REENTRANT -DXINE_COMPILE -DENABLE_IPV6 -O3 -march=pentium-m -fomit-frame-pointer -momit-leaf-frame-pointer -pipe -ftracer -mfpmath=sse -frename-registers -ffunction-sections -fomit-frame-pointer -c mpegvideo_mmx.c -DPIC -o .libs/mpegvideo_mmx.o (compile succeeded...) (for info) vaio i386 # pwd /var/tmp/portage/xine-lib-1.1.0-r3/work/xine-lib-1.1.0/src/libffmpeg/libavcodec/i386 vaio i386 # i686-pc-linux-gnu-gcc --version i686-pc-linux-gnu-gcc (GCC) 3.4.4 (Gentoo 3.4.4-r1, ssp-3.4.4-1.0, pie-8.7.8)
yes, even use 1.1.0-r3, still failed at i686-pc-linux-gnu-gcc -DHAVE_CONFIG_H -I. -I. -I../../../.. -I../../../.. -I../../../../include -I../../../../include -I../../../../src -I../../../../src/xine-engine -I../../../../src/xine-engine -I../../../../src/xine-utils -I../../../../src/input -I../../../../src/input -I../../../../lib -DSIMPLE_IDCT -DHAVE_AV_CONFIG_H -DRUNTIME_CPUDETECT -DUSE_FASTMEMCPY -DCONFIG_RISKY -DCONFIG_DECODERS -DXINE_MPEG_ENCODER -DCONFIG_ZLIB -DNDEBUG -D_REENTRANT -DXINE_COMPILE -O2 -march=pentium4 -mtune=pentium4 -mfpmath=sse -msse2 -momit-leaf-frame-pointer -pipe -frename-registers -ffunction-sections -mno-sse -fomit-frame-pointer -c dsputil_mmx.c -fPIC -DPIC -o .libs/dsputil_mmx.o dsputil_mmx.c:1: warning: SSE instruction set disabled, using 387 arithmetics h264dsp_mmx.c: In function 'h264_h_loop_filter_luma_mmx2': dsputil_mmx.c:618: error: can't find a register in class 'GENERAL_REGS' while reloading 'asm' dsputil_mmx.c:618: error: can't find a register in class 'GENERAL_REGS' while reloading 'asm' make[5]: *** [dsputil_mmx.lo] 错误 1 make[5]: Leaving directory `/var/tmp/portage/xine-lib-1.1.0-r3/work/xine-lib-1.1.0/src/libffmpeg/libavcodec/i386' make[4]: *** [all-recursive] 错误 1 make[4]: Leaving directory `/var/tmp/portage/xine-lib-1.1.0-r3/work/xine-lib-1.1.0/src/libffmpeg/libavcodec' make[3]: *** [all-recursive] 错误 1 make[3]: Leaving directory `/var/tmp/portage/xine-lib-1.1.0-r3/work/xine-lib-1.1.0/src/libffmpeg' make[2]: *** [all-recursive] 错误 1 make[2]: Leaving directory `/var/tmp/portage/xine-lib-1.1.0-r3/work/xine-lib-1.1.0/src' make[1]: *** [all-recursive] 错误 1 make[1]: Leaving directory `/var/tmp/portage/xine-lib-1.1.0-r3/work/xine-lib-1.1.0' make: *** [all] 错误 2 !!! ERROR: media-libs/xine-lib-1.1.0-r3 failed. !!! Function src_compile, Line 190, Exitcode 2 !!! emake failed !!! If you need support, post the topmost build error, NOT this status message.
Do not disable -fPIC, while this requires an extra register, it's important that shared objects are built with -fPIC.
yep, if only it could compile ;) More seriously, this was not about "we have to disable it", just to confirm the problem seems to be linked with the -fPIC...
it seems that the xine-lib team recommends building without -fPIC on x86. there's apparently a performance hit when it's enabled. i also found a debian bug[1] that explains the situation pretty well. they build xine-lib with -fPIC on every arch _but_ x86, where they disable it due to the register starvation. finally, the ffmpeg ebuild explicitly strips -fPIC from the user's flags, then append-flag's it to alpha, amd64, hppa, and ppc. considering this bug is triggered in the ffmpeg portion of the build, the ffmpeg ebuild might be worth considering as a guideline. (i also noticed it filters -momit-leaf-frame-pointer as well, so this isn't the first time that problem has cropped up - see bug #45576 ) also see bug #43964 [1] http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=115006
some news: i succeed to compile the sub part of libffmpeg from xine-libs the problem, at least on my system, is the "-momit-leaf-frame-pointer" flag in libavcodec/i386 and libavcoded/libpostproc Adding to the Makefile.am a sed to remove these cflags allows a "ok" compile.. no other modifications made, still -fPIC used ;) Will post the 2 Makefile.am patch asap to check if it helps (I didn't compile the whole thing yet, cpu is not that fast ;) )
Created attachment 67602 [details, diff] Patch for the xine-lib libffmpeg i386 Makefile.am remove -momit-leaf-frame-pointer
Created attachment 67603 [details, diff] Patch for the xine-lib libffmpeg libpostproc Makefile.am Remove -momit-leaf-frame-pointer (libpostproc) this time
Created attachment 67605 [details, diff] Patch for the ebuild of xine-lib-1.1.0-r3 in your overlay, copy the xine-lib/xine-lib-1.1.0-r3.ebuild - patch it with this current file. copy in the files/ (create it if needed) the 2 xine-lib libffmpeg patch - digest ebuild - merge... Should work for testing purpose (I am currently emerging with theses patches...no problem appears yet)
Emerge went fine, looks like only these 2 subpackages got troubles fyi: my emerge info: muaddib@vaio ~ $ emerge info Portage 2.0.51.22-r2 (default-linux/x86/2005.0, gcc-3.4.4, glibc-2.3.5-r1, 2.6.13-gentoo i686) ================================================================= System uname: 2.6.13-gentoo i686 Intel(R) Pentium(R) M processor 1.60GHz Gentoo Base System version 1.12.0_pre8 ccache version 2.4 [enabled] dev-lang/python: 2.3.5, 2.4.1-r1 sys-apps/sandbox: 1.2.12 sys-devel/autoconf: 2.13, 2.59-r7 sys-devel/automake: 1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6 sys-devel/binutils: 2.16.1 sys-devel/libtool: 1.5.20 virtual/os-headers: 2.6.11-r2 ACCEPT_KEYWORDS="x86 ~x86" AUTOCLEAN="yes" CBUILD="i686-pc-linux-gnu" CFLAGS="-O3 -march=pentium-m -fomit-frame-pointer -fforce-addr -momit-leaf-frame-pointer -pipe -ftracer -mfpmath=sse" CHOST="i686-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3/share/config /usr/share/config /var/qmail/control" CONFIG_PROTECT_MASK="/etc/gconf /etc/env.d" CXXFLAGS="-O3 -march=pentium-m -fomit-frame-pointer -fforce-addr -momit-leaf-frame-pointer -pipe -ftracer -mfpmath=sse -fvisibility-inlines-hidden" DISTDIR="/usr/portage/distfiles" FEATURES="autoconfig ccache distlocks sandbox sfperms strict userpriv usersandbox" GENTOO_MIRRORS="http://ftp.gentoo.skynet.be/pub/gentoo/ http://ftp.gentoo.skynet.be/pub/gentoo/ http://ftp.belnet.be/mirror/rsync.gentoo.org/gentoo/ http://ftp-stud.fht-esslingen.de/pub/Mirrors/gentoo/ ftp://ftp.belnet.be/mirror/rsync.gentoo.org/gentoo/ http://ftp.easynet.nl/mirror/gentoo/ http://mirrors.sec.informatik.tu-darmstadt.de/gentoo/" MAKEOPTS="-j3" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/usr/local/portage" SYNC="rsync://rsync.gentoo.org/gentoo-portage" USE="x86 X a52 aac acpi alsa amuled apache2 apm arts artworkextra asm atm avi bash-completion berkdb bitmap-fonts branding bzip2 bzlib cairo cdda cddb cdio cdparanoia cdr cpdflib crypt css cups curl dba dbus dhcp directfb divx4linux dts dv dvd dvdr dvdread eds emboss encode enscript esd extensions fam ffmpeg firefox flac foomaticdb fortran ftp gcj gd gdbm gif gnome gpm gstreamer gtk gtk2 hal imagemagick imlib inkjar ipv6 java jms john jpeg junit kde kqemu libg++ libwww live mad matroska mbrola mikmod mime mmx mmx2 mmxext mng motif mozilla mozsvg mp3 mpeg musepack ncurses nls nptl nptlonly nvidia ogg oggvorbis opengl oss pam pcre pdflib perl php pic plugin png postgres python qt quicktime rdesktop readline real remote rtc samba sdl session simplexml slang spell sql sqlite sse sse2 ssl stream subversion svg svga tcltk tcpd tga theora tidy tiff tokenizer truetype truetype-fonts type1-fonts unicode vcd vidix vim-with-x vorbis wifi win32codecs wmf wxwindows xine xinerama xml xml2 xmlrpc xmms xsl xv xvid xvmc zlib userland_GNU kernel_linux elibc_glibc" Unset: ASFLAGS, CTARGET, LANG, LC_ALL, LDFLAGS, LINGUAS
Just another confirmation, fixed by removing -momit-leaf-frame-pointer: chiana ~ # CFLAGS="-pipe -O2 -march=athlon-xp" emerge --oneshot xine-lib succeeded for xine-lib-1.1.0-r3 :) My emerge info: chiana ~ # emerge --info Portage 2.0.51.22-r2 (default-linux/x86/2005.1, gcc-3.4.3-20050110, glibc-2.3.5-r1, 2.6.12-gentoo-r9-chiana i686) ================================================================= System uname: 2.6.12-gentoo-r9-chiana i686 AMD Athlon(tm) XP 2000+ Gentoo Base System version 1.6.13 distcc 2.18.3 i686-pc-linux-gnu (protocols 1 and 2) (default port 3632) [disabled] ccache version 2.3 [enabled] dev-lang/python: 2.3.5 sys-apps/sandbox: 1.2.12 sys-devel/autoconf: 2.13, 2.59-r6 sys-devel/automake: 1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6 sys-devel/binutils: 2.15.92.0.2-r10 sys-devel/libtool: 1.5.18-r1 virtual/os-headers: 2.6.11-r2 ACCEPT_KEYWORDS="x86" AUTOCLEAN="yes" CBUILD="i686-pc-linux-gnu" CFLAGS="-pipe -O2 -march=athlon-xp -mfpmath=sse -momit-leaf-frame-pointer" CHOST="i686-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3.4/env /usr/kde/3.4/share/config /usr/kde/3.4/shutdown /usr/kde/3/share/config /usr/lib/X11/xkb /usr/lib/mozilla/defaults/pref /usr/share/config /usr/share/texmf/dvipdfm/config/ /usr/share/texmf/dvips/config/ /usr/share/texmf/tex/generic/config/ /usr/share/texmf/tex/platex/config/ /usr/share/texmf/xdvi/ /var/qmail/control" CONFIG_PROTECT_MASK="/etc/gconf /etc/splash /etc/terminfo /etc/env.d" CXXFLAGS="-pipe -O2 -march=athlon-xp -mfpmath=sse -momit-leaf-frame-pointer" DISTDIR="/usr/portage/distfiles" FEATURES="autoconfig ccache distlocks sandbox sfperms strict" GENTOO_MIRRORS="http://www.mirrorservice.org/sites/www.ibiblio.org/gentoo/ ftp://ftp.mirrorservice.org/sites/www.ibiblio.org/gentoo/ ftp://planetmirror.com/pub/gentoo/ http://ftp.heanet.ie/pub/gentoo/ ftp://ftp.heanet.ie/pub/gentoo" LINGUAS="en en_GB fr de" MAKEOPTS="-j2" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/usr/local/portage" SYNC="rsync://rsync.europe.gentoo.org/gentoo-portage" USE="x86 3dnow X a52 aac acpi alsa arts audiofile avi bash-completion berkdb bitmap-fonts bzip2 cdparanoia cdr cjk crypt cups curl dbus divx4linux dts dvd dvdr dvdread encode esd exif fam ffmpeg fftw flac flash foomaticdb fortran gd gdbm geoip gif glut gphoto2 gstreamer gtk2 guile hal imagemagick imlib java jpeg kde kdeenablefinal kdexdeltas lcms ldap libg++ libwww lm_sensors mad matroska mikmod mmx mng motif mozilla mp3 mpeg mpi ncurses nls nptl nsplugin ogg oggvorbis openal opengl oss pam pdflib perl png python qt quicktime readline samba scanner sdl slang sndfile speex spell sse ssl svg svga sysvipc tcpd tetex theora threads tidy tiff truetype truetype-fonts type1-fonts usb v4l vcd vorbis win32codecs wmf xface xine xml2 xmms xosd xprint xv xvid zlib linguas_en linguas_en_GB linguas_fr linguas_de userland_GNU kernel_linux elibc_glibc" Unset: ASFLAGS, CTARGET, LANG, LC_ALL, LDFLAGS
removing -momit-leaf-frame-pointer worked for me too. (athlon-xp)
OK, in comment #23 I reported, that xine-lib-1.1.0-r2 emerged fine. There was no need for me to change anything. xine-lib-1.1.0-r3 shows the same behaviour, it emerged fine, no patch was needed, I did not need to remove any of my CFLAGS. Here is my emerge info: Portage 2.0.51.22-r2 (default-linux/x86/2005.0, gcc-3.4.4, glibc-2.3.5-r0, 2.6.12-morph7 i686) ================================================================= System uname: 2.6.12-morph7 i686 Intel(R) Pentium(R) 4 CPU 1400MHz Gentoo Base System version 1.12.0_pre8 ccache version 2.4 [disabled] dev-lang/python: 2.4.1-r1 sys-apps/sandbox: 1.2.12 sys-devel/autoconf: 2.13, 2.59-r7 sys-devel/automake: 1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6 sys-devel/binutils: 2.16.91.0.3 sys-devel/libtool: 1.5.20 virtual/os-headers: 2.6.11-r2 ACCEPT_KEYWORDS="x86 ~x86" AUTOCLEAN="yes" CBUILD="i686-pc-linux-gnu" CFLAGS="-march=pentium4 -mtune=pentium4 -O3 -mmmx -msse -msse2 -pipe -ffast-math -mfpmath=sse -fforce-addr -falign-functions=4 -fprefetch-loop-arrays -funroll-loops -fthread-jumps" CHOST="i686-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3.4/env /usr/kde/3.4/share/config /usr/kde/3.4/shutdown /usr/kde/3/share/config /usr/lib/X11/xkb /usr/share/config /var/qmail/control" CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d" CXXFLAGS="-march=pentium4 -mtune=pentium4 -O3 -mmmx -msse -msse2 -pipe -ffast-math -mfpmath=sse -fforce-addr -falign-functions=4 -fprefetch-loop-arrays -funroll-loops -fthread-jumps" DISTDIR="/usr/portage/distfiles" FEATURES="autoconfig distlocks sandbox sfperms strict" GENTOO_MIRRORS="ftp://ftp.tu-clausthal.de/pub/linux/gentoo/ ftp://ftp.join.uni-muenster.de/pub/linux/distributions/gentoo ftp://linux.rz.ruhr-uni-bochum.de/gentoo-mirror/ ftp://gentoo.inode.at/source/ http://gentoo.oregonstate.edu http://www.ibiblio.org/pub/Linux/distributions/gentoo" LANG="de_DE@euro" LC_ALL="de_DE@euro" LDFLAGS="-Wl,-O1 -Wl,--sort-common -s" LINGUAS="de" MAKEOPTS="-j2" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/usr/local/portage /usr/local/overlays/gentoo-de /usr/local/overlays/bmg-main" SYNC="rsync://rsync.europe.gentoo.org/gentoo-portage" USE="x86 X aalib acpi alsa apm arts atm avi bitmap-fonts browserplugin camera cdr crypt cups curl directfb dvd eds emboss encode esd fam fbcon flac foomaticdb fortran gdbm gif gphoto2 gpm gstreamer gtk gtk2 imagemagick imlib ipv6 java joystick jpeg kde libg++ libwww mad mikmod mmx motif mozilla mp3 mpeg ncurses nls nvidia ogg oggvorbis oggvoris opengl oss pam pdflib perl png ppds python qt quicktime readline real scanner sdl slang spell sse sse2 ssl svga tcltk tcpd tiff truetype truetype-fonts type1-fonts vorbis wmf wxwindows xine xml2 xmms xv zlib linguas_de userland_GNU kernel_linux elibc_glibc" Unset: ASFLAGS, CTARGET
It looks the problem was due, for most of us, by -momit-leaf-frame-pointer ... Should maybe a good idea to a) add the "-momit-leaf-frame-pointer" to the filter-flags of the ebuild or b) use proposed patches on the 2 problematics sub-lib Makefile.am (all the rest compiled fine with the -momit-leaf-frame-pointer cflag...) and close this bug until next xine release ;) btw, there is still c) close bug as Won't fix - you should use sane CFLAG (this one i relly don't like :p)
(In reply to comment #56) > c) close bug as Won't fix - you should use sane CFLAG (this one i relly don't > like :p) Not an option IMO, -momit-leaf-frame-pointer is not an insane flag. If a flag breaks _one_ ebuild of the whole tree it is the package that is broken and the ebuild that is broken ( for not filtering it ), not the flag IMO. There is no flag that will work on _everything_, that's what flag filtering is for. Just filter the flag and be done with this.
--- xine-lib-1.1.0-r3.ebuild-orig 2005-09-05 11:47:07.000000000 -0600 +++ xine-lib-1.1.0-r3.ebuild 2005-09-05 11:49:43.000000000 -0600 @@ -84,6 +84,7 @@ if [[ $(tc-arch) == "x86" ]]; then has_pic && append-flags -UHAVE_MMX filter-flags -fforce-addr # breaks ffmpeg module + filter-flags -momit-leaf-frame-pointer #breaks ffmpeg (bug #104189) append-flags -mno-sse -fomit-frame-pointer is-flag -O? || append-flags -O2 far easier than patching. i'll open a new bug for the gcc4 stuff so this can be marked fixed.
this exactly what I'm doing.. will be in CVS as soon as I've tested it ;)
Thanks a lot
fixed