Bug 19400 - snes9x compilation problem
Summary: snes9x compilation problem
Keywords:
Status: CLOSED WORKSFORME
Alias: None
Product: Red Hat Linux
Classification: Retired
Component: gcc
Version: 7.0
Hardware: i386
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Jakub Jelinek
QA Contact: David Lawrence
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2000-10-19 20:08 UTC by Tom "spot" Callaway
Modified: 2007-04-18 16:29 UTC (History)
0 users

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2000-11-01 08:19:13 UTC
Embargoed:


Attachments (Terms of Use)
Output as requested (138.01 KB, text/plain)
2000-10-23 23:00 UTC, Tom "spot" Callaway
no flags Details

Description Tom "spot" Callaway 2000-10-19 20:08:57 UTC
Attempting to compile the Snes9x emulator from source, version 132, causes
the following output:

g++ -fno-rtti -I/usr/X11R6/include -I/usr/local/include -c -O6 -mpentium
-fno-exceptions -Wall -W -pedantic -pipe -fomit-frame-pointer  -DMITSHM
-Ii386 -I. -Iunzip -DJOYSTICK_SUPPORT -DZLIB -DNO_INLINE_SET_GET
-DVAR_CYCLES -DDEBUGGER -DCPU_SHUTDOWN -DSPC700_SHUTDOWN
-DUSE_DGA_EXTENSION -DUSE_VIDMODE_EXTENSION -DZSNES_FX
-DEXECUTE_SUPERFX_PER_LINE -DUSE_THREADS -DSPC700_C -DNETPLAY_SUPPORT
-DUNZIP_SUPPORT -DUSE_GLIDE -I/usr/include/glide  unix/svga.cpp -o
unix/svga.o
In file included from snes9x.h:53,
                 from unix/svga.cpp:54:
