Bug 31975 - xfractint fails to compile with gcc-3.3.1
|
Bug#:
31975
|
Product: Gentoo Linux
|
Version: unspecified
|
Platform: All
|
|
OS/Version: Linux
|
Status: RESOLVED
|
Severity: normal
|
Priority: P2
|
|
Resolution: FIXED
|
Assigned To: gcc-porting@gentoo.org
|
Reported By: spock@gentoo.org
|
|
Component: Applications
|
|
|
URL:
|
|
Summary: xfractint fails to compile with gcc-3.3.1
|
|
Keywords:
|
|
Status Whiteboard:
|
|
Opened: 2003-10-25 08:01 0000
|
emerge xfractint ends just like that:
gcc -O2 -mcpu=athlon-tbird -march=athlon-tbird -mmmx -m3dnow -pipe -fforce-addr -fomit-frame-pointer -fprefetch-loop-arrays -frerun-cse-after-loop -frerun-loop-opt -fthread-jumps -falign-functions=4 -I. -DXFRACT -DNOBSTRING -g -DBIG_ANSI_C -DLINUX -Os -DSRCDIR=\".\" -c unix.c
cc1: warning: -fprefetch-loop-arrays is not supported with -Os
cc1: warning: -fprefetch-loop-arrays is not supported with -Os
In file included from hc.c:59:
/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.1/include/varargs.h:4:2: #error "GCC no longer implements <varargs.h>."
/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.1/include/varargs.h:5:2: #error "Revise your code to use <stdarg.h>."
gcc -O2 -mcpu=athlon-tbird -march=athlon-tbird -mmmx -m3dnow -pipe -fforce-addr -fomit-frame-pointer -fprefetch-loop-arrays -frerun-cse-after-loop -frerun-loop-opt -fthread-jumps -falign-functions=4 -DG_DISABLE_ASSERT -DTT_CONFIG_OPTION_BYTECODE_INTERPRETER -I. -DXFRACT -DNOBSTRING -g -DBIG_ANSI_C -DLINUX -Os -c -o 3d.o 3d.c
cc1: warning: -fprefetch-loop-arrays is not supported with -Os
hc.c:290: error: syntax error before "va_list"
hc.c: In function `print_msg':
hc.c:292: error: `type' undeclared (first use in this function)
hc.c:292: error: (Each undeclared identifier is reported only once
hc.c:292: error: for each function it appears in.)
hc.c:295: error: `lnum' undeclared (first use in this function)
hc.c:299: error: `format' undeclared (first use in this function)
hc.c:299: error: `arg' undeclared (first use in this function)
[..]
Apparently, xfractint wasn't tested with gcc >= 3.3.1. The new version of xfractint doesn't fix this problem. I'm attaching an updated ebuild for the current version and a patch I created. With this patch, xfractint compiles without any problems on my system.
I've given a shot using your provided ebuild & patch to see how cleanly this
program compiles before resolving the bug, and hit a small snafu.
make: *** No rule to make target `helpdefs.h', needed by `ant.o'. Stop.
make: *** Waiting for unfinished jobs....
Now the machine I used does not have X installed, so I'd expect the program
to not compile properly to begin with, but I was expecting an error explicitly
tied to X itself. This error looks more with the program. Any ideas how
this is resolved?
Sorry, I did test the patch but I forgot to check if the new version of
xfractint
works corretly with Portage. The problem is in the default '-j1' make option
Portage uses. Change 'emake' to "MAKEOPTS='-j1' emake" in the ebuild and
everything should work fine.
Why hasn't this been fixed in portage? I just tried to emerge xfractint and I
encountered the same compiler error.
New version with the patch added to Portage.