Bug 19400

Summary: snes9x compilation problem
Product: [Retired] Red Hat Linux Reporter: Tom "spot" Callaway <spot>
Component: gccAssignee: Jakub Jelinek <jakub>
Status: CLOSED WORKSFORME QA Contact: David Lawrence <dkl>
Severity: medium Docs Contact:
Priority: medium    
Version: 7.0   
Target Milestone: ---   
Target Release: ---   
Hardware: i386   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2000-11-01 08:19:13 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Attachments:
Description Flags
Output as requested none

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.