port.h:67: warning: ISO C++ does not support `long long'
In file included from unix/svga.cpp:727:
/usr/include/asm/io.h: In function `unsigned char inb (short unsigned 
int)':
/usr/include/asm/io.h:83: redefinition of `unsigned char inb (short 
unsigned int)'
/usr/include/sys/io.h:45: `unsigned char inb (short unsigned int)' 
previously defined here
/usr/include/asm/io.h: In function `unsigned char inb (short unsigned 
int)':
/usr/include/asm/io.h:83: Internal error #19990919.
/usr/include/asm/io.h:83: Internal compiler error in setup_vtbl_ptr, at 
../gcc/cp/semantics.c:1203
Please submit a full bug report.
See <URL:http://www.gnu.org/software/gcc/bugs.html> for instructions.
make: *** [unix/svga.o] Error 1

Note: the binaries for 132 run, but have serious text problems.

Comment 1 Jakub Jelinek 2000-10-20 11:48:57 UTC
The first problem is snes9x fault - C++ programs should not include kernel
headers, asm/ and linux/ are not 100% ready for use in C++.
There is sys/io.h header provided by glibc which should be used instead.
But g++ should't ever die with ICEs on any input, so please run the
above command with additional -v -save-temps options and enter into bugzilla
the full output of that command and attach the resulting .ii file as attachment,
so that I can debug it out.
Thanks.

Comment 2 Tom "spot" Callaway 2000-10-23 22:59:47 UTC
[spot@spot release]$ g++ -fno-rtti -I/usr/X11R6/include -I/usr/local/include -c
-O6 -mpentium -fno-exceptions -Wall -W -pedantic -pipe -fomit-frame-pointer 
-DMITSHM -Ii386 -I. -Iunzip -DJOYSTICK_SUPPORT -DZLIB -DNO_INLINE_SET_GET
-DVAR_CYCLES -DDEBUGGER -DCPU_SHUTDOWN -DSPC700_SHUTDOWN -DUSE_DGA_EXTENSION
-DUSE_VIDMODE_EXTENSION -DZSNES_FX -DEXECUTE_SUPERFX_PER_LINE -DUSE_THREADS
-DSPC700_C -DNETPLAY_SUPPORT -DUNZIP_SUPPORT -DUSE_GLIDE -I/usr/include/glide 
unix/svga.cpp -o unix/svga.o -v -save-temps
g++: Warning: -pipe ignored since -save-temps specified
Reading specs from /usr/lib/gcc-lib/i386-redhat-linux/2.96/specs
gcc version 2.96 20000731 (Red Hat Linux 7.0)
 /usr/lib/gcc-lib/i386-redhat-linux/2.96/cpp0 -lang-c++ -D__GNUG__=2 -v
-I/usr/X11R6/include -I/usr/local/include -Ii386 -I. -Iunzip
-I/usr/include/glide -D__GNUC__=2 -D__GNUC_MINOR__=96 -D__GNUC_PATCHLEVEL__=0
-D__ELF__ -Dunix -Dlinux -D__ELF__ -D__unix__ -D__linux__ -D__unix -D__linux
-Asystem(posix) -D__OPTIMIZE__ -Wall -W -pedantic -Acpu(i386) -Amachine(i386)
-Di386 -D__i386 -D__i386__ -D__tune_pentium__ -DMITSHM -DJOYSTICK_SUPPORT -DZLIB
-DNO_INLINE_SET_GET -DVAR_CYCLES -DDEBUGGER -DCPU_SHUTDOWN -DSPC700_SHUTDOWN
-DUSE_DGA_EXTENSION -DUSE_VIDMODE_EXTENSION -DZSNES_FX
-DEXECUTE_SUPERFX_PER_LINE -DUSE_THREADS -DSPC700_C -DNETPLAY_SUPPORT
-DUNZIP_SUPPORT -DUSE_GLIDE unix/svga.cpp svga.ii
GNU CPP version 2.96 20000731 (experimental) (cpplib)
 (i386 Linux/ELF)
ignoring nonexistent directory "/usr/i386-redhat-linux/include"
ignoring duplicate directory "/usr/local/include"
#include "..." search starts here:
#include <...> search starts here:
 /usr/X11R6/include
 /usr/local/include
 i386
 .
 unzip
 /usr/include/glide
 /usr/include/g++-3
 /usr/lib/gcc-lib/i386-redhat-linux/2.96/include
 /usr/include
End of search list.
In file included from /usr/include/signal.h:309,
                 from unix/svga.cpp:47:
/usr/include/bits/sigcontext.h:28:29: asm/sigcontext.h: No such file or
directory
In file included from /usr/include/bits/posix1_lim.h:126,
                 from /usr/include/limits.h:30,
                 from
/usr/lib/gcc-lib/i386-redhat-linux/2.96/include/limits.h:130,
                 from
/usr/lib/gcc-lib/i386-redhat-linux/2.96/include/syslimits.h:7,
                 from
/usr/lib/gcc-lib/i386-redhat-linux/2.96/include/limits.h:11,
                 from port.h:42,
                 from snes9x.h:52,
                 from unix/svga.cpp:53:
/usr/include/bits/local_lim.h:36:26: linux/limits.h: No such file or directory
unix/svga.cpp:726:20: asm/io.h: No such file or directory



Comment 3 Tom "spot" Callaway 2000-10-23 23:00:52 UTC
Created attachment 4593 [details]
Output as requested

Comment 4 Jakub Jelinek 2000-11-01 08:19:10 UTC
I'm a little bit confused because youre attached svga.ii does not include
asm/io.h at all and compiles just fine. Have you changed anything in the source
to make it compile before? Also, the above g++ error/warning output seems
unrelated to any of those two other as well - that looks like if you had
no valid /usr/include/linux and /usr/include/asm headers (either not installed
kernel-headers, symlinks pointing nowhere or whatever.
Could you please try to post svga.ii which triggers the internal error above
(ie. #19990919)?

Comment 5 Jakub Jelinek 2000-12-19 10:35:13 UTC
Closing, if you'll have svga.ii which actually triggers the ICE, please reopen
the bug.


Note You need to log in before you can comment on or make changes to this bug.