Bug 54270 - xmame 0.83.1 fails to compile on amd64 with gcc 3.4
|
Bug#:
54270
|
Product: Gentoo Linux
|
Version: unspecified
|
Platform: AMD64
|
|
OS/Version: Linux
|
Status: RESOLVED
|
Severity: normal
|
Priority: P2
|
|
Resolution: FIXED
|
Assigned To: games@gentoo.org
|
Reported By: andrew@alshain.org.uk
|
|
Component: Games
|
|
|
URL:
|
|
Summary: xmame 0.83.1 fails to compile on amd64 with gcc 3.4
|
|
Keywords:
|
|
Status Whiteboard:
|
|
Opened: 2004-06-17 22:37 0000
|
xmame 0.83.1 compiles for a while before exiting with an error at the file
src/sound/fm.c.
Reproducible: Always
Steps to Reproduce:
1. emerge -u games-emulation/xmame
2.
3.
Actual Results:
src/sound/fm.c: In function `FM_STATUS_FLAG':
src/sound/fm.c:853: internal compiler error: Segmentation fault
Please submit a full bug report,
with preprocessed source if appropriate.
See <URL:http://bugs.gentoo.org/> for instructions.
Compiling src/sound/hc55516.c ...
Preprocessed source stored
into /data/port_tmp/portage/xmame-0.83.1/temp/ccZK30WV.out file, please attach
this to your bugreport.
make: *** [xmame.obj/sound/fm.o] Error 1
make: *** Waiting for unfinished jobs....
!!! ERROR: games-emulation/xmame-0.83.1 failed.
!!! Function src_compile, Line 160, Exitcode 2
!!! emake failed (SDL)
Contents of ccZK30WV.out can be found here:
http://www.star.ucl.ac.uk/~adcw/ccZK30WV.out
Expected Results:
compiled
Portage 2.0.50-r8 (gcc34-amd64-2004.1, gcc-3.4.0, glibc-2.3.4.20040605-r0,
2.6.5-gentoo-r1)
=================================================================
System uname: 2.6.5-gentoo-r1 x86_64 4
Gentoo Base System version 1.4.16
ccache version 2.3 [enabled]
Autoconf: sys-devel/autoconf-2.59-r4
Automake: sys-devel/automake-1.8.5-r1
ACCEPT_KEYWORDS="amd64 ~amd64"
AUTOCLEAN="yes"
CFLAGS="-O2 -march=athlon64 -mtune=athlon64 -pipe -maccumulate-outgoing-args
-fomit-frame-pointer -fweb"
CHOST="x86_64-pc-linux-gnu"
COMPILER="gcc3"
CONFIG_PROTECT="/etc /usr/X11R6/lib/X11/xkb /usr/kde/2/share/config
/usr/kde/3.2/share/config /usr/kde/3/share/config
/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="-O2 -march=athlon64 -mtune=athlon64 -pipe -maccumulate-outgoing-args
-fomit-frame-pointer -fweb"
DISTDIR="/usr/portage/distfiles"
FEATURES="autoaddcvs ccache sandbox"
GENTOO_MIRRORS="http://gentoo.blueyonder.co.uk
http://www.mirror.ac.uk/sites/www.ibiblio.org/gentoo
http://www.ibiblio.org/pub/Linux/distributions/gentoo"
MAKEOPTS="-j2"
PKGDIR="/usr/portage/packages"
PORTAGE_TMPDIR="/data/port_tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/local/portage"
SYNC="rsync://rsync.europe.gentoo.org/gentoo-portage"
USE="X aalib alsa amd64 apache2 apm arts ati avi berkdb bonobo breakme cdr
crypt cups dga dga2 doc dvd dvdr encode esd foomaticdb gdbm ggi gif gimpprint
gnome gnome2 gphoto2 gpm gstreamer gtk gtk2 gtkhtml guile imap imlib jpeg kde
ldap libg++ libwww maildir mikmod motif mozilla mpeg nas ncurses nls oggvorbis
opengl oss pam pdflib perl png python qt quicktime radeon readline sdl slang
spell ssl tcltk tcpd tetex theora truetype unicode v4l v4l2 wmf xml xml2 xmms
xv xvid zlib"
src/sound/fm.c:853: internal compiler error: Segmentation fault
Smells like bad hardware to me. Does this box pass overnight memtest86?
I thought memtest86 was only for the x86. Certainly it causes my machine to
reboot instantly. Everything else works fine.
memtest86-3.0-r1.ebuild claims to be stable on amd64. Please try it out.
From the memtest86 Changelog:
18 Jun 2004; Jeremy Huddleston <eradicator@gentoo.org>
memtest86-3.0-r1.ebuild:
This contains 32bit x86 assembly and won't work on amd64.
I seriously doubt it's a hardware problem as 0.82.1 compiles and I have no problem compiling any other software on my machine, and it's extremely stable.
Okay, I think I've solved the problem. Looking at the top level Makefile shows
a line:
CFLAGS=-O2 -march=athlon64 -mtune=athlon64 -pipe -maccumulate-outgoing-args
-fomit-frame-pointer -fweb -Wno-unused -fomit-frame-pointer -fstrict-aliasing
-fstrength-reduce -ffast-math -falign-functions=2 -falign-jumps=2
-falign-loops=2 -O -Wall -Wno-unused
If I remove -ffast-math it appears to compile correctly. I've noticed that
another program that uses the -ffast-math option, xephem-3.6, also segfaults.
This also compiles correctly when I remove -ffast-math, so maybe it's a
compiler bug. I'm using gcc-3.4.0-r6.
Nice work. Thanks for tracking it down. I've taken out the -fast-math stuff
for amd64 in the ebuild. No rev bump since it's such a beast to compile (at least for everyone except amd64).