Libgcj in revision 121297 failed to build for Linux/ia64: /net/gnu-13/export/gnu/src/gcc/gcc/libjava/jvmti.cc: In function 'jvmtiError _Jv_JVMTI_SuspendThread(jvmtiEnv*, java::lang::Object*)': /net/gnu-13/export/gnu/src/gcc/gcc/libjava/jvmti.cc:159: error: 'class java::lang::Object' has no member named 'isAlive' /net/gnu-13/export/gnu/src/gcc/gcc/libjava/jvmti.cc:161: error: invalid conversion from 'java::lang::Object*' to 'java::lang::Thread*' /net/gnu-13/export/gnu/src/gcc/gcc/libjava/jvmti.cc:161: error: initializing argument 1 of '_Jv_Thread_t* _Jv_ThreadGetData(java::lang::Thread*)' /net/gnu-13/export/gnu/src/gcc/gcc/libjava/jvmti.cc: In function 'jvmtiError _Jv_JVMTI_ResumeThread(jvmtiEnv*, java::lang::Object*)': /net/gnu-13/export/gnu/src/gcc/gcc/libjava/jvmti.cc:173: error: 'class java::lang::Object' has no member named 'isAlive' /net/gnu-13/export/gnu/src/gcc/gcc/libjava/jvmti.cc:175: error: invalid conversion from 'java::lang::Object*' to 'java::lang::Thread*' /net/gnu-13/export/gnu/src/gcc/gcc/libjava/jvmti.cc:175: error: initializing argument 1 of '_Jv_Thread_t* _Jv_ThreadGetData(java::lang::Thread*)' /net/gnu-13/export/gnu/src/gcc/gcc/libjava/jvmti.cc: In function 'jvmtiError _Jv_JVMTI_InterruptThread(jvmtiEnv*, java::lang::Object*)': /net/gnu-13/export/gnu/src/gcc/gcc/libjava/jvmti.cc:191: error: 'class java::lang::Object' has no member named 'isAlive' /net/gnu-13/export/gnu/src/gcc/gcc/libjava/jvmti.cc:192: error: 'class java::lang::Object' has no member named 'interrupt' /net/gnu-13/export/gnu/src/gcc/gcc/libjava/jvmti.cc: In function 'jvmtiError _Jv_JVMTI_SetEventNotificationMode(jvmtiEnv*, jvmtiEventMode, jvmtiEvent, java::lang::Object*, ...)': /net/gnu-13/export/gnu/src/gcc/gcc/libjava/jvmti.cc:1171: error: 'class java::lang::Object' has no member named 'isAlive' make[4]: *** [jvmti.lo] Error 1 make[4]: Leaving directory `/export/build/gnu/gcc/build-ia64-linux/ia64-unknown-linux-gnu/libjava' Revision 121290 is OK: http://gcc.gnu.org/ml/gcc-testresults/2007-01/msg01092.html This patch http://gcc.gnu.org/ml/java-patches/2007-q1/msg00217.html may be the cause.
Oops. I meant to say this patch http://gcc.gnu.org/ml/java-patches/2007-q1/msg00237.html might be the cause.
This is very weird. I don't see how it can happen... The definition is: static jvmtiError JNICALL _Jv_JVMTI_SuspendThread (MAYBE_UNUSED jvmtiEnv *env, jthread thread) and afaics jthread is defined in include/jvmti_md.h: typedef java::lang::Thread *jthread; Hmm... perhaps this compilation is picking up some *other* jvmti.h? One that defines jthread as 'jobject'? Perhaps -E or the .d file would help here.
I do have an older gcc 4.3 installed and I am doing "make -j8" on an ia64 machine with 16 pocessors. Is libjava parallel build safe?
Yes, as far as we know libjava is parallel build safe. Could you paste the command line for the failing compilation? And also run it with -E and see what jvmti*.h files are actually being used? Perhaps we have a wrong -I or something like that.
Seems to work now.