libgcj/5944: gnu/gcj/io/shs.cc doesn't compile on Solaris 2.5.1 (bootstrap failure)

Rainer Orth ro@TechFak.Uni-Bielefeld.DE
Wed Mar 13 12:16:00 GMT 2002


>Number:         5944
>Category:       libgcj
>Synopsis:       Use of uint32_t breaks libgcj bootstrap on Solaris 2.5.1
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    unassigned
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Wed Mar 13 12:16:05 PST 2002
>Closed-Date:
>Last-Modified:
>Originator:     Rainer Orth
>Release:        3.1 20020313 (prerelease)
>Organization:
Faculty of Technology, Bielefeld University
>Environment:
System: SunOS tamarinde 5.5.1 Generic_103640-28 sun4u sparc SUNW,Ultra-4
Architecture: sun4

	
host: sparc-sun-solaris2.5.1
build: sparc-sun-solaris2.5.1
target: sparc-sun-solaris2.5.1
configured with: /vol/gnu/src/gcc/gcc-3.1-branch-dist/configure --prefix=/vol/gcc --with-local-prefix=/vol/gcc --disable-nls
>Description:

Bootstrapping fails on Solaris 2.5.1 trying to compile gnu/gcj/io/shs.cc:

/vol/gcc/obj/gcc-3.1-20020313/2.5.1-gcc/gcc/xgcc -shared-libgcc -B/vol/gcc/obj/gcc-3.1-20020313/2.5.1-gcc/gcc/ -nostdinc++ -L/vol/gcc/obj/gcc-3.1-20020313/2.5.1-gcc/sparc-sun-solaris2.5.1/libstdc++-v3/src -L/vol/gcc/obj/gcc-3.1-20020313/2.5.1-gcc/sparc-sun-solaris2.5.1/libstdc++-v3/src/.libs -B/vol/gcc/share/sparc-sun-solaris2.5.1/bin/ -B/vol/gcc/share/sparc-sun-solaris2.5.1/lib/ -isystem /vol/gcc/share/sparc-sun-solaris2.5.1/include -DHAVE_CONFIG_H -I. -I/vol/gnu/src/gcc/gcc-3.1-branch-dist/libjava -I./include -I./gcj -I/vol/gnu/src/gcc/gcc-3.1-branch-dist/libjava -Iinclude -I/vol/gnu/src/gcc/gcc-3.1-branch-dist/libjava/include -I/vol/gnu/src/gcc/gcc-3.1-branch-dist/libjava/../boehm-gc/include -DGC_SOLARIS_THREADS=1 -DGC_SOLARIS_PTHREADS=1 -DSILENT=1 -DNO_SIGNALS=1 -DNO_EXECUTE_PERMISSION=1 -DALL_INTERIOR_POINTERS=1 -DJAVA_FINALIZATION=1 -DGC_GCJ_SUPPORT=1 -DATOMIC_UNCOLLECTABLE=1 -I/vol/gnu/src/gcc/gcc-3.1-branch-dist/libjava/libltdl -I/vol/gnu/src/gcc/gcc-3.1-branch-dist/!
 libjava/libltdl -I/vol/gnu/src/gcc/gcc-3.1-branch-dist/libjava/.././libjava/../gcc -I/vol/gnu/src/gcc/gcc-3.1-branch-dist/libjava/../zlib -I/vol/gnu/src/gcc/gcc-3.1-branch-dist/libjava/../libffi/include -I../libffi/include -fno-rtti -fnon-call-exceptions -fdollars-in-identifiers -I/vol/X11/include -W -Wall -D_GNU_SOURCE -DPREFIX=\"/vol/gcc\" -g -O2 -MD -MT java/io/natFileDescriptor.lo -MF java/io/natFileDescriptor.pp -c java/io/natFileDescriptor.cc  -fPIC -DPIC -o java/io/.libs/natFileDescriptor.o
In file included from /vol/gnu/src/gcc/gcc-3.1-branch-dist/libjava/gnu/gcj/io/shs.cc:18:
/vol/gnu/src/gcc/gcc-3.1-branch-dist/libjava/gnu/gcj/io/shs.h:34: parse error 
   before `[' token
/vol/gnu/src/gcc/gcc-3.1-branch-dist/libjava/gnu/gcj/io/shs.h:35: parse error 
   before `,' token
/vol/gnu/src/gcc/gcc-3.1-branch-dist/libjava/gnu/gcj/io/shs.h:36: parse error 
   before `[' token

This happens due to the following patch

2002-02-06  Adam Megacz <adam@xwt.org>

        * gnu/gcj/io/shs.h, gnu/gcj/io/shs.cc, gnu/gcj/io/natSimpleSHSStream.cc:
        use uint<n>_t instead of LONG and BYTE

which unconditionally uses uint<n>_t which doesn't exist in standard headers on
Solaris 2.5.1.  java/lang/mprec.h has a workaround/fix for this.
	
>How-To-Repeat:
Try bootstrapping on Solaris 2.5.1 with libgcj included (the default).
	
>Fix:
I don't know how to best fix this: either include java/lang/mprec.h or (probably
far better) move those definitions of uint<n>_t to a better place.
	
>Release-Note:
>Audit-Trail:
>Unformatted:



More information about the Java-prs mailing list