Bug 118156 - fails media-gfx/povray-3.6.1-r1 w/ -mcpu=power5 on gcc-4
Bug#: 118156 Product:  Gentoo Linux Version: 2005.1 Platform: PPC64
OS/Version: Linux Status: RESOLVED Severity: enhancement Priority: P2
Resolution: FIXED Assigned To: morfic@gentoo.org Reported By: corsair@gentoo.org
Component: Applications
URL: 
Summary: fails media-gfx/povray-3.6.1-r1 w/ -mcpu=power5 on gcc-4
Keywords:  
Status Whiteboard: 
Opened: 2006-01-07 04:27 0000
Description:   Opened: 2006-01-07 04:27 0000
Hi,

media-gfx/povray-3.6.1-r1 does not compile using gcc-4.0.2-r3:

[...]
Making all in base
make[3]: Entering directory
`/var/tmp/portage/povray-3.6.1-r1/work/povray-3.6.1/source/base'
powerpc64-unknown-linux-gnu-g++ -DHAVE_CONFIG_H -I. -I. -I../..  -I../..
-I../../source -I../../unix    -pipe -Wno-multichar -O3 -mpowerpc -mcpu=750
-mtune=7450 -mmultiple -mstring -mfused-madd -O3 -pipe -mtune=power5
-mcpu=power5 -c -o fileinputoutput.o `test -f 'fileinputoutput.cpp' || echo
'./'`fileinputoutput.cpp
powerpc64-unknown-linux-gnu-g++ -DHAVE_CONFIG_H -I. -I. -I../..  -I../..
-I../../source -I../../unix    -pipe -Wno-multichar -O3 -mpowerpc -mcpu=750
-mtune=7450 -mmultiple -mstring -mfused-madd -O3 -pipe -mtune=power5
-mcpu=power5 -c -o povms.o `test -f 'povms.cpp' || echo './'`povms.cpp
powerpc64-unknown-linux-gnu-g++ -DHAVE_CONFIG_H -I. -I. -I../..  -I../..
-I../../source -I../../unix    -pipe -Wno-multichar -O3 -mpowerpc -mcpu=750
-mtune=7450 -mmultiple -mstring -mfused-madd -O3 -pipe -mtune=power5
-mcpu=power5 -c -o povmscpp.o `test -f 'povmscpp.cpp' || echo './'`povmscpp.cpp
powerpc64-unknown-linux-gnu-g++ -DHAVE_CONFIG_H -I. -I. -I../..  -I../..
-I../../source -I../../unix    -pipe -Wno-multichar -O3 -mpowerpc -mcpu=750
-mtune=7450 -mmultiple -mstring -mfused-madd -O3 -pipe -mtune=power5
-mcpu=power5 -c -o processoptions.o `test -f 'processoptions.cpp' || echo
'./'`processoptions.cpp
powerpc64-unknown-linux-gnu-g++ -DHAVE_CONFIG_H -I. -I. -I../..  -I../..
-I../../source -I../../unix    -pipe -Wno-multichar -O3 -mpowerpc -mcpu=750
-mtune=7450 -mmultiple -mstring -mfused-madd -O3 -pipe -mtune=power5
-mcpu=power5 -c -o stringutilities.o `test -f 'stringutilities.cpp' || echo
'./'`stringutilities.cpp
powerpc64-unknown-linux-gnu-g++ -DHAVE_CONFIG_H -I. -I. -I../..  -I../..
-I../../source -I../../unix    -pipe -Wno-multichar -O3 -mpowerpc -mcpu=750
-mtune=7450 -mmultiple -mstring -mfused-madd -O3 -pipe -mtune=power5
-mcpu=power5 -c -o textstreambuffer.o `test -f 'textstreambuffer.cpp' || echo
'./'`textstreambuffer.cpp
powerpc64-unknown-linux-gnu-g++ -DHAVE_CONFIG_H -I. -I. -I../..  -I../..
-I../../source -I../../unix    -pipe -Wno-multichar -O3 -mpowerpc -mcpu=750
-mtune=7450 -mmultiple -mstring -mfused-madd -O3 -pipe -mtune=power5
-mcpu=power5 -c -o textstream.o `test -f 'textstream.cpp' || echo
'./'`textstream.cpp
povms.cpp:206: warning: non-local variable '<anonymous struct>
POVMSStreamOrderTables' uses anonymous type
{standard input}: Assembler messages:
{standard input}:338: Error: junk at end of line: `1'
{standard input}:1250: Error: junk at end of line: `1'
{standard input}: Assembler messages:
{standard input}:1641: Error: junk at end of line: `2'
{standard input}:1937: Error: junk at end of line: `1'
{standard input}:1959: Error: junk at end of line: `1'
{standard input}:1981: Error: junk at end of line: `1'
{standard input}:2003: Error: junk at end of line: `1'
{standard input}:2457: Error: junk at end of line: `1'
{standard input}:2479: Error: junk at end of line: `1'
{standard input}:2501: Error: junk at end of line: `1'
{standard input}:2523: Error: junk at end of line: `1'
{standard input}:3428: Error: junk at end of line: `1'
{standard input}:3450: Error: junk at end of line: `1'
{standard input}:3472: Error: junk at end of line: `1'
{standard input}:3494: Error: junk at end of line: `1'
{standard input}:3600: Error: junk at end of line: `1'
{standard input}:3622: Error: junk at end of line: `1'
{standard input}:3644: Error: junk at end of line: `1'
{standard input}:3666: Error: junk at end of line: `1'
{standard input}:3906: Error: junk at end of line: `2'
{standard input}:3909: Error: junk at end of line: `2'
{standard input}:3912: Error: junk at end of line: `2'
{standard input}:4134: Error: junk at end of line: `1'
{standard input}:4137: Error: junk at end of line: `1'
{standard input}:4140: Error: junk at end of line: `1'
{standard input}:4297: Error: junk at end of line: `32'
{standard input}:4305: Error: junk at end of line: `32'
{standard input}:4308: Error: junk at end of line: `32'
{standard input}:4542: Error: junk at end of line: `1'
{standard input}:4545: Error: junk at end of line: `32'
{standard input}:4548: Error: junk at end of line: `1'
make[3]: *** [processoptions.o] Error 1
make[3]: *** Waiting for unfinished jobs....
make[3]: *** [povmscpp.o] Error 1
make[3]: Leaving directory
`/var/tmp/portage/povray-3.6.1-r1/work/povray-3.6.1/source/base'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory
`/var/tmp/portage/povray-3.6.1-r1/work/povray-3.6.1/source'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/var/tmp/portage/povray-3.6.1-r1/work/povray-3.6.1'
make: *** [all] Error 2

