Bug 30632 - libgcj failed to build for Linux/ia64
Summary: libgcj failed to build for Linux/ia64
Status: RESOLVED WORKSFORME
Alias: None
Product: gcc
Classification: Unclassified
Component: libgcj (show other bugs)
Version: 4.3.0
: P3 normal
Target Milestone: ---
Assignee: Not yet assigned to anyone
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2007-01-29 20:05 UTC by H.J. Lu
Modified: 2007-07-13 13:26 UTC (History)
3 users (show)

See Also:
Host:
Target: ia64-linux-gnu
Build:
Known to work:
Known to fail:
Last reconfirmed:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description H.J. Lu 2007-01-29 20:05:46 UTC
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.
Comment 1 H.J. Lu 2007-01-29 20:08:52 UTC
Oops. I meant to say this patch

http://gcc.gnu.org/ml/java-patches/2007-q1/msg00237.html

might be the cause.
Comment 2 Tom Tromey 2007-01-29 20:16:55 UTC
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.
Comment 3 H.J. Lu 2007-01-29 21:00:33 UTC
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? 
Comment 4 Tom Tromey 2007-01-30 19:47:55 UTC
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.
Comment 5 H.J. Lu 2007-07-13 13:26:22 UTC
Seems to work now.