Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 68045 - mplayer-1.0_pre5-r4 compile error
Summary: mplayer-1.0_pre5-r4 compile error
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: High normal (vote)
Assignee: Gentoo Media-video project
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2004-10-18 12:52 UTC by Christian Bartels
Modified: 2004-11-09 07:11 UTC (History)
1 user (show)

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


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Christian Bartels 2004-10-18 12:52:11 UTC
when trying to compile mplayer i get this:

cc -I../libvo -I../../libvo -I/usr/X11R6/include -march=pentium-m -pipe -fno-delayed-branch -fcaller-saves -freorder-blocks -freorder-functions -falign-jumps -finline-functions -frename-registers -fweb -fomit-frame-pointer -fno-trapping-math -falign-functions=64 -D_REENTRANT -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -I/usr/include/gtk-1.2 -I/usr/include/glib-1.2 -I/usr/lib/glib/include -I/usr/X11R6/include -DHAVE_AV_CONFIG_H -I.. -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -c-o i386/cputest.o i386/cputest.c
cc -I../libvo -I../../libvo -I/usr/X11R6/include -march=pentium-m -pipe -fno-delayed-branch -fcaller-saves -freorder-blocks -freorder-functions -falign-jumps -finline-functions -frename-registers -fweb -fomit-frame-pointer -fno-trapping-math -falign-functions=64 -D_REENTRANT -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -I/usr/include/gtk-1.2 -I/usr/include/glib-1.2 -I/usr/lib/glib/include -I/usr/X11R6/include -DHAVE_AV_CONFIG_H -I.. -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -c-o i386/dsputil_mmx.o i386/dsputil_mmx.c
i386/dsputil_mmx.c: In function `h263_h_loop_filter_mmx':
i386/dsputil_mmx.c:634: error: can't find a register in class `GENERAL_REGS' while reloading `asm'
i386/dsputil_mmx.c: In function `dsputil_init_mmx':
i386/dsputil_mmx.c:2540: warning: assignment from incompatible pointer type
i386/dsputil_mmx.c:2541: warning: assignment from incompatible pointer type
make[1]: *** [i386/dsputil_mmx.o] Error 1
make[1]: Leaving directory `/var/tmp/portage/mplayer-1.0_pre5-r4/work/MPlayer-1.0pre5/libavcodec'
make: *** [libavcodec/libavcodec.a] Fehler 2


=================================================================
System uname: 2.6.8-gentoo-r10 i686 Intel(R) Pentium(R) M processor 1500MHz
Gentoo Base System version 1.5.3
distcc 2.18 i686-pc-linux-gnu (protocols 1 and 2) (default port 3632) [disabled]
ccache version 2.3 [enabled]
Autoconf: sys-devel/autoconf-2.59-r5
Automake: sys-devel/automake-1.8.5-r1
Binutils: sys-devel/binutils-2.15.92.0.2-r1
Headers:  sys-kernel/linux26-headers-2.6.8.1-r1
Libtools: sys-devel/libtool-1.5.2-r5
ACCEPT_KEYWORDS="x86 ~x86"
AUTOCLEAN="yes"
CFLAGS="-march=pentium-m -pipe -fno-delayed-branch -fcaller-saves -freorder-blocks -freorder-functions -falign-jumps -finline-functions -frename-registers -fweb -fomit-frame-pointer -fno-trapping-math -falign-functions=64"
CHOST="i686-pc-linux-gnu"
COMPILER=""
CONFIG_PROTECT="/etc /usr/X11R6/lib/X11/xkb /usr/kde/2/share/config /usr/kde/3.2/share/config /usr/kde/3.3/env /usr/kde/3.3/share/config /usr/kde/3.3/shutdown /usr/kde/3/share/config /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=pentium-m -pipe -fno-delayed-branch -fcaller-saves -freorder-blocks -freorder-functions -falign-jumps -finline-functions -frename-registers -fweb -fomit-frame-pointer -fno-trapping-math -falign-functions=64"
DISTDIR="/usr/portage/distfiles"
FEATURES="autoaddcvs ccache distlocks sandbox"
GENTOO_MIRRORS="http://linux.rz.ruhr-uni-bochum.de/download/gentoo-mirror/ http://gentoo.mirror.sdv.fr"
MAKEOPTS="-j2"
PKGDIR="/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/local/overlays/portage /usr/local/overlays/gentoo-de"
SYNC="rsync://rsync.de.gentoo.org/gentoo-portage"
USE="X aalib acl acpi alsa apm arts artswrappersuid avi berkdb bitmap-fonts cdr crypt cups dga directfb dvd dvdr emacs encode esd ethereal f77 fam fbcon foomaticdb gd gdbm gif gimpprint gnome gphoto2 gpm gstreamer gtk gtk2 imagemagick imlib jabber java jpeg kde ldap libg++ libwww mad mikmod mmx motif mpeg ncurses nls nptl oggvorbis ooo-kde opengl oss pam pcmcia pdflib perl png ppds python qt quicktime readline samba scanner sdl slang spell sse sse2 ssl svga tcltk tcpd tetex tiff truetype usb videos wmf wxwindows x86 xinerama xml xml2 xprint xv zlib video_cards_radeon linguas_de"

