You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@harmony.apache.org by Stepan Mishura <st...@gmail.com> on 2008/03/04 12:43:06 UTC

[jdktools] Failed to build java6 branch on Linux

Hi,

I've updated federated build to take into account java6 branch for
jdktools and tried to build it. The build failed with log below:

<SNIP>
     [exec] cc -DLINUX -DLINUX_X86 -DHYX86 -DIPv6_FUNCTION_SUPPORT
-D_REENTRANT -I/export/users/smishura/snapshot/working_classlib/deploy/include
-I/export/users/smishura/snapshot/working_classlib/deploy/jdk/include
-I. -I../shared/ -I../../common/agent/commands
-I../../common/agent/core -I../../common/generic -Icore -fpic
-march=pentium3 -O1 -DNDEBUG -fpic   -c -o
../../common/agent/commands/ReferenceType.o
../../common/agent/commands/ReferenceType.cpp
     [exec] ../../common/agent/commands/ReferenceType.h:398: error:
\u2018jvmtiHeapReferenceKind\u2019 was not declared in this scope
     [exec] ../../common/agent/commands/ReferenceType.h:399: error:
expected primary-expression before \u2018const\u2019
     [exec] ../../common/agent/commands/ReferenceType.h:400: error:
expected primary-expression before \u2018class_tag\u2019
     [exec] ../../common/agent/commands/ReferenceType.h:401: error:
expected primary-expression before \u2018referrer_class_tag\u2019
     [exec] ../../common/agent/commands/ReferenceType.h:402: error:
expected primary-expression before \u2018size\u2019
     [exec] ../../common/agent/commands/ReferenceType.h:403: error:
expected primary-expression before \u2018*\u2019 token
     [exec] ../../common/agent/commands/ReferenceType.h:403: error:
\u2018tag_ptr\u2019 was not declared in this scope
     [exec] ../../common/agent/commands/ReferenceType.h:404: error:
expected primary-expression before \u2018*\u2019 token
     [exec] ../../common/agent/commands/ReferenceType.h:404: error:
\u2018referrer_tag_ptr\u2019 was not declared in this scope
     [exec] ../../common/agent/commands/ReferenceType.h:405: error:
expected primary-expression before \u2018length\u2019
     [exec] ../../common/agent/commands/ReferenceType.h:406: error:
expected primary-expression before \u2018void\u2019
     [exec] ../../common/agent/commands/ReferenceType.h:406: error:
initializer expression list treated as compound expression
     [exec] ../../common/agent/commands/ReferenceType.h:413: error:
\u2018jvmtiHeapReferenceKind\u2019 was not declared in this scope
     [exec] ../../common/agent/commands/ReferenceType.h:414: error:
expected primary-expression before \u2018const\u2019
     [exec] ../../common/agent/commands/ReferenceType.h:415: error:
expected primary-expression before \u2018object_class_tag\u2019
     [exec] ../../common/agent/commands/ReferenceType.h:416: error:
expected primary-expression before \u2018*\u2019 token
     [exec] ../../common/agent/commands/ReferenceType.h:416: error:
\u2018object_tag_ptr\u2019 was not declared in this scope
     [exec] ../../common/agent/commands/ReferenceType.h:417: error:
expected primary-expression before \u2018value\u2019
     [exec] ../../common/agent/commands/ReferenceType.h:418: error:
\u2018jvmtiPrimitiveType\u2019 was not declared in this scope
     [exec] ../../common/agent/commands/ReferenceType.h:419: error:
expected primary-expression before \u2018void\u2019
     [exec] ../../common/agent/commands/ReferenceType.h:419: error:
initializer expression list treated as compound expression
     [exec] ../../common/agent/commands/ReferenceType.h:429: error:
\u2018jvmtiPrimitiveType\u2019 has not been declared
     [exec] ../../common/agent/commands/ReferenceType.cpp: In member
function \u2018virtual void
jdwp::ReferenceType::InstancesHandler::Execute(JNIEnv*)\u2019:
     [exec] ../../common/agent/commands/ReferenceType.cpp:878: error:
\u2018jvmtiHeapCallbacks\u2019 was not declared in this scope
     [exec] ../../common/agent/commands/ReferenceType.cpp:878: error:
