Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 87077 - libsdl-1.2.8-r1 fails to emerge (-fforce-addr + volatile variables)
Summary: libsdl-1.2.8-r1 fails to emerge (-fforce-addr + volatile variables)
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] KDE (show other bugs)
Hardware: x86 Linux
: High normal (vote)
Assignee: Gentoo Games
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2005-03-29 00:55 UTC by André Terpstra
Modified: 2005-04-02 05:59 UTC (History)
0 users

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


Attachments
/proc/cpuinfo (cpuinfo.txt,598 bytes, text/plain)
2005-03-29 01:00 UTC, André Terpstra
Details

Note You need to log in before you can comment on or make changes to this bug.
Description André Terpstra 2005-03-29 00:55:43 UTC
I am trying to build a new and highly optimized system. So far everyting is OK. I decided to also use the new KDE split ebuilds. However, that did not work out yet, because the latest libsdl won't compile.

I haven't tried to mask out 1.2.8-r1 and use 1.2.7-r3 instead, should I try that?

Reproducible: Always
Steps to Reproduce:
1.emerge kdemultimedia-meta
2.
3.

Actual Results:  
Partial output form emerge: 
 
 i686-pc-linux-gnu-gcc -DPACKAGE_NAME=\"\" -DPACKAGE_TARNAME=\"\" 
-DPACKAGE_VERSION=\"\" -DPACKAGE_STRING=\"\" -DPACKAGE_BUGREPORT=\"\" 
-DPACKAGE=\"SDL\" -DVERSION=\"1.2.8\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 
-DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 
-DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 
-DHAVE_DLFCN_H=1 -DHAVE_ALLOCA_H=1 -DHAVE_ALLOCA=1 -DHAVE_LIBASOUND=1 -I. -I. 
-O3 -march=pentium4 -mtune=pentium4 -fforce-addr -momit-leaf-frame-pointer 
-fomit-frame-pointer -ftracer -pipe -Wall -DENABLE_DUMMYVIDEO 
-DDISKAUD_SUPPORT -DUSE_DLOPEN -DUSE_ASMBLIT -I./hermes -I../../src/hermes 
-DOSS_SUPPORT -DALSA_SUPPORT -DALSA_DYNAMIC=libasound.so.2 -DUSE_DLVSYM 
-DARTSC_SUPPORT -DARTSC_DYNAMIC=libartsc.so.0 -I/usr/kde/3.4/include/artsc 
-pthread -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -DESD_SUPPORT 
-DESD_DYNAMIC=libesd.so.0 -DENABLE_X11 -DXTHREADS -I./include -I./src/video 
-DXFREE86_VM -DXFREE86_VMGAMMA -DXFREE86_XV -DENABLE_FBCON -DENABLE_DIRECTFB 
-DENABLE_SVGALIB -DHAVE_OPENGL -DUSE_INPUT_EVENTS -D_REENTRANT 
-DSDL_USE_PTHREADS -DHAVE_SIGACTION -I../../include -I../../include/SDL 
-I../../src -I../../src/main/linux -I../../src/audio -I../../src/video 
-I../../src/video/XFree86/extensions -I../../src/events -I../../src/joystick 
-I../../src/cdrom -I../../src/thread -I../../src/timer -I../../src/endian 
-I../../src/file -I../../src/thread -c SDL_yuv_sw.c  -fPIC -DPIC 
-o .libs/SDL_yuv_sw.o 
 i686-pc-linux-gnu-gcc -DPACKAGE_NAME=\"\" -DPACKAGE_TARNAME=\"\" 
-DPACKAGE_VERSION=\"\" -DPACKAGE_STRING=\"\" -DPACKAGE_BUGREPORT=\"\" 
-DPACKAGE=\"SDL\" -DVERSION=\"1.2.8\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 
-DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 
-DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 
-DHAVE_DLFCN_H=1 -DHAVE_ALLOCA_H=1 -DHAVE_ALLOCA=1 -DHAVE_LIBASOUND=1 -I. -I. 
-O3 -march=pentium4 -mtune=pentium4 -fforce-addr -momit-leaf-frame-pointer 
-fomit-frame-pointer -ftracer -pipe -Wall -DENABLE_DUMMYVIDEO 
-DDISKAUD_SUPPORT -DUSE_DLOPEN -DUSE_ASMBLIT -I./hermes -I../../src/hermes 
-DOSS_SUPPORT -DALSA_SUPPORT -DALSA_DYNAMIC=libasound.so.2 -DUSE_DLVSYM 
-DARTSC_SUPPORT -DARTSC_DYNAMIC=libartsc.so.0 -I/usr/kde/3.4/include/artsc 
-pthread -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -DESD_SUPPORT 
-DESD_DYNAMIC=libesd.so.0 -DENABLE_X11 -DXTHREADS -I./include -I./src/video 
-DXFREE86_VM -DXFREE86_VMGAMMA -DXFREE86_XV -DENABLE_FBCON -DENABLE_DIRECTFB 
-DENABLE_SVGALIB -DHAVE_OPENGL -DUSE_INPUT_EVENTS -D_REENTRANT 
-DSDL_USE_PTHREADS -DHAVE_SIGACTION -I../../include -I../../include/SDL 
-I../../src -I../../src/main/linux -I../../src/audio -I../../src/video 
-I../../src/video/XFree86/extensions -I../../src/events -I../../src/joystick 
-I../../src/cdrom -I../../src/thread -I../../src/timer -I../../src/endian 
-I../../src/file -I../../src/thread -c SDL_yuv_sw.c -o SDL_yuv_sw.o >/dev/null 
2>&1 
 i686-pc-linux-gnu-gcc -DPACKAGE_NAME=\"\" -DPACKAGE_TARNAME=\"\" 