!!! ERROR: media-gfx/povray-3.6.1-r1 failed.
!!! Function src_compile, Line 44, Exitcode 2
!!! build failed
!!! If you need support, post the topmost build error, NOT this status message.



$ emerge --info
Portage 2.0.53 (default-linux/ppc/2005.1/ppc64/64bit-userland, gcc-4.0.2,
glibc-2.3.6-r2, 2.6.12.2-vios ppc64)
=================================================================
System uname: 2.6.12.2-vios ppc64 POWER5 (gr)
Gentoo Base System version 1.6.13
dev-lang/python:     2.3.5-r2, 2.4.2
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-r1
sys-devel/binutils:  2.16.1
sys-devel/libtool:   1.5.20
virtual/os-headers:  2.6.11-r2
ACCEPT_KEYWORDS="ppc64"
AUTOCLEAN="yes"
CBUILD="powerpc64-unknown-linux-gnu"
CFLAGS="-O3 -pipe -mtune=power5 -mcpu=power5"
CHOST="powerpc64-unknown-linux-gnu"
CONFIG_PROTECT="/etc /usr/kde/2/share/config /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/qmail/control"
CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d"
CXXFLAGS="-O3 -pipe -mtune=power5 -mcpu=power5"
DISTDIR="/usr/portage/distfiles"
FEATURES="autoconfig distlocks sandbox sfperms strict"
GENTOO_MIRRORS="http://distfiles.gentoo.org
http://distro.ibiblio.org/pub/linux/distributions/gentoo"
LINGUAS="de"
MAKEOPTS="-j9"
PKGDIR="/usr/portage/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/local/portage"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="ppc64 X a52 acl alsa altivec arts audiofile berkdb bitmap-fonts bzip2
cscope cups dbus dga djbfft dlloader dv dvd dvdr dvdread encode esd exif expat
fam fame flac fortran fpx gcj gd gdbm gif gmp gphoto2 gpm graphviz gstreamer
gtk gtk2 hal howl ibm ieee1394 imlib2 ipv6 jack jpeg jpeg2k kde kdeenablefinal
latex lcms ldap libedit libwww lzo mad mikmod mjpeg mng motif mp3 mpeg mpeg2
mpeg4 mysql nas ncurses network nls nptl nptlonly ogg oggvorbis opengl pam perl
png python qt quicktime readline samba ssl tcltk tcpd theora tiff truetype
truetype-fonts type1-fonts udev unicode usb v4l vcd vorbis xml2 xmms xv yv12
zlib linguas_de userland_GNU kernel_linux elibc_glibc"
Unset:  ASFLAGS, CTARGET, LANG, LC_ALL, LDFLAGS

------- Comment #1 From Mark Loeser 2006-01-13 22:39:17 0000 -------
Not a povray bug.

------- Comment #2 From Mark Loeser 2006-01-15 13:03:38 0000 -------
This is actually a known issue upstream that gcc screws up the call to `as`, so
we can just work around it by fixing the configure script.

------- Comment #3 From Mark Loeser 2006-01-15 13:04:30 0000 -------
Created an attachment (id=77187) [details]
configure.ac patch

This should "fix" the issue by not applying ppc32 flags for ppc64.

------- Comment #4 From Markus Rothe 2006-01-16 02:26:16 0000 -------
no, this didn't fixed it. I'm getting the same error.

------- Comment #5 From Markus Rothe 2006-01-16 02:36:40 0000 -------
I've tested comiling with these flags and it works: 
CFLAGS="-O3 -pipe -mtune=power5"

The 'bad flag' seems to be -mcpu=power5. Now, when I look at this line:

powerpc64-unknown-linux-gnu-g++ -DHAVE_CONFIG_H -I. -I. -I../..  -I../..
-I../../source -I../../unix    -pipe -Wno-multichar -O3 -mpowerpc -mcpu=750
-mtune=7450 -mmultiple -mstring -mfused-madd -O3 -pipe -mtune=power5
-mcpu=power5 -c -o textstream.o `test -f 'textstream.cpp' || echo
'./'`textstream.cpp

I can see -mcpu=750 and -mcpu=power5. Shouldn't there be only one of them?

------- Comment #6 From Mark Loeser 2006-01-16 09:13:38 0000 -------
(In reply to comment #4)
> no, this didn't fixed it. I'm getting the same error.
> 

Did you run autoconf after applying the patch?

------- Comment #7 From Markus Rothe 2006-01-16 10:26:12 0000 -------
I knew I forgot something...

Compiles fine now!

------- Comment #8 From Mark Loeser 2006-02-08 17:29:30 0000 -------
Fixed.