expected `;' before \u2018hcbs\u2019
     [exec] ../../common/agent/commands/ReferenceType.cpp:879: error:
\u2018hcbs\u2019 was not declared in this scope
     [exec] ../../common/agent/commands/ReferenceType.cpp:888: error:
\u2018struct jvmtiEnv_struct\u2019 has no member named
\u2018FollowReferences\u2019
     [exec] ../../common/agent/commands/ReferenceType.cpp: In member
function \u2018virtual void
jdwp::ReferenceType::ClassFileVersionHandler::Execute(JNIEnv*)\u2019:
     [exec] ../../common/agent/commands/ReferenceType.cpp:957: error:
\u2018struct jvmtiEnv_struct\u2019 has no member named
\u2018GetClassVersionNumbers\u2019
     [exec] ../../common/agent/commands/ReferenceType.cpp: At global scope:
     [exec] ../../common/agent/commands/ReferenceType.cpp:984: error:
redefinition of \u2018jint
jdwp::ReferenceType::HeapReferenceCallback\u2019
     [exec] ../../common/agent/commands/ReferenceType.h:398: error:
\u2018jint jdwp::ReferenceType::HeapReferenceCallback\u2019 previously
defined here
     [exec] ../../common/agent/commands/ReferenceType.cpp:984: error:
\u2018jvmtiHeapReferenceKind\u2019 was not declared in this scope
     [exec] ../../common/agent/commands/ReferenceType.cpp:985: error:
expected primary-expression before \u2018const\u2019
     [exec] ../../common/agent/commands/ReferenceType.cpp:986: error:
expected primary-expression before \u2018class_tag\u2019
     [exec] ../../common/agent/commands/ReferenceType.cpp:987: error:
expected primary-expression before \u2018referrer_class_tag\u2019
     [exec] ../../common/agent/commands/ReferenceType.cpp:988: error:
expected primary-expression before \u2018size\u2019
     [exec] ../../common/agent/commands/ReferenceType.cpp:989: error:
expected primary-expression before \u2018*\u2019 token
     [exec] ../../common/agent/commands/ReferenceType.cpp:989: error:
\u2018tag_ptr\u2019 was not declared in this scope
     [exec] ../../common/agent/commands/ReferenceType.cpp:990: error:
expected primary-expression before \u2018*\u2019 token
     [exec] ../../common/agent/commands/ReferenceType.cpp:990: error:
\u2018referrer_tag_ptr\u2019 was not declared in this scope
     [exec] ../../common/agent/commands/ReferenceType.cpp:991: error:
expected primary-expression before \u2018length\u2019
     [exec] ../../common/agent/commands/ReferenceType.cpp:992: error:
expected primary-expression before \u2018void\u2019
     [exec] ../../common/agent/commands/ReferenceType.cpp:1002: error:
redefinition of \u2018jint
jdwp::ReferenceType::PrimitiveFieldCallback\u2019
     [exec] ../../common/agent/commands/ReferenceType.h:413: error:
\u2018jint jdwp::ReferenceType::PrimitiveFieldCallback\u2019
previously defined here
     [exec] ../../common/agent/commands/ReferenceType.cpp:1002: error:
\u2018jvmtiHeapReferenceKind\u2019 was not declared in this scope
     [exec] ../../common/agent/commands/ReferenceType.cpp:1003: error:
expected primary-expression before \u2018const\u2019
     [exec] ../../common/agent/commands/ReferenceType.cpp:1004: error:
expected primary-expression before \u2018object_class_tag\u2019
     [exec] ../../common/agent/commands/ReferenceType.cpp:1005: error:
expected primary-expression before \u2018*\u2019 token
     [exec] ../../common/agent/commands/ReferenceType.cpp:1005: error:
\u2018object_tag_ptr\u2019 was not declared in this scope
     [exec] ../../common/agent/commands/ReferenceType.cpp:1006: error:
expected primary-expression before \u2018value\u2019
     [exec] ../../common/agent/commands/ReferenceType.cpp:1007: error:
\u2018jvmtiPrimitiveType\u2019 was not declared in this scope
     [exec] ../../common/agent/commands/ReferenceType.cpp:1008: error:
expected primary-expression before \u2018void\u2019
     [exec] ../../common/agent/commands/ReferenceType.cpp:1021: error:
\u2018jvmtiPrimitiveType\u2019 has not been declared
     [exec] ../../common/agent/commands/ReferenceType.cpp: In function
\u2018jint jdwp::ReferenceType::ArrayPrimitiveValueCallback(jlong,
jlong, jlong*, jint, int, const void*, void*)\u2019:
     [exec] ../../common/agent/commands/ReferenceType.cpp:1025: error:
\u2018JVMTI_VISIT_OBJECTS\u2019 was not declared in this scope
     [exec] ../../common/agent/commands/ReferenceType.cpp: In function
\u2018jint jdwp::ReferenceType::StringPrimitiveValueCallback(jlong,
jlong, jlong*, const jchar*, jint, void*)\u2019:
     [exec] ../../common/agent/commands/ReferenceType.cpp:1039: error:
\u2018JVMTI_VISIT_OBJECTS\u2019 was not declared in this scope
     [exec] make: *** [../../common/agent/commands/ReferenceType.o] Error 1

BUILD FAILED
/export/users/smishura/snapshot/build.xml:444: The following error
occurred while executing this line:
/export/users/smishura/snapshot/working_jdktools/build.xml:179: The
following error occurred while executing this line:
/export/users/smishura/snapshot/working_jdktools/make/build-native.xml:60:
The following error occurred while executing this line:
/export/users/smishura/snapshot/working_jdktools/make/properties.xml:336:
The following error occurred while executing this line:
/export/users/smishura/snapshot/working_jdktools/modules/jpda/build.xml:139:
The following error occurred while executing this line:
/export/users/smishura/snapshot/working_jdktools/make/properties.xml:354:
exec returned: 2

Thanks,
Stepan.

Re: [jdktools] Failed to build java6 branch on Linux

Posted by Sean Qiu <se...@gmail.com>.
2008/3/5, Jimmy,Jing Lv <fi...@gmail.com>:
> Hi,
>
> 2008/3/5, Sean Qiu <se...@gmail.com>:
> > Hi, Stepan
> >
> >  The build will failed since our DRLVM has not implemented the jvmti
> >  functions for java 6. So the jvmti.h of harmony does not contains the
> >  new declarations. Therefore the build failed.
> >
> >  The build script will find the jvmti.h from
> >  <hdk>/working_classlib/deploy/jdk/include/jvmti.h
> >
> >  There are two approaches for it.
> >  1. You can get a Java 6 jvmti.h
> >  2. Or I can upload my patch which will add the new declarations to our
> >  jvmti.h. Do you have any suggestions to a candidate location to  place
> >  this jvmti.h for java 6?
> >
>
> We may keep the code in the repository build-able and test-able all the time.
> As a workaround , option 2 sounds reasonable to me. IMHO,  we'd better
> put the stub jvmti.h in JDWP src folder, etc,
> src/main/native/jdwp/common/generic

IMHO, we'd better create new folder for it, such as :

src/main/native/jdwp/include/share
                                         /unix
                                         /windows

Since the jvmti.h is not part of the jdwp implementation.


>
> >  IMHO, my suggestion is to modify the build script of branch of
> >  jdktools, maintain a temporary copy java 6 version of jvmti.h in this
> >  branch individually for the purpose of building. After the drlvm
> >  finish Java 6 jvmti functions, we point it back to the official one.
> >
>

+1

> Or we also create a branch for DRLVM of java6, which offer the java6
> JVMTI for building. Don't know if it make sense for DRLVM gurus?
>
> >  If no one object, i can raise a jira for this.
> >
> >  2008/3/4, Stepan Mishura <st...@gmail.com>:
> >
> > > Hi,
> >  >
> >  > I've updated federated build to take into account java6 branch for
> >  > jdktools and tried to build it. The build failed with log below:
> >  >
> >  > <SNIP>
> >  >     [exec] cc -DLINUX -DLINUX_X86 -DHYX86 -DIPv6_FUNCTION_SUPPORT
> >  > -D_REENTRANT -I/export/users/smishura/snapshot/working_classlib/deploy/include
> >  > -I/export/users/smishura/snapshot/working_classlib/deploy/jdk/include
> >  > -I. -I../shared/ -I../../common/agent/commands
> >  > -I../../common/agent/core -I../../common/generic -Icore -fpic
> >  > -march=pentium3 -O1 -DNDEBUG -fpic   -c -o
> >  > ../../common/agent/commands/ReferenceType.o
> >  > ../../common/agent/commands/ReferenceType.cpp
> >  >     [exec] ../../common/agent/commands/ReferenceType.h:398: error:
> >  > \u2018jvmtiHeapReferenceKind\u2019 was not declared in this scope
> >  >     [exec] ../../common/agent/commands/ReferenceType.h:399: error:
> >  > expected primary-expression before \u2018const\u2019
> >  >     [exec] ../../common/agent/commands/ReferenceType.h:400: error:
> >  > expected primary-expression before \u2018class_tag\u2019
> >  >     [exec] ../../common/agent/commands/ReferenceType.h:401: error:
> >  > expected primary-expression before \u2018referrer_class_tag\u2019
> >  >     [exec] ../../common/agent/commands/ReferenceType.h:402: error:
> >  > expected primary-expression before \u2018size\u2019
> >  >     [exec] ../../common/agent/commands/ReferenceType.h:403: error:
> >  > expected primary-expression before \u2018*\u2019 token
> >  >     [exec] ../../common/agent/commands/ReferenceType.h:403: error:
> >  > \u2018tag_ptr\u2019 was not declared in this scope
> >  >     [exec] ../../common/agent/commands/ReferenceType.h:404: error:
> >  > expected primary-expression before \u2018*\u2019 token
> >  >     [exec] ../../common/agent/commands/ReferenceType.h:404: error:
> >  > \u2018referrer_tag_ptr\u2019 was not declared in this scope
> >  >     [exec] ../../common/agent/commands/ReferenceType.h:405: error:
> >  > expected primary-expression before \u2018length\u2019
> >  >     [exec] ../../common/agent/commands/ReferenceType.h:406: error:
> >  > expected primary-expression before \u2018void\u2019
> >  >     [exec] ../../common/agent/commands/ReferenceType.h:406: error:
> >  > initializer expression list treated as compound expression
> >  >     [exec] ../../common/agent/commands/ReferenceType.h:413: error:
> >  > \u2018jvmtiHeapReferenceKind\u2019 was not declared in this scope
> >  >     [exec] ../../common/agent/commands/ReferenceType.h:414: error:
> >  > expected primary-expression before \u2018const\u2019
> >  >     [exec] ../../common/agent/commands/ReferenceType.h:415: error:
> >  > expected primary-expression before \u2018object_class_tag\u2019
> >  >     [exec] ../../common/agent/commands/ReferenceType.h:416: error:
> >  > expected primary-expression before \u2018*\u2019 token
> >  >     [exec] ../../common/agent/commands/ReferenceType.h:416: error:
> >  > \u2018object_tag_ptr\u2019 was not declared in this scope
> >  >     [exec] ../../common/agent/commands/ReferenceType.h:417: error:
> >  > expected primary-expression before \u2018value\u2019
> >  >     [exec] ../../common/agent/commands/ReferenceType.h:418: error:
> >  > \u2018jvmtiPrimitiveType\u2019 was not declared in this scope
> >  >     [exec] ../../common/agent/commands/ReferenceType.h:419: error:
> >  > expected primary-expression before \u2018void\u2019
> >  >     [exec] ../../common/agent/commands/ReferenceType.h:419: error:
> >  > initializer expression list treated as compound expression
> >  >     [exec] ../../common/agent/commands/ReferenceType.h:429: error:
> >  > \u2018jvmtiPrimitiveType\u2019 has not been declared
> >  >     [exec] ../../common/agent/commands/ReferenceType.cpp: In member
> >  > function \u2018virtual void
> >  > jdwp::ReferenceType::InstancesHandler::Execute(JNIEnv*)\u2019:
> >  >     [exec] ../../common/agent/commands/ReferenceType.cpp:878: error:
> >  > \u2018jvmtiHeapCallbacks\u2019 was not declared in this scope
> >  >     [exec] ../../common/agent/commands/ReferenceType.cpp:878: error:
> >  > expected `;' before \u2018hcbs\u2019
> >  >     [exec] ../../common/agent/commands/ReferenceType.cpp:879: error:
> >  > \u2018hcbs\u2019 was not declared in this scope
> >  >     [exec] ../../common/agent/commands/ReferenceType.cpp:888: error:
> >  > \u2018struct jvmtiEnv_struct\u2019 has no member named
> >  > \u2018FollowReferences\u2019
> >  >     [exec] ../../common/agent/commands/ReferenceType.cpp: In member
> >  > function \u2018virtual void
> >  > jdwp::ReferenceType::ClassFileVersionHandler::Execute(JNIEnv*)\u2019:
> >  >     [exec] ../../common/agent/commands/ReferenceType.cpp:957: error:
> >  > \u2018struct jvmtiEnv_struct\u2019 has no member named
> >  > \u2018GetClassVersionNumbers\u2019
> >  >     [exec] ../../common/agent/commands/ReferenceType.cpp: At global scope:
> >  >     [exec] ../../common/agent/commands/ReferenceType.cpp:984: error:
> >  > redefinition of \u2018jint
> >  > jdwp::ReferenceType::HeapReferenceCallback\u2019
> >  >     [exec] ../../common/agent/commands/ReferenceType.h:398: error:
> >  > \u2018jint jdwp::ReferenceType::HeapReferenceCallback\u2019 previously
> >  > defined here
> >  >     [exec] ../../common/agent/commands/ReferenceType.cpp:984: error:
> >  > \u2018jvmtiHeapReferenceKind\u2019 was not declared in this scope
> >  >     [exec] ../../common/agent/commands/ReferenceType.cpp:985: error:
> >  > expected primary-expression before \u2018const\u2019
> >  >     [exec] ../../common/agent/commands/ReferenceType.cpp:986: error:
> >  > expected primary-expression before \u2018class_tag\u2019
> >  >     [exec] ../../common/agent/commands/ReferenceType.cpp:987: error:
> >  > expected primary-expression before \u2018referrer_class_tag\u2019
> >  >     [exec] ../../common/agent/commands/ReferenceType.cpp:988: error:
> >  > expected primary-expression before \u2018size\u2019
> >  >     [exec] ../../common/agent/commands/ReferenceType.cpp:989: error:
> >  > expected primary-expression before \u2018*\u2019 token
> >  >     [exec] ../../common/agent/commands/ReferenceType.cpp:989: error:
> >  > \u2018tag_ptr\u2019 was not declared in this scope
> >  >     [exec] ../../common/agent/commands/ReferenceType.cpp:990: error:
> >  > expected primary-expression before \u2018*\u2019 token
> >  >     [exec] ../../common/agent/commands/ReferenceType.cpp:990: error:
> >  > \u2018referrer_tag_ptr\u2019 was not declared in this scope
> >  >     [exec] ../../common/agent/commands/ReferenceType.cpp:991: error:
> >  > expected primary-expression before \u2018length\u2019
> >  >     [exec] ../../common/agent/commands/ReferenceType.cpp:992: error:
> >  > expected primary-expression before \u2018void\u2019
> >  >     [exec] ../../common/agent/commands/ReferenceType.cpp:1002: error:
> >  > redefinition of \u2018jint
> >  > jdwp::ReferenceType::PrimitiveFieldCallback\u2019
> >  >     [exec] ../../common/agent/commands/ReferenceType.h:413: error:
> >  > \u2018jint jdwp::ReferenceType::PrimitiveFieldCallback\u2019
> >  > previously defined here
> >  >     [exec] ../../common/agent/commands/ReferenceType.cpp:1002: error:
> >  > \u2018jvmtiHeapReferenceKind\u2019 was not declared in this scope
> >  >     [exec] ../../common/agent/commands/ReferenceType.cpp:1003: error:
> >  > expected primary-expression before \u2018const\u2019
> >  >     [exec] ../../common/agent/commands/ReferenceType.cpp:1004: error:
> >  > expected primary-expression before \u2018object_class_tag\u2019
> >  >     [exec] ../../common/agent/commands/ReferenceType.cpp:1005: error:
> >  > expected primary-expression before \u2018*\u2019 token
> >  >     [exec] ../../common/agent/commands/ReferenceType.cpp:1005: error:
> >  > \u2018object_tag_ptr\u2019 was not declared in this scope
> >  >     [exec] ../../common/agent/commands/ReferenceType.cpp:1006: error:
> >  > expected primary-expression before \u2018value\u2019
> >  >     [exec] ../../common/agent/commands/ReferenceType.cpp:1007: error:
> >  > \u2018jvmtiPrimitiveType\u2019 was not declared in this scope
> >  >     [exec] ../../common/agent/commands/ReferenceType.cpp:1008: error:
> >  > expected primary-expression before \u2018void\u2019
> >  >     [exec] ../../common/agent/commands/ReferenceType.cpp:1021: error:
> >  > \u2018jvmtiPrimitiveType\u2019 has not been declared
> >  >     [exec] ../../common/agent/commands/ReferenceType.cpp: In function
> >  > \u2018jint jdwp::ReferenceType::ArrayPrimitiveValueCallback(jlong,
> >  > jlong, jlong*, jint, int, const void*, void*)\u2019:
> >  >     [exec] ../../common/agent/commands/ReferenceType.cpp:1025: error:
> >  > \u2018JVMTI_VISIT_OBJECTS\u2019 was not declared in this scope
> >  >     [exec] ../../common/agent/commands/ReferenceType.cpp: In function
> >  > \u2018jint jdwp::ReferenceType::StringPrimitiveValueCallback(jlong,
> >  > jlong, jlong*, const jchar*, jint, void*)\u2019:
> >  >     [exec] ../../common/agent/commands/ReferenceType.cpp:1039: error:
> >  > \u2018JVMTI_VISIT_OBJECTS\u2019 was not declared in this scope
> >  >     [exec] make: *** [../../common/agent/commands/ReferenceType.o] Error 1
> >  >
> >  > BUILD FAILED
> >  > /export/users/smishura/snapshot/build.xml:444: The following error
> >  > occurred while executing this line:
> >  > /export/users/smishura/snapshot/working_jdktools/build.xml:179: The
> >  > following error occurred while executing this line:
> >  > /export/users/smishura/snapshot/working_jdktools/make/build-native.xml:60:
> >  > The following error occurred while executing this line:
> >  > /export/users/smishura/snapshot/working_jdktools/make/properties.xml:336:
> >  > The following error occurred while executing this line:
> >  > /export/users/smishura/snapshot/working_jdktools/modules/jpda/build.xml:139:
> >  > The following error occurred while executing this line:
> >  > /export/users/smishura/snapshot/working_jdktools/make/properties.xml:354:
> >  > exec returned: 2
> >  >
> >  > Thanks,
> >  > Stepan.
> >  >
> >
> >
> >
> > --
> >  Sean, Xiao Xia Qiu
> >  China Software Development Lab, IBM
> >
>
>
> --
>
> Best Regards!
>
> Jimmy, Jing Lv
> China Software Development Lab, IBM
>


