Bootstrapping fails on Solaris 2.5.1 trying to compile gnu/gcj/io/shs.cc: 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. Release: 3.1 20020313 (prerelease) 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 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.
From: Rainer Orth <ro@TechFak.Uni-Bielefeld.DE> To: gcc-gnats@gcc.gnu.org Cc: Subject: Re: libgcj/5944: gnu/gcj/io/shs.cc doesn't compile on Solaris 2.5.1 (bootstrap failure) Date: Wed, 13 Mar 2002 22:20:26 +0100 (MET) > >Category: libgcj > >Responsible: unassigned > >Synopsis: Use of uint32_t breaks libgcj bootstrap on Solaris 2.5.1 > >Arrival-Date: Wed Mar 13 12:16:05 PST 2002 Trying to bootstrap on Tru64 UNIX V4.0F, I noticed a similar problem: this system doesn't have any definition of uint<n>_t in system headers, so bootstrap with --enable-libgcj is broken on this platform as well. Rainer
Responsible-Changed-From-To: unassigned->tromey Responsible-Changed-Why: I'm handling this.
State-Changed-From-To: open->closed State-Changed-Why: I've checked in the fix. Thanks.
From: tromey@gcc.gnu.org To: gcc-gnats@gcc.gnu.org Cc: Subject: libgcj/5944 Date: 15 Mar 2002 21:56:04 -0000 CVSROOT: /cvs/gcc Module name: gcc Branch: gcc-3_1-branch Changes by: tromey@gcc.gnu.org 2002-03-15 13:56:04 Modified files: libjava : ChangeLog libjava/gnu/gcj/io: shs.h Log message: 2002-03-15 Tom Tromey <tromey@redhat.com> Rainer Orth <ro@TechFak.Uni-Bielefeld.DE> Fix for PR libgcj/5944. * gnu/gcj/io/shs.h: Define uint8_t and uint32_t. Patches: http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libjava/ChangeLog.diff?cvsroot=gcc&only_with_tag=gcc-3_1-branch&r1=1.1197.2.36&r2=1.1197.2.37 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libjava/gnu/gcj/io/shs.h.diff?cvsroot=gcc&only_with_tag=gcc-3_1-branch&r1=1.2&r2=1.2.2.1
From: tromey@gcc.gnu.org To: gcc-gnats@gcc.gnu.org Cc: Subject: libgcj/5944 Date: 15 Mar 2002 21:59:14 -0000 CVSROOT: /cvs/gcc Module name: gcc Changes by: tromey@gcc.gnu.org 2002-03-15 13:59:14 Modified files: libjava : ChangeLog libjava/gnu/gcj/io: shs.h Log message: 2002-03-15 Tom Tromey <tromey@redhat.com> Rainer Orth <ro@TechFak.Uni-Bielefeld.DE> Fix for PR libgcj/5944. * gnu/gcj/io/shs.h: Define uint8_t and uint32_t. Patches: http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libjava/ChangeLog.diff?cvsroot=gcc&r1=1.1235&r2=1.1236 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libjava/gnu/gcj/io/shs.h.diff?cvsroot=gcc&r1=1.2&r2=1.3