gcj does not build on Solaris (X11 headers incorrect)

Martin Kahlert martin.kahlert@infineon.com
Thu Feb 22 00:32:00 GMT 2001


Hi!
The current gcc version 3.0 20010221 (prerelease) does not
build on my Solaris 2.7 system with java support:

mkdir gnu/gcj/xlib/.libs
/home/kahlert/gcc/obj/gcc/g++ -B/home/kahlert/gcc/obj/gcc/ -nostdinc++
-I/home/kahlert/gcc/libstdc++-v3/include
-I/home/kahlert/gcc/libstdc++-v3/include/std
-I/home/kahlert/gcc/libstdc++-v3/include/c_std
-I/home/kahlert/gcc/obj/sparc-sun-solaris2.7/libstdc++-v3/include
-I/home/kahlert/gcc/libstdc++-v3/libsupc++
-I/home/kahlert/gcc/obj/sparc-sun-solaris2.7/libstdc++-v3/libio
-I/home/kahlert/gcc/libstdc++-v3/libio
-I/home/kahlert/gcc/libstdc++-v3/libmath
-L/home/kahlert/gcc/obj/sparc-sun-solaris2.7/libstdc++-v3/src
-L/home/kahlert/gcc/obj/sparc-sun-solaris2.7/libstdc++-v3/src/.libs
-B/home/kahlert/GCC/sparc-sun-solaris2.7/bin/
-B/home/kahlert/GCC/sparc-sun-solaris2.7/lib/ -isystem
/home/kahlert/GCC/sparc-sun-solaris2.7/include -DHAVE_CONFIG_H -I.
-I../../../libjava -I./include -I../../../libjava -Iinclude
-I../../../libjava/include -I../../../libjava/../boehm-gc -I./../boehm-gc
-DSOLARIS_THREADS=1 -D_SOLARIS_PTHREADS=1 -DSILENT=1 -DNO_SIGNALS=1
-DJAVA_FINALIZATION=1 -DGC_GCJ_SUPPORT=1 -I../../../libjava/libltdl
-I../../../libjava/libltdl -I../../../libjava/../gcc
-I../../../libjava/../include -I../../../libjava/../zlib
-I../../../libjava/../libffi/include -I../libffi/include -fno-rtti
-fvtable-thunks -fasynchronous-exceptions -fdollars-in-identifiers
-I/usr/openwin/include -W -Wall -D_GNU_SOURCE -g -O2 -Wp,-MD,.deps/natClip.pp
-c ../../../libjava/gnu/gcj/xlib/natClip.cc  -fPIC -DPIC -o
gnu/gcj/xlib/.libs/natClip.o
In file included from ../../../libjava/gnu/gcj/xlib/natClip.cc:17:
/usr/openwin/include/X11/Xlib.h:2063: ISO C++ forbids declaration of
   `XSetTransientForHint' with no type
   /usr/openwin/include/X11/Xlib.h:2071: ISO C++ forbids declaration of
      `XActivateScreenSaver' with no type
(about some hundred of these messages)


The problem are the headers of Sun's X11:
/usr/openwin/include/X11/Xlib.h:2063 looks like this:
extern XSetTransientForHint(
#if NeedFunctionPrototypes
    Display*            /* display */,
    Window              /* w */,
    Window              /* prop_window */
#endif
);

Neither 
extern int XSetTransientForHint 
nor 
extern void XSetTransientForHint.

The newly built g++ seems to insist on correct C++, but you will have to wait some
time for SUN to change their headers.

Any suggestions?

Bye,
Martin.

-- 
The early bird gets the worm. If you want something else for       
breakfast, get up later.



More information about the Java mailing list