-- 
Sean, Xiao Xia Qiu
China Software Development Lab, IBM

Re: [jdktools] Failed to build java6 branch on Linux

Posted by Stepan Mishura <st...@gmail.com>.
On 3/5/08, Jimmy,Jing Lv <fi...@gmail.com> wrote:
> Hi,
>
> 2008/3/5, Sean Qiu <se...@gmail.com>:
> > Hi, Stepan
> >
> >  The build will failed since our DRLVM has not implemented the jvmti
> >  functions for java 6. So the jvmti.h of harmony does not contains the
> >  new declarations. Therefore the build failed.
> >
> >  The build script will find the jvmti.h from
> >  <hdk>/working_classlib/deploy/jdk/include/jvmti.h
> >
> >  There are two approaches for it.
> >  1. You can get a Java 6 jvmti.h
> >  2. Or I can upload my patch which will add the new declarations to our
> >  jvmti.h. Do you have any suggestions to a candidate location to  place
> >  this jvmti.h for java 6?
> >
>
> We may keep the code in the repository build-able and test-able all the time.

I believe that the code has to be build-able all the time.

-Stepan.

> As a workaround , option 2 sounds reasonable to me. IMHO,  we'd better
> put the stub jvmti.h in JDWP src folder, etc,
> src/main/native/jdwp/common/generic
>
> >  IMHO, my suggestion is to modify the build script of branch of
> >  jdktools, maintain a temporary copy java 6 version of jvmti.h in this
> >  branch individually for the purpose of building. After the drlvm
> >  finish Java 6 jvmti functions, we point it back to the official one.
> >
>
> Or we also create a branch for DRLVM of java6, which offer the java6
> JVMTI for building. Don't know if it make sense for DRLVM gurus?
>
> >  If no one object, i can raise a jira for this.
> >
> >  2008/3/4, Stepan Mishura <st...@gmail.com>:
> >
> > > Hi,
> >  >
> >  > I've updated federated build to take into account java6 branch for
> >  > jdktools and tried to build it. The build failed with log below:
> >  >
> >  > <SNIP>
> >  >     [exec] cc -DLINUX -DLINUX_X86 -DHYX86 -DIPv6_FUNCTION_SUPPORT
> >  > -D_REENTRANT -I/export/users/smishura/snapshot/working_classlib/deploy/include
> >  > -I/export/users/smishura/snapshot/working_classlib/deploy/jdk/include
> >  > -I. -I../shared/ -I../../common/agent/commands
> >  > -I../../common/agent/core -I../../common/generic -Icore -fpic
> >  > -march=pentium3 -O1 -DNDEBUG -fpic   -c -o
> >  > ../../common/agent/commands/ReferenceType.o
> >  > ../../common/agent/commands/ReferenceType.cpp
> >  >     [exec] ../../common/agent/commands/ReferenceType.h:398: error:
> >  > \u2018jvmtiHeapReferenceKind\u2019 was not declared in this scope
> >  >     [exec] ../../common/agent/commands/ReferenceType.h:399: error:
> >  > expected primary-expression before \u2018const\u2019
> >  >     [exec] ../../common/agent/commands/ReferenceType.h:400: error:
> >  > expected primary-expression before \u2018class_tag\u2019
> >  >     [exec] ../../common/agent/commands/ReferenceType.h:401: error:
> >  > expected primary-expression before \u2018referrer_class_tag\u2019
> >  >     [exec] ../../common/agent/commands/ReferenceType.h:402: error:
> >  > expected primary-expression before \u2018size\u2019
> >  >     [exec] ../../common/agent/commands/ReferenceType.h:403: error:
> >  > expected primary-expression before \u2018*\u2019 token
> >  >     [exec] ../../common/agent/commands/ReferenceType.h:403: error:
> >  > \u2018tag_ptr\u2019 was not declared in this scope
> >  >     [exec] ../../common/agent/commands/ReferenceType.h:404: error:
> >  > expected primary-expression before \u2018*\u2019 token
> >  >     [exec] ../../common/agent/commands/ReferenceType.h:404: error:
> >  > \u2018referrer_tag_ptr\u2019 was not declared in this scope
> >  >     [exec] ../../common/agent/commands/ReferenceType.h:405: error:
> >  > expected primary-expression before \u2018length\u2019
> >  >     [exec] ../../common/agent/commands/ReferenceType.h:406: error:
> >  > expected primary-expression before \u2018void\u2019
> >  >     [exec] ../../common/agent/commands/ReferenceType.h:406: error:
> >  > initializer expression list treated as compound expression
> >  >     [exec] ../../common/agent/commands/ReferenceType.h:413: error:
> >  > \u2018jvmtiHeapReferenceKind\u2019 was not declared in this scope
> >  >     [exec] ../../common/agent/commands/ReferenceType.h:414: error:
> >  > expected primary-expression before \u2018const\u2019
> >  >     [exec] ../../common/agent/commands/ReferenceType.h:415: error:
> >  > expected primary-expression before \u2018object_class_tag\u2019
> >  >     [exec] ../../common/agent/commands/ReferenceType.h:416: error:
> >  > expected primary-expression before \u2018*\u2019 token
> >  >     [exec] ../../common/agent/commands/ReferenceType.h:416: error:
> >  > \u2018object_tag_ptr\u2019 was not declared in this scope
> >  >     [exec] ../../common/agent/commands/ReferenceType.h:417: error:
> >  > expected primary-expression before \u2018value\u2019
> >  >     [exec] ../../common/agent/commands/ReferenceType.h:418: error:
> >  > \u2018jvmtiPrimitiveType\u2019 was not declared in this scope
> >  >     [exec] ../../common/agent/commands/ReferenceType.h:419: error:
> >  > expected primary-expression before \u2018void\u2019
> >  >     [exec] ../../common/agent/commands/ReferenceType.h:419: error:
> >  > initializer expression list treated as compound expression
> >  >     [exec] ../../common/agent/commands/ReferenceType.h:429: error:
> >  > \u2018jvmtiPrimitiveType\u2019 has not been declared
> >  >     [exec] ../../common/agent/commands/ReferenceType.cpp: In member
> >  > function \u2018virtual void
> >  > jdwp::ReferenceType::InstancesHandler::Execute(JNIEnv*)\u2019:
> >  >     [exec] ../../common/agent/commands/ReferenceType.cpp:878: error:
> >  > \u2018jvmtiHeapCallbacks\u2019 was not declared in this scope
> >  >     [exec] ../../common/agent/commands/ReferenceType.cpp:878: error:
> >  > expected `;' before \u2018hcbs\u2019
> >  >     [exec] ../../common/agent/commands/ReferenceType.cpp:879: error:
> >  > \u2018hcbs\u2019 was not declared in this scope
> >  >     [exec] ../../common/agent/commands/ReferenceType.cpp:888: error:
> >  > \u2018struct jvmtiEnv_struct\u2019 has no member named
> >  > \u2018FollowReferences\u2019
> >  >     [exec] ../../common/agent/commands/ReferenceType.cpp: In member
> >  > function \u2018virtual void
> >  > jdwp::ReferenceType::ClassFileVersionHandler::Execute(JNIEnv*)\u2019:
> >  >     [exec] ../../common/agent/commands/ReferenceType.cpp:957: error:
> >  > \u2018struct jvmtiEnv_struct\u2019 has no member named
> >  > \u2018GetClassVersionNumbers\u2019
> >  >     [exec] ../../common/agent/commands/ReferenceType.cpp: At global scope:
> >  >     [exec] ../../common/agent/commands/ReferenceType.cpp:984: error:
> >  > redefinition of \u2018jint
> >  > jdwp::ReferenceType::HeapReferenceCallback\u2019
> >  >     [exec] ../../common/agent/commands/ReferenceType.h:398: error:
> >  > \u2018jint jdwp::ReferenceType::HeapReferenceCallback\u2019 previously
> >  > defined here
> >  >     [exec] ../../common/agent/commands/ReferenceType.cpp:984: error:
> >  > \u2018jvmtiHeapReferenceKind\u2019 was not declared in this scope
> >  >     [exec] ../../common/agent/commands/ReferenceType.cpp:985: error:
> >  > expected primary-expression before \u2018const\u2019
> >  >     [exec] ../../common/agent/commands/ReferenceType.cpp:986: error:
> >  > expected primary-expression before \u2018class_tag\u2019
> >  >     [exec] ../../common/agent/commands/ReferenceType.cpp:987: error:
> >  > expected primary-expression before \u2018referrer_class_tag\u2019
> >  >     [exec] ../../common/agent/commands/ReferenceType.cpp:988: error:
> >  > expected primary-expression before \u2018size\u2019
> >  >     [exec] ../../common/agent/commands/ReferenceType.cpp:989: error:
> >  > expected primary-expression before \u2018*\u2019 token
> >  >     [exec] ../../common/agent/commands/ReferenceType.cpp:989: error:
> >  > \u2018tag_ptr\u2019 was not declared in this scope
> >  >     [exec] ../../common/agent/commands/ReferenceType.cpp:990: error:
> >  > expected primary-expression before \u2018*\u2019 token
> >  >     [exec] ../../common/agent/commands/ReferenceType.cpp:990: error:
> >  > \u2018referrer_tag_ptr\u2019 was not declared in this scope
> >  >     [exec] ../../common/agent/commands/ReferenceType.cpp:991: error:
> >  > expected primary-expression before \u2018length\u2019
> >  >     [exec] ../../common/agent/commands/ReferenceType.cpp:992: error:
> >  > expected primary-expression before \u2018void\u2019
> >  >     [exec] ../../common/agent/commands/ReferenceType.cpp:1002: error:
> >  > redefinition of \u2018jint
> >  > jdwp::ReferenceType::PrimitiveFieldCallback\u2019
> >  >     [exec] ../../common/agent/commands/ReferenceType.h:413: error:
> >  > \u2018jint jdwp::ReferenceType::PrimitiveFieldCallback\u2019
> >  > previously defined here
> >  >     [exec] ../../common/agent/commands/ReferenceType.cpp:1002: error:
> >  > \u2018jvmtiHeapReferenceKind\u2019 was not declared in this scope
> >  >     [exec] ../../common/agent/commands/ReferenceType.cpp:1003: error:
> >  > expected primary-expression before \u2018const\u2019
> >  >     [exec] ../../common/agent/commands/ReferenceType.cpp:1004: error:
> >  > expected primary-expression before \u2018object_class_tag\u2019
> >  >     [exec] ../../common/agent/commands/ReferenceType.cpp:1005: error:
> >  > expected primary-expression before \u2018*\u2019 token
> >  >     [exec] ../../common/agent/commands/ReferenceType.cpp:1005: error:
> >  > \u2018object_tag_ptr\u2019 was not declared in this scope
> >  >     [exec] ../../common/agent/commands/ReferenceType.cpp:1006: error:
> >  > expected primary-expression before \u2018value\u2019
> >  >     [exec] ../../common/agent/commands/ReferenceType.cpp:1007: error:
> >  > \u2018jvmtiPrimitiveType\u2019 was not declared in this scope
> >  >     [exec] ../../common/agent/commands/ReferenceType.cpp:1008: error:
> >  > expected primary-expression before \u2018void\u2019
> >  >     [exec] ../../common/agent/commands/ReferenceType.cpp:1021: error:
> >  > \u2018jvmtiPrimitiveType\u2019 has not been declared
> >  >     [exec] ../../common/agent/commands/ReferenceType.cpp: In function
> >  > \u2018jint jdwp::ReferenceType::ArrayPrimitiveValueCallback(jlong,
> >  > jlong, jlong*, jint, int, const void*, void*)\u2019:
> >  >     [exec] ../../common/agent/commands/ReferenceType.cpp:1025: error:
> >  > \u2018JVMTI_VISIT_OBJECTS\u2019 was not declared in this scope
> >  >     [exec] ../../common/agent/commands/ReferenceType.cpp: In function
> >  > \u2018jint jdwp::ReferenceType::StringPrimitiveValueCallback(jlong,
> >  > jlong, jlong*, const jchar*, jint, void*)\u2019:
> >  >     [exec] ../../common/agent/commands/ReferenceType.cpp:1039: error:
> >  > \u2018JVMTI_VISIT_OBJECTS\u2019 was not declared in this scope
> >  >     [exec] make: *** [../../common/agent/commands/ReferenceType.o] Error 1
> >  >
> >  > BUILD FAILED
> >  > /export/users/smishura/snapshot/build.xml:444: The following error
> >  > occurred while executing this line:
> >  > /export/users/smishura/snapshot/working_jdktools/build.xml:179: The
> >  > following error occurred while executing this line:
> >  > /export/users/smishura/snapshot/working_jdktools/make/build-native.xml:60:
> >  > The following error occurred while executing this line:
> >  > /export/users/smishura/snapshot/working_jdktools/make/properties.xml:336:
> >  > The following error occurred while executing this line:
> >  > /export/users/smishura/snapshot/working_jdktools/modules/jpda/build.xml:139:
> >  > The following error occurred while executing this line:
> >  > /export/users/smishura/snapshot/working_jdktools/make/properties.xml:354:
> >  > exec returned: 2
> >  >
> >  > Thanks,
> >  > Stepan.
> >  >
> >
> >
> >
> > --
> >  Sean, Xiao Xia Qiu
> >  China Software Development Lab, IBM
> >
>
>
> --
>
> Best Regards!
>
> Jimmy, Jing Lv
> China Software Development Lab, IBM
>

Re: [jdktools] Failed to build java6 branch on Linux

Posted by "Jimmy,Jing Lv" <fi...@gmail.com>.
Hi,

2008/3/5, Sean Qiu <se...@gmail.com>:
> Hi, Stepan
>
>  The build will failed since our DRLVM has not implemented the jvmti
>  functions for java 6. So the jvmti.h of harmony does not contains the
>  new declarations. Therefore the build failed.
>
>  The build script will find the jvmti.h from
>  <hdk>/working_classlib/deploy/jdk/include/jvmti.h
>
>  There are two approaches for it.
>  1. You can get a Java 6 jvmti.h
>  2. Or I can upload my patch which will add the new declarations to our
>  jvmti.h. Do you have any suggestions to a candidate location to  place
>  this jvmti.h for java 6?
>

We may keep the code in the repository build-able and test-able all the time.
As a workaround , option 2 sounds reasonable to me. IMHO,  we'd better
put the stub jvmti.h in JDWP src folder, etc,
src/main/native/jdwp/common/generic

>  IMHO, my suggestion is to modify the build script of branch of
>  jdktools, maintain a temporary copy java 6 version of jvmti.h in this
>  branch individually for the purpose of building. After the drlvm
>  finish Java 6 jvmti functions, we point it back to the official one.
>

Or we also create a branch for DRLVM of java6, which offer the java6
JVMTI for building. Don't know if it make sense for DRLVM gurus?

>  If no one object, i can raise a jira for this.
>
>  2008/3/4, Stepan Mishura <st...@gmail.com>:
>
> > Hi,
>  >
>  > I've updated federated build to take into account java6 branch for
>  > jdktools and tried to build it. The build failed with log below:
>  >
>  > <SNIP>
>  >     [exec] cc -DLINUX -DLINUX_X86 -DHYX86 -DIPv6_FUNCTION_SUPPORT
>  > -D_REENTRANT -I/export/users/smishura/snapshot/working_classlib/deploy/include
>  > -I/export/users/smishura/snapshot/working_classlib/deploy/jdk/include
>  > -I. -I../shared/ -I../../common/agent/commands
>  > -I../../common/agent/core -I../../common/generic -Icore -fpic
>  > -march=pentium3 -O1 -DNDEBUG -fpic   -c -o
>  > ../../common/agent/commands/ReferenceType.o
>  > ../../common/agent/commands/ReferenceType.cpp
>  >     [exec] ../../common/agent/commands/ReferenceType.h:398: error:
>  > \u2018jvmtiHeapReferenceKind\u2019 was not declared in this scope
>  >     [exec] ../../common/agent/commands/ReferenceType.h:399: error:
>  > expected primary-expression before \u2018const\u2019
>  >     [exec] ../../common/agent/commands/ReferenceType.h:400: error:
>  > expected primary-expression before \u2018class_tag\u2019
>  >     [exec] ../../common/agent/commands/ReferenceType.h:401: error:
>  > expected primary-expression before \u2018referrer_class_tag\u2019
>  >     [exec] ../../common/agent/commands/ReferenceType.h:402: error:
>  > expected primary-expression before \u2018size\u2019
>  >     [exec] ../../common/agent/commands/ReferenceType.h:403: error:
>  > expected primary-expression before \u2018*\u2019 token
>  >     [exec] ../../common/agent/commands/ReferenceType.h:403: error:
>  > \u2018tag_ptr\u2019 was not declared in this scope
>  >     [exec] ../../common/agent/commands/ReferenceType.h:404: error:
>  > expected primary-expression before \u2018*\u2019 token
>  >     [exec] ../../common/agent/commands/ReferenceType.h:404: error:
>  > \u2018referrer_tag_ptr\u2019 was not declared in this scope
>  >     [exec] ../../common/agent/commands/ReferenceType.h:405: error:
>  > expected primary-expression before \u2018length\u2019
>  >     [exec] ../../common/agent/commands/ReferenceType.h:406: error:
>  > expected primary-expression before \u2018void\u2019
>  >     [exec] ../../common/agent/commands/ReferenceType.h:406: error:
>  > initializer expression list treated as compound expression
>  >     [exec] ../../common/agent/commands/ReferenceType.h:413: error:
>  > \u2018jvmtiHeapReferenceKind\u2019 was not declared in this scope
>  >     [exec] ../../common/agent/commands/ReferenceType.h:414: error:
>  > expected primary-expression before \u2018const\u2019
>  >     [exec] ../../common/agent/commands/ReferenceType.h:415: error:
>  > expected primary-expression before \u2018object_class_tag\u2019
>  >     [exec] ../../common/agent/commands/ReferenceType.h:416: error:
>  > expected primary-expression before \u2018*\u2019 token
>  >     [exec] ../../common/agent/commands/ReferenceType.h:416: error:
>  > \u2018object_tag_ptr\u2019 was not declared in this scope
>  >     [exec] ../../common/agent/commands/ReferenceType.h:417: error:
>  > expected primary-expression before \u2018value\u2019
>  >     [exec] ../../common/agent/commands/ReferenceType.h:418: error:
>  > \u2018jvmtiPrimitiveType\u2019 was not declared in this scope
>  >     [exec] ../../common/agent/commands/ReferenceType.h:419: error:
>  > expected primary-expression before \u2018void\u2019
>  >     [exec] ../../common/agent/commands/ReferenceType.h:419: error:
>  > initializer expression list treated as compound expression
>  >     [exec] ../../common/agent/commands/ReferenceType.h:429: error:
>  > \u2018jvmtiPrimitiveType\u2019 has not been declared
>  >     [exec] ../../common/agent/commands/ReferenceType.cpp: In member
>  > function \u2018virtual void
>  > jdwp::ReferenceType::InstancesHandler::Execute(JNIEnv*)\u2019:
>  >     [exec] ../../common/agent/commands/ReferenceType.cpp:878: error:
>  > \u2018jvmtiHeapCallbacks\u2019 was not declared in this scope
>  >     [exec] ../../common/agent/commands/ReferenceType.cpp:878: error:
>  > expected `;' before \u2018hcbs\u2019
>  >     [exec] ../../common/agent/commands/ReferenceType.cpp:879: error:
>  > \u2018hcbs\u2019 was not declared in this scope
>  >     [exec] ../../common/agent/commands/ReferenceType.cpp:888: error:
>  > \u2018struct jvmtiEnv_struct\u2019 has no member named
>  > \u2018FollowReferences\u2019
>  >     [exec] ../../common/agent/commands/ReferenceType.cpp: In member
>  > function \u2018virtual void
>  > jdwp::ReferenceType::ClassFileVersionHandler::Execute(JNIEnv*)\u2019:
>  >     [exec] ../../common/agent/commands/ReferenceType.cpp:957: error:
>  > \u2018struct jvmtiEnv_struct\u2019 has no member named
>  > \u2018GetClassVersionNumbers\u2019
>  >     [exec] ../../common/agent/commands/ReferenceType.cpp: At global scope:
>  >     [exec] ../../common/agent/commands/ReferenceType.cpp:984: error:
>  > redefinition of \u2018jint
>  > jdwp::ReferenceType::HeapReferenceCallback\u2019
>  >     [exec] ../../common/agent/commands/ReferenceType.h:398: error:
>  > \u2018jint jdwp::ReferenceType::HeapReferenceCallback\u2019 previously
>  > defined here
>  >     [exec] ../../common/agent/commands/ReferenceType.cpp:984: error:
>  > \u2018jvmtiHeapReferenceKind\u2019 was not declared in this scope
>  >     [exec] ../../common/agent/commands/ReferenceType.cpp:985: error:
>  > expected primary-expression before \u2018const\u2019
>  >     [exec] ../../common/agent/commands/ReferenceType.cpp:986: error:
>  > expected primary-expression before \u2018class_tag\u2019
>  >     [exec] ../../common/agent/commands/ReferenceType.cpp:987: error:
>  > expected primary-expression before \u2018referrer_class_tag\u2019
>  >     [exec] ../../common/agent/commands/ReferenceType.cpp:988: error:
>  > expected primary-expression before \u2018size\u2019
>  >     [exec] ../../common/agent/commands/ReferenceType.cpp:989: error:
>  > expected primary-expression before \u2018*\u2019 token
>  >     [exec] ../../common/agent/commands/ReferenceType.cpp:989: error:
>  > \u2018tag_ptr\u2019 was not declared in this scope
>  >     [exec] ../../common/agent/commands/ReferenceType.cpp:990: error:
>  > expected primary-expression before \u2018*\u2019 token
>  >     [exec] ../../common/agent/commands/ReferenceType.cpp:990: error:
>  > \u2018referrer_tag_ptr\u2019 was not declared in this scope
>  >     [exec] ../../common/agent/commands/ReferenceType.cpp:991: error:
>  > expected primary-expression before \u2018length\u2019
>  >     [exec] ../../common/agent/commands/ReferenceType.cpp:992: error:
>  > expected primary-expression before \u2018void\u2019
>  >     [exec] ../../common/agent/commands/ReferenceType.cpp:1002: error:
>  > redefinition of \u2018jint
>  > jdwp::ReferenceType::PrimitiveFieldCallback\u2019
>  >     [exec] ../../common/agent/commands/ReferenceType.h:413: error:
>  > \u2018jint jdwp::ReferenceType::PrimitiveFieldCallback\u2019
>  > previously defined here
>  >     [exec] ../../common/agent/commands/ReferenceType.cpp:1002: error:
>  > \u2018jvmtiHeapReferenceKind\u2019 was not declared in this scope
>  >     [exec] ../../common/agent/commands/ReferenceType.cpp:1003: error:
>  > expected primary-expression before \u2018const\u2019
>  >     [exec] ../../common/agent/commands/ReferenceType.cpp:1004: error:
>  > expected primary-expression before \u2018object_class_tag\u2019
>  >     [exec] ../../common/agent/commands/ReferenceType.cpp:1005: error:
>  > expected primary-expression before \u2018*\u2019 token
>  >     [exec] ../../common/agent/commands/ReferenceType.cpp:1005: error:
>  > \u2018object_tag_ptr\u2019 was not declared in this scope
>  >     [exec] ../../common/agent/commands/ReferenceType.cpp:1006: error:
>  > expected primary-expression before \u2018value\u2019
>  >     [exec] ../../common/agent/commands/ReferenceType.cpp:1007: error:
>  > \u2018jvmtiPrimitiveType\u2019 was not declared in this scope
>  >     [exec] ../../common/agent/commands/ReferenceType.cpp:1008: error:
>  > expected primary-expression before \u2018void\u2019
>  >     [exec] ../../common/agent/commands/ReferenceType.cpp:1021: error:
>  > \u2018jvmtiPrimitiveType\u2019 has not been declared
>  >     [exec] ../../common/agent/commands/ReferenceType.cpp: In function
>  > \u2018jint jdwp::ReferenceType::ArrayPrimitiveValueCallback(jlong,
>  > jlong, jlong*, jint, int, const void*, void*)\u2019:
>  >     [exec] ../../common/agent/commands/ReferenceType.cpp:1025: error:
>  > \u2018JVMTI_VISIT_OBJECTS\u2019 was not declared in this scope
>  >     [exec] ../../common/agent/commands/ReferenceType.cpp: In function
>  > \u2018jint jdwp::ReferenceType::StringPrimitiveValueCallback(jlong,
>  > jlong, jlong*, const jchar*, jint, void*)\u2019:
>  >     [exec] ../../common/agent/commands/ReferenceType.cpp:1039: error:
>  > \u2018JVMTI_VISIT_OBJECTS\u2019 was not declared in this scope
>  >     [exec] make: *** [../../common/agent/commands/ReferenceType.o] Error 1
>  >
>  > BUILD FAILED
>  > /export/users/smishura/snapshot/build.xml:444: The following error
>  > occurred while executing this line:
>  > /export/users/smishura/snapshot/working_jdktools/build.xml:179: The
>  > following error occurred while executing this line:
>  > /export/users/smishura/snapshot/working_jdktools/make/build-native.xml:60:
>  > The following error occurred while executing this line:
>  > /export/users/smishura/snapshot/working_jdktools/make/properties.xml:336:
>  > The following error occurred while executing this line:
>  > /export/users/smishura/snapshot/working_jdktools/modules/jpda/build.xml:139:
>  > The following error occurred while executing this line:
>  > /export/users/smishura/snapshot/working_jdktools/make/properties.xml:354:
>  > exec returned: 2
>  >
>  > Thanks,
>  > Stepan.
>  >
>
>
>
> --
>  Sean, Xiao Xia Qiu
>  China Software Development Lab, IBM
>