-DPACKAGE_VERSION=\"\" -DPACKAGE_STRING=\"\" -DPACKAGE_BUGREPORT=\"\" 
-DPACKAGE=\"SDL\" -DVERSION=\"1.2.8\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 
-DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 
-DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 
-DHAVE_DLFCN_H=1 -DHAVE_ALLOCA_H=1 -DHAVE_ALLOCA=1 -DHAVE_LIBASOUND=1 -I. -I. 
-O3 -march=pentium4 -mtune=pentium4 -fforce-addr -momit-leaf-frame-pointer 
-fomit-frame-pointer -ftracer -pipe -Wall -DENABLE_DUMMYVIDEO 
-DDISKAUD_SUPPORT -DUSE_DLOPEN -DUSE_ASMBLIT -I./hermes -I../../src/hermes 
-DOSS_SUPPORT -DALSA_SUPPORT -DALSA_DYNAMIC=libasound.so.2 -DUSE_DLVSYM 
-DARTSC_SUPPORT -DARTSC_DYNAMIC=libartsc.so.0 -I/usr/kde/3.4/include/artsc 
-pthread -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -DESD_SUPPORT 
-DESD_DYNAMIC=libesd.so.0 -DENABLE_X11 -DXTHREADS -I./include -I./src/video 
-DXFREE86_VM -DXFREE86_VMGAMMA -DXFREE86_XV -DENABLE_FBCON -DENABLE_DIRECTFB 
-DENABLE_SVGALIB -DHAVE_OPENGL -DUSE_INPUT_EVENTS -D_REENTRANT 
-DSDL_USE_PTHREADS -DHAVE_SIGACTION -I../../include -I../../include/SDL 
-I../../src -I../../src/main/linux -I../../src/audio -I../../src/video 
-I../../src/video/XFree86/extensions -I../../src/events -I../../src/joystick 
-I../../src/cdrom -I../../src/thread -I../../src/timer -I../../src/endian 
-I../../src/file -I../../src/thread -c SDL_yuv_mmx.c  -fPIC -DPIC 
-o .libs/SDL_yuv_mmx.o 
SDL_yuv_mmx.c: In function `ColorRGBDitherYV12MMX1X': 
SDL_yuv_mmx.c:113: error: can't find a register in class `GENERAL_REGS' while 
reloading `asm' 
make[3]: *** [SDL_yuv_mmx.lo] Fout 1 
make[3]: Leaving directory 
`/var/tmp/portage/libsdl-1.2.8-r1/work/SDL-1.2.8/src/video' 
make[2]: *** [all-recursive] Fout 1 
make[2]: Leaving directory 
`/var/tmp/portage/libsdl-1.2.8-r1/work/SDL-1.2.8/src/video' 
make[1]: *** [all-recursive] Fout 1 
make[1]: Leaving directory 
`/var/tmp/portage/libsdl-1.2.8-r1/work/SDL-1.2.8/src' 
make: *** [all-recursive] Fout 1 
 
!!! ERROR: media-libs/libsdl-1.2.8-r1 failed. 
!!! Function src_compile, Line 122, Exitcode 2 
!!! emake failed 
!!! If you need support, post the topmost build error, NOT this status 
message. 
 

Expected Results:  
Compile normally 