Reproducible: Always
Steps to Reproduce:
1.
2.
3.
Comment 1 Benjamin Smee (strerror) (RETIRED) gentoo-dev 2004-10-19 03:16:24 UTC
I have the same error, if need more information let me know
Comment 2 spiralvoice 2004-10-19 11:17:37 UTC
Duplicate of bug 67903
Comment 3 Jordan 2004-10-25 23:56:38 UTC
Indeed, this is a dupe, however I am still having this problem, using the latest ebuild. In fact, mplayer compiles fine if I let it optimize itself (which actually uses more optimization than I normally do.) When I let mplayer optimize itself it uses "-O4 -march=pentium4 -mtune=pentium4 -pipe -ffast-math -fomit-frame-pointer" while my CFLAGS are normally set to "-march=pentium4 -O3 -pipe." I'm not sure which flag is fixing this for me but I'd guess it's -fomit-frame-pointer or -ffast-math.


I get the same problem when compiling ffmpeg and using the CFLAGS that mplayer set fixes that as well. I was just putting -mmx in my per-package use for ffmpeg and mplayer but I decided to try and get it to compile properly after I noticed mencoder was using way more cpu then it normally does. Everything's back to normal now... This problem also happens with gst-plugins-ffmpeg but it isn't solved with what I did above, the only way I could fix that is to use "-march=pentium3 -O2 -pipe" no other combination seemed to work. I'm assuming it's something in the ffmpeg code that's causing this, or a bug in GCC.

Searching google for "GENERAL_REGS" shows so many different things having this same error, all of which involving mmx or 3dnow...

I'm not sure if simply reopening 67903 or creating a whole new bug for this and related compile errors would be the optimal solution...
Comment 4 Jordan 2004-10-25 23:56:56 UTC
Indeed, this is a dupe, however I am still having this problem, using the latest ebuild. In fact, mplayer compiles fine if I let it optimize itself (which actually uses more optimization than I normally do.) When I let mplayer optimize itself it uses "-O4 -march=pentium4 -mtune=pentium4 -pipe -ffast-math -fomit-frame-pointer" while my CFLAGS are normally set to "-march=pentium4 -O3 -pipe." I'm not sure which flag is fixing this for me but I'd guess it's -fomit-frame-pointer or -ffast-math.


I get the same problem when compiling ffmpeg and using the CFLAGS that mplayer set fixes that as well. I was just putting -mmx in my per-package use for ffmpeg and mplayer but I decided to try and get it to compile properly after I noticed mencoder was using way more cpu then it normally does. Everything's back to normal now... This problem also happens with gst-plugins-ffmpeg but it isn't solved with what I did above, the only way I could fix that is to use "-march=pentium3 -O2 -pipe" no other combination seemed to work. I'm assuming it's something in the ffmpeg code that's causing this, or a bug in GCC.

Searching google for "GENERAL_REGS" shows so many different things having this same error, all of which involving mmx or 3dnow...

I'm not sure if simply reopening 67903 or creating a whole new bug for this and related compile errors would be the optimal solution...
Comment 5 Chris White (RETIRED) gentoo-dev 2004-11-09 07:11:53 UTC
This individual bug was fixed by some flag filtering, but the general bug is still
being looked at (PIC capable code).