-- 

Best Regards!

Jimmy, Jing Lv
China Software Development Lab, IBM

Re: [jdktools] Failed to build java6 branch on Linux

Posted by Stepan Mishura <st...@gmail.com>.
On 3/5/08, Sean Qiu <se...@gmail.com> wrote:
> Hi, Stepan
>
> The build will failed since our DRLVM has not implemented the jvmti
> functions for java 6. So the jvmti.h of harmony does not contains the
> new declarations. Therefore the build failed.
>
> The build script will find the jvmti.h from
> <hdk>/working_classlib/deploy/jdk/include/jvmti.h
>
> There are two approaches for it.
> 1. You can get a Java 6 jvmti.h
> 2. Or I can upload my patch which will add the new declarations to our
> jvmti.h. Do you have any suggestions to a candidate location to  place
> this jvmti.h for java 6?
>
> IMHO, my suggestion is to modify the build script of branch of
> jdktools, maintain a temporary copy java 6 version of jvmti.h in this
> branch individually for the purpose of building. After the drlvm
> finish Java 6 jvmti functions, we point it back to the official one.
>

I'm OK with a temporary copy of java6 jvmti.h in the jdktools branch.

Thanks,
Stepan.

> If no one object, i can raise a jira for this.
>
> 2008/3/4, Stepan Mishura <st...@gmail.com>:
> > Hi,
> >
> > I've updated federated build to take into account java6 branch for
> > jdktools and tried to build it. The build failed with log below:
> >
> > <SNIP>
> >     [exec] cc -DLINUX -DLINUX_X86 -DHYX86 -DIPv6_FUNCTION_SUPPORT
> > -D_REENTRANT -I/export/users/smishura/snapshot/working_classlib/deploy/include
> > -I/export/users/smishura/snapshot/working_classlib/deploy/jdk/include
> > -I. -I../shared/ -I../../common/agent/commands
> > -I../../common/agent/core -I../../common/generic -Icore -fpic
> > -march=pentium3 -O1 -DNDEBUG -fpic   -c -o
> > ../../common/agent/commands/ReferenceType.o
> > ../../common/agent/commands/ReferenceType.cpp
> >     [exec] ../../common/agent/commands/ReferenceType.h:398: error:
> > \u2018jvmtiHeapReferenceKind\u2019 was not declared in this scope
> >     [exec] ../../common/agent/commands/ReferenceType.h:399: error:
> > expected primary-expression before \u2018const\u2019
> >     [exec] ../../common/agent/commands/ReferenceType.h:400: error:
> > expected primary-expression before \u2018class_tag\u2019
> >     [exec] ../../common/agent/commands/ReferenceType.h:401: error:
> > expected primary-expression before \u2018referrer_class_tag\u2019
> >     [exec] ../../common/agent/commands/ReferenceType.h:402: error:
> > expected primary-expression before \u2018size\u2019
> >     [exec] ../../common/agent/commands/ReferenceType.h:403: error:
> > expected primary-expression before \u2018*\u2019 token
> >     [exec] ../../common/agent/commands/ReferenceType.h:403: error:
> > \u2018tag_ptr\u2019 was not declared in this scope
> >     [exec] ../../common/agent/commands/ReferenceType.h:404: error:
> > expected primary-expression before \u2018*\u2019 token
> >     [exec] ../../common/agent/commands/ReferenceType.h:404: error:
> > \u2018referrer_tag_ptr\u2019 was not declared in this scope
> >     [exec] ../../common/agent/commands/ReferenceType.h:405: error:
> > expected primary-expression before \u2018length\u2019
> >     [exec] ../../common/agent/commands/ReferenceType.h:406: error:
> > expected primary-expression before \u2018void\u2019
> >     [exec] ../../common/agent/commands/ReferenceType.h:406: error:
> > initializer expression list treated as compound expression
> >     [exec] ../../common/agent/commands/ReferenceType.h:413: error:
> > \u2018jvmtiHeapReferenceKind\u2019 was not declared in this scope
> >     [exec] ../../common/agent/commands/ReferenceType.h:414: error:
> > expected primary-expression before \u2018const\u2019
> >     [exec] ../../common/agent/commands/ReferenceType.h:415: error:
> > expected primary-expression before \u2018object_class_tag\u2019
> >     [exec] ../../common/agent/commands/ReferenceType.h:416: error:
> > expected primary-expression before \u2018*\u2019 token
> >     [exec] ../../common/agent/commands/ReferenceType.h:416: error:
> > \u2018object_tag_ptr\u2019 was not declared in this scope
> >     [exec] ../../common/agent/commands/ReferenceType.h:417: error:
> > expected primary-expression before \u2018value\u2019
> >     [exec] ../../common/agent/commands/ReferenceType.h:418: error:
> > \u2018jvmtiPrimitiveType\u2019 was not declared in this scope
> >     [exec] ../../common/agent/commands/ReferenceType.h:419: error:
> > expected primary-expression before \u2018void\u2019
> >     [exec] ../../common/agent/commands/ReferenceType.h:419: error:
> > initializer expression list treated as compound expression
> >     [exec] ../../common/agent/commands/ReferenceType.h:429: error:
> > \u2018jvmtiPrimitiveType\u2019 has not been declared
> >     [exec] ../../common/agent/commands/ReferenceType.cpp: In member
> > function \u2018virtual void
> > jdwp::ReferenceType::InstancesHandler::Execute(JNIEnv*)\u2019:
> >     [exec] ../../common/agent/commands/ReferenceType.cpp:878: error:
> > \u2018jvmtiHeapCallbacks\u2019 was not declared in this scope
> >     [exec] ../../common/agent/commands/ReferenceType.cpp:878: error:
> > expected `;' before \u2018hcbs\u2019
> >     [exec] ../../common/agent/commands/ReferenceType.cpp:879: error:
> > \u2018hcbs\u2019 was not declared in this scope
> >     [exec] ../../common/agent/commands/ReferenceType.cpp:888: error:
> > \u2018struct jvmtiEnv_struct\u2019 has no member named
> > \u2018FollowReferences\u2019
> >     [exec] ../../common/agent/commands/ReferenceType.cpp: In member
> > function \u2018virtual void
> > jdwp::ReferenceType::ClassFileVersionHandler::Execute(JNIEnv*)\u2019:
> >     [exec] ../../common/agent/commands/ReferenceType.cpp:957: error:
> > \u2018struct jvmtiEnv_struct\u2019 has no member named
> > \u2018GetClassVersionNumbers\u2019
> >     [exec] ../../common/agent/commands/ReferenceType.cpp: At global scope:
> >     [exec] ../../common/agent/commands/ReferenceType.cpp:984: error:
> > redefinition of \u2018jint
> > jdwp::ReferenceType::HeapReferenceCallback\u2019
> >     [exec] ../../common/agent/commands/ReferenceType.h:398: error:
> > \u2018jint jdwp::ReferenceType::HeapReferenceCallback\u2019 previously
> > defined here
> >     [exec] ../../common/agent/commands/ReferenceType.cpp:984: error:
> > \u2018jvmtiHeapReferenceKind\u2019 was not declared in this scope
> >     [exec] ../../common/agent/commands/ReferenceType.cpp:985: error:
> > expected primary-expression before \u2018const\u2019
> >     [exec] ../../common/agent/commands/ReferenceType.cpp:986: error:
> > expected primary-expression before \u2018class_tag\u2019
> >     [exec] ../../common/agent/commands/ReferenceType.cpp:987: error:
> > expected primary-expression before \u2018referrer_class_tag\u2019
> >     [exec] ../../common/agent/commands/ReferenceType.cpp:988: error:
> > expected primary-expression before \u2018size\u2019
> >     [exec] ../../common/agent/commands/ReferenceType.cpp:989: error:
> > expected primary-expression before \u2018*\u2019 token
> >     [exec] ../../common/agent/commands/ReferenceType.cpp:989: error:
> > \u2018tag_ptr\u2019 was not declared in this scope
> >     [exec] ../../common/agent/commands/ReferenceType.cpp:990: error:
> > expected primary-expression before \u2018*\u2019 token
> >     [exec] ../../common/agent/commands/ReferenceType.cpp:990: error:
> > \u2018referrer_tag_ptr\u2019 was not declared in this scope
> >     [exec] ../../common/agent/commands/ReferenceType.cpp:991: error:
> > expected primary-expression before \u2018length\u2019
> >     [exec] ../../common/agent/commands/ReferenceType.cpp:992: error:
> > expected primary-expression before \u2018void\u2019
> >     [exec] ../../common/agent/commands/ReferenceType.cpp:1002: error:
> > redefinition of \u2018jint
> > jdwp::ReferenceType::PrimitiveFieldCallback\u2019
> >     [exec] ../../common/agent/commands/ReferenceType.h:413: error:
> > \u2018jint jdwp::ReferenceType::PrimitiveFieldCallback\u2019
> > previously defined here
> >     [exec] ../../common/agent/commands/ReferenceType.cpp:1002: error:
> > \u2018jvmtiHeapReferenceKind\u2019 was not declared in this scope
> >     [exec] ../../common/agent/commands/ReferenceType.cpp:1003: error:
> > expected primary-expression before \u2018const\u2019
> >     [exec] ../../common/agent/commands/ReferenceType.cpp:1004: error:
> > expected primary-expression before \u2018object_class_tag\u2019
> >     [exec] ../../common/agent/commands/ReferenceType.cpp:1005: error:
> > expected primary-expression before \u2018*\u2019 token
> >     [exec] ../../common/agent/commands/ReferenceType.cpp:1005: error:
> > \u2018object_tag_ptr\u2019 was not declared in this scope
> >     [exec] ../../common/agent/commands/ReferenceType.cpp:1006: error:
> > expected primary-expression before \u2018value\u2019
> >     [exec] ../../common/agent/commands/ReferenceType.cpp:1007: error:
> > \u2018jvmtiPrimitiveType\u2019 was not declared in this scope
> >     [exec] ../../common/agent/commands/ReferenceType.cpp:1008: error:
> > expected primary-expression before \u2018void\u2019
> >     [exec] ../../common/agent/commands/ReferenceType.cpp:1021: error:
> > \u2018jvmtiPrimitiveType\u2019 has not been declared
> >     [exec] ../../common/agent/commands/ReferenceType.cpp: In function
> > \u2018jint jdwp::ReferenceType::ArrayPrimitiveValueCallback(jlong,
> > jlong, jlong*, jint, int, const void*, void*)\u2019:
> >     [exec] ../../common/agent/commands/ReferenceType.cpp:1025: error:
> > \u2018JVMTI_VISIT_OBJECTS\u2019 was not declared in this scope
> >     [exec] ../../common/agent/commands/ReferenceType.cpp: In function
> > \u2018jint jdwp::ReferenceType::StringPrimitiveValueCallback(jlong,
> > jlong, jlong*, const jchar*, jint, void*)\u2019:
> >     [exec] ../../common/agent/commands/ReferenceType.cpp:1039: error:
> > \u2018JVMTI_VISIT_OBJECTS\u2019 was not declared in this scope
> >     [exec] make: *** [../../common/agent/commands/ReferenceType.o] Error 1
> >
> > BUILD FAILED
> > /export/users/smishura/snapshot/build.xml:444: The following error
> > occurred while executing this line:
> > /export/users/smishura/snapshot/working_jdktools/build.xml:179: The
> > following error occurred while executing this line:
> > /export/users/smishura/snapshot/working_jdktools/make/build-native.xml:60:
> > The following error occurred while executing this line:
> > /export/users/smishura/snapshot/working_jdktools/make/properties.xml:336:
> > The following error occurred while executing this line:
> > /export/users/smishura/snapshot/working_jdktools/modules/jpda/build.xml:139:
> > The following error occurred while executing this line:
> > /export/users/smishura/snapshot/working_jdktools/make/properties.xml:354:
> > exec returned: 2
> >
> > Thanks,
> > Stepan.
> >
>
>
> --
> Sean, Xiao Xia Qiu
> China Software Development Lab, IBM
>

Re: [jdktools] Failed to build java6 branch on Linux

Posted by Sean Qiu <se...@gmail.com>.
Hi, Stepan

The build will failed since our DRLVM has not implemented the jvmti
functions for java 6. So the jvmti.h of harmony does not contains the
new declarations. Therefore the build failed.

The build script will find the jvmti.h from
<hdk>/working_classlib/deploy/jdk/include/jvmti.h

There are two approaches for it.
1. You can get a Java 6 jvmti.h
2. Or I can upload my patch which will add the new declarations to our
jvmti.h. Do you have any suggestions to a candidate location to  place
this jvmti.h for java 6?

IMHO, my suggestion is to modify the build script of branch of
jdktools, maintain a temporary copy java 6 version of jvmti.h in this
branch individually for the purpose of building. After the drlvm
finish Java 6 jvmti functions, we point it back to the official one.

If no one object, i can raise a jira for this.

2008/3/4, Stepan Mishura <st...@gmail.com>:
> Hi,
>
> I've updated federated build to take into account java6 branch for
> jdktools and tried to build it. The build failed with log below:
>
> <SNIP>
>     [exec] cc -DLINUX -DLINUX_X86 -DHYX86 -DIPv6_FUNCTION_SUPPORT
> -D_REENTRANT -I/export/users/smishura/snapshot/working_classlib/deploy/include
> -I/export/users/smishura/snapshot/working_classlib/deploy/jdk/include
> -I. -I../shared/ -I../../common/agent/commands
> -I../../common/agent/core -I../../common/generic -Icore -fpic
> -march=pentium3 -O1 -DNDEBUG -fpic   -c -o
> ../../common/agent/commands/ReferenceType.o
> ../../common/agent/commands/ReferenceType.cpp
>     [exec] ../../common/agent/commands/ReferenceType.h:398: error:
> \u2018jvmtiHeapReferenceKind\u2019 was not declared in this scope
>     [exec] ../../common/agent/commands/ReferenceType.h:399: error:
> expected primary-expression before \u2018const\u2019
>     [exec] ../../common/agent/commands/ReferenceType.h:400: error:
> expected primary-expression before \u2018class_tag\u2019
>     [exec] ../../common/agent/commands/ReferenceType.h:401: error:
> expected primary-expression before \u2018referrer_class_tag\u2019
>     [exec] ../../common/agent/commands/ReferenceType.h:402: error:
> expected primary-expression before \u2018size\u2019
>     [exec] ../../common/agent/commands/ReferenceType.h:403: error:
> expected primary-expression before \u2018*\u2019 token
>     [exec] ../../common/agent/commands/ReferenceType.h:403: error:
> \u2018tag_ptr\u2019 was not declared in this scope
>     [exec] ../../common/agent/commands/ReferenceType.h:404: error:
> expected primary-expression before \u2018*\u2019 token
>     [exec] ../../common/agent/commands/ReferenceType.h:404: error:
> \u2018referrer_tag_ptr\u2019 was not declared in this scope
>     [exec] ../../common/agent/commands/ReferenceType.h:405: error:
> expected primary-expression before \u2018length\u2019
>     [exec] ../../common/agent/commands/ReferenceType.h:406: error:
> expected primary-expression before \u2018void\u2019
>     [exec] ../../common/agent/commands/ReferenceType.h:406: error:
> initializer expression list treated as compound expression
>     [exec] ../../common/agent/commands/ReferenceType.h:413: error:
> \u2018jvmtiHeapReferenceKind\u2019 was not declared in this scope
>     [exec] ../../common/agent/commands/ReferenceType.h:414: error:
> expected primary-expression before \u2018const\u2019
>     [exec] ../../common/agent/commands/ReferenceType.h:415: error:
> expected primary-expression before \u2018object_class_tag\u2019
>     [exec] ../../common/agent/commands/ReferenceType.h:416: error:
> expected primary-expression before \u2018*\u2019 token
>     [exec] ../../common/agent/commands/ReferenceType.h:416: error:
> \u2018object_tag_ptr\u2019 was not declared in this scope
>     [exec] ../../common/agent/commands/ReferenceType.h:417: error:
> expected primary-expression before \u2018value\u2019
>     [exec] ../../common/agent/commands/ReferenceType.h:418: error:
> \u2018jvmtiPrimitiveType\u2019 was not declared in this scope
>     [exec] ../../common/agent/commands/ReferenceType.h:419: error:
> expected primary-expression before \u2018void\u2019
>     [exec] ../../common/agent/commands/ReferenceType.h:419: error:
> initializer expression list treated as compound expression
>     [exec] ../../common/agent/commands/ReferenceType.h:429: error:
> \u2018jvmtiPrimitiveType\u2019 has not been declared
>     [exec] ../../common/agent/commands/ReferenceType.cpp: In member
> function \u2018virtual void
> jdwp::ReferenceType::InstancesHandler::Execute(JNIEnv*)\u2019:
>     [exec] ../../common/agent/commands/ReferenceType.cpp:878: error:
> \u2018jvmtiHeapCallbacks\u2019 was not declared in this scope
>     [exec] ../../common/agent/commands/ReferenceType.cpp:878: error:
> expected `;' before \u2018hcbs\u2019
>     [exec] ../../common/agent/commands/ReferenceType.cpp:879: error:
> \u2018hcbs\u2019 was not declared in this scope
>     [exec] ../../common/agent/commands/ReferenceType.cpp:888: error:
> \u2018struct jvmtiEnv_struct\u2019 has no member named
> \u2018FollowReferences\u2019
>     [exec] ../../common/agent/commands/ReferenceType.cpp: In member
> function \u2018virtual void
> jdwp::ReferenceType::ClassFileVersionHandler::Execute(JNIEnv*)\u2019:
>     [exec] ../../common/agent/commands/ReferenceType.cpp:957: error:
> \u2018struct jvmtiEnv_struct\u2019 has no member named
> \u2018GetClassVersionNumbers\u2019
>     [exec] ../../common/agent/commands/ReferenceType.cpp: At global scope:
>     [exec] ../../common/agent/commands/ReferenceType.cpp:984: error:
> redefinition of \u2018jint
> jdwp::ReferenceType::HeapReferenceCallback\u2019
>     [exec] ../../common/agent/commands/ReferenceType.h:398: error:
> \u2018jint jdwp::ReferenceType::HeapReferenceCallback\u2019 previously
> defined here
>     [exec] ../../common/agent/commands/ReferenceType.cpp:984: error:
> \u2018jvmtiHeapReferenceKind\u2019 was not declared in this scope
>     [exec] ../../common/agent/commands/ReferenceType.cpp:985: error:
> expected primary-expression before \u2018const\u2019
>     [exec] ../../common/agent/commands/ReferenceType.cpp:986: error:
> expected primary-expression before \u2018class_tag\u2019
>     [exec] ../../common/agent/commands/ReferenceType.cpp:987: error:
> expected primary-expression before \u2018referrer_class_tag\u2019
>     [exec] ../../common/agent/commands/ReferenceType.cpp:988: error:
> expected primary-expression before \u2018size\u2019
>     [exec] ../../common/agent/commands/ReferenceType.cpp:989: error:
> expected primary-expression before \u2018*\u2019 token
>     [exec] ../../common/agent/commands/ReferenceType.cpp:989: error:
> \u2018tag_ptr\u2019 was not declared in this scope
>     [exec] ../../common/agent/commands/ReferenceType.cpp:990: error:
> expected primary-expression before \u2018*\u2019 token
>     [exec] ../../common/agent/commands/ReferenceType.cpp:990: error:
> \u2018referrer_tag_ptr\u2019 was not declared in this scope
>     [exec] ../../common/agent/commands/ReferenceType.cpp:991: error:
> expected primary-expression before \u2018length\u2019
>     [exec] ../../common/agent/commands/ReferenceType.cpp:992: error:
> expected primary-expression before \u2018void\u2019
>     [exec] ../../common/agent/commands/ReferenceType.cpp:1002: error:
> redefinition of \u2018jint
> jdwp::ReferenceType::PrimitiveFieldCallback\u2019
>     [exec] ../../common/agent/commands/ReferenceType.h:413: error:
> \u2018jint jdwp::ReferenceType::PrimitiveFieldCallback\u2019
> previously defined here
>     [exec] ../../common/agent/commands/ReferenceType.cpp:1002: error:
> \u2018jvmtiHeapReferenceKind\u2019 was not declared in this scope
>     [exec] ../../common/agent/commands/ReferenceType.cpp:1003: error:
> expected primary-expression before \u2018const\u2019
>     [exec] ../../common/agent/commands/ReferenceType.cpp:1004: error:
> expected primary-expression before \u2018object_class_tag\u2019
>     [exec] ../../common/agent/commands/ReferenceType.cpp:1005: error:
> expected primary-expression before \u2018*\u2019 token
>     [exec] ../../common/agent/commands/ReferenceType.cpp:1005: error:
> \u2018object_tag_ptr\u2019 was not declared in this scope
>     [exec] ../../common/agent/commands/ReferenceType.cpp:1006: error:
> expected primary-expression before \u2018value\u2019
>     [exec] ../../common/agent/commands/ReferenceType.cpp:1007: error:
> \u2018jvmtiPrimitiveType\u2019 was not declared in this scope
>     [exec] ../../common/agent/commands/ReferenceType.cpp:1008: error:
> expected primary-expression before \u2018void\u2019
>     [exec] ../../common/agent/commands/ReferenceType.cpp:1021: error:
> \u2018jvmtiPrimitiveType\u2019 has not been declared
>     [exec] ../../common/agent/commands/ReferenceType.cpp: In function
> \u2018jint jdwp::ReferenceType::ArrayPrimitiveValueCallback(jlong,
> jlong, jlong*, jint, int, const void*, void*)\u2019:
>     [exec] ../../common/agent/commands/ReferenceType.cpp:1025: error:
> \u2018JVMTI_VISIT_OBJECTS\u2019 was not declared in this scope
>     [exec] ../../common/agent/commands/ReferenceType.cpp: In function
> \u2018jint jdwp::ReferenceType::StringPrimitiveValueCallback(jlong,
> jlong, jlong*, const jchar*, jint, void*)\u2019:
>     [exec] ../../common/agent/commands/ReferenceType.cpp:1039: error:
> \u2018JVMTI_VISIT_OBJECTS\u2019 was not declared in this scope
>     [exec] make: *** [../../common/agent/commands/ReferenceType.o] Error 1
>
> BUILD FAILED
> /export/users/smishura/snapshot/build.xml:444: The following error
> occurred while executing this line:
> /export/users/smishura/snapshot/working_jdktools/build.xml:179: The
> following error occurred while executing this line:
> /export/users/smishura/snapshot/working_jdktools/make/build-native.xml:60:
> The following error occurred while executing this line:
> /export/users/smishura/snapshot/working_jdktools/make/properties.xml:336:
> The following error occurred while executing this line:
> /export/users/smishura/snapshot/working_jdktools/modules/jpda/build.xml:139:
> The following error occurred while executing this line:
> /export/users/smishura/snapshot/working_jdktools/make/properties.xml:354:
> exec returned: 2
>
> Thanks,
> Stepan.
>


-- 
Sean, Xiao Xia Qiu
China Software Development Lab, IBM