ZeusGentooTest ~ # emerge info 
Portage 2.0.51.19 (default-linux/x86/2004.3, gcc-3.4.3-20050110, 
glibc-2.3.4.20050125-r1, 2.6.11-gentoo-r4 i686) 
================================================================= 
System uname: 2.6.11-gentoo-r4 i686 Intel(R) Pentium(R) 4 CPU 2.40GHz 
Gentoo Base System version 1.6.10 
Python:              dev-lang/python-2.3.5 [2.3.5 (#1, Mar 26 2005, 10:00:42)] 
ccache version 2.4 [enabled] 
dev-lang/python:     2.3.5 
sys-devel/autoconf:  2.13, 2.59-r6 
sys-devel/automake:  1.5, 1.9.5, 1.7.9-r1, 1.6.3, 1.4_p6, 1.8.5-r3 
sys-devel/binutils:  2.15.92.0.2-r7 
sys-devel/libtool:   1.5.14 
virtual/os-headers:  2.6.8.1-r4 
ACCEPT_KEYWORDS="x86 ~x86" 
AUTOCLEAN="yes" 
CFLAGS="-O3 -march=pentium4 -mtune=pentium4 -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=pentium4 -mtune=pentium4 -fforce-addr 
-momit-leaf-frame-pointer -fomit-frame-pointer -ftracer -pipe 
-fvisibility-inlines-hidden" 
DISTDIR="/usr/portage/distfiles" 
FEATURES="autoaddcvs autoconfig candy ccache distlocks sandbox sfperms" 
GENTOO_MIRRORS="ftp://GentooMirror/gentoo" 
LANG="nl_NL@euro" 
MAKEOPTS="-j2" 
PKGDIR="/usr/portage/packages" 
PORTAGE_TMPDIR="/var/tmp" 
PORTDIR="/usr/portage" 
PORTDIR_OVERLAY="/usr/local/portage" 
SYNC="rsync://GentooMirror/gentoo-portage" 
USE="x86 X acpi alsa apm arts avi berkdb bitmap-fonts crypt cups directfb dvd 
dvdr emboss encode esd fam fbcon font-server foomaticdb fortran gdbm gif gnome 
gpm gtk gtk2 imlib ipv6 ithreads java jpeg kde kdeenablefinal ldap libg++ 
libwww lm_sensors mad mikmod mmx motif mozilla moznocompose moznoirc moznomail 
mozsvg mp3 mpeg ncurses nls nptl nvidia oggvorbis opengl oss pam pdflib perl 
png pthreads python qt quicktime readline samba sdl slp spell sse ssl svga 
sysfs tcpd tiff truetype truetype-fonts type1-fonts unicode xml2 xmms 
xscreensaver xv zlib linguas_nl" 
Unset:  ASFLAGS, CBUILD, CTARGET, LC_ALL, LDFLAGS
Comment 1 André Terpstra 2005-03-29 01:00:24 UTC
Created attachment 54745 [details]
/proc/cpuinfo

I may be missing the point, but I included info about my CPU just to be sure
that mmx is supported
Comment 2 Leo Laursen 2005-03-29 02:35:57 UTC
I had the same error. I believe there are 2 work-arounds.
1. disable epatch "${FILESDIR}"/${P}-gcc2.patch.bz2 #86481, or
2. filter-flags -fforce-addr
Comment 3 André Terpstra 2005-03-29 04:50:47 UTC
Wow, thanks a lot for sharing that tip! I recompiled libsdl successfully with

CFLAGS="-O3 -march=pentium4 -mtune=pentium4 -momit-leaf-frame-pointer -fomit-frame-pointer -ftracer -pipe"  emerge --oneshot libsdl

(I'm not an emerge expert, there may be a easier method) and am now continuing the emerge of kdemultimedia-meta.

If it's not too much trouble, could someone shed some light on this, so that I may learn from it?
Comment 4 Chris Gianelloni (RETIRED) gentoo-dev 2005-03-31 08:31:57 UTC
KDE has nothing to do with libSDL... You should assign package bugs to their actual owner.  It doens't matter if you're doing an "emerge kde" or "emerge some-cool-sdl-program" you would always assign to the package owner, not the owner of the package you're trying to merge...

Reassigning... =]
Comment 5 Jon 2005-03-31 10:44:49 UTC
Yeah, I had the same issue. I use gcc 3.4.3 and it failed with that same error. I commented out the two gcc 2.95 patches, because they are not needed for gcc3. Anyways, filtering out a use flag because of those patches is just a hack work-around for a bad patch. The patches really needs to be excluded from the gcc3 compile.

You can always move the ebuild to the portage overlay directory and comment out the two gcc2 patches, so then the changes are still there when you do a emerge sync.
Comment 6 Donald R. Gray Jr 2005-04-01 01:35:24 UTC
Slightly different Error: here, filtering -fforce-addr fixed this one as well. 

SDL_yuv_mmx.c: In function `ColorRGBDitherYV12MMX1X':
SDL_yuv_mmx.c:113: error: can't find a register in class `GENERAL_REGS' while reloading `asm'
make[3]: *** [SDL_yuv_mmx.lo] Error 1
make[3]: Leaving directory `/var/tmp/portage/libsdl-1.2.8-r1/work/SDL-1.2.8/src/video'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/var/tmp/portage/libsdl-1.2.8-r1/work/SDL-1.2.8/src/video'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/var/tmp/portage/libsdl-1.2.8-r1/work/SDL-1.2.8/src'
make: *** [all-recursive] Error 1
Comment 7 SpanKY gentoo-dev 2005-04-01 17:00:17 UTC
-fforce-addr is now filtered for x86
Comment 8 Ioannis Aslanidis (RETIRED) gentoo-dev 2005-04-02 05:47:09 UTC
This bug is reproducible on amd64, please filter it too.
Comment 9 Ioannis Aslanidis (RETIRED) gentoo-dev 2005-04-02 05:59:19 UTC
Please, ignore comment #8, it was a problem with the configuration of the cross compiler.