Skip to main content

Compiling J2SDK 1.5.0

2 replies [Last post]
breems
Offline
Joined: 2005-02-10

Hi:

[Someone over on forum.java.sun.com suggested that this might be a good place to ask this; If anyone knows of a better place to ask this question, please point it out!]

I downloaded the source code for the j2sdk1.5.0 for j2se (the JRL license), and have been stuck trying to compile it. My problem is that when it tries to build the libjava.so shared library, it gets a series of undefined references to the following variables:

JVM_GetClassSignature
JVM_GetClassAnnotations
JVM_GetClassConstantPool
JVM_DefineClassWithSource
JVM_NanoTime
JVM_GetAllThreads
JVM_DumpThreads
JVM_ConstantPoolGetSize
JVM_ConstantPoolGetClassAt
JVM_ConstantPoolGetClassAtIfLoaded
JVM_ConstantPoolGetMemberRefInfoAt
etc...

Compiling the J2SDK requires a previous version of Java be installed to bootstrap off of. Using the unix utility nm, I can see that libjvm.so (in the ./jre/lib/i386/client directory of a standard Java install) contains a symbol for GetClassSignature, but it is local. What I need is a globally defined JVM_GetClassSignature. Does anyone know where I'm supposed to find the shared library that defines this (and the other listed) functions?

Thanks

Nick Breems

Reply viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.
timbell
Offline
Joined: 2003-06-10

Hello

I am guessing that you are on a linux-i586 system (reading between the lines of your posting a bit). Is that correct?

1) What is the output of 'gnumake sanity' in your build environment?

The JVM_xyz entry points are defined in [b]j2se/src/share/javavm/export/jvm.h[/b]
and should be exported by [b]libjvm.so[/b]

2) During your build, are you building the HotSpot JVM component, or are you copying it from a binary drop of 1.5.0?

Please post a followup with the answers to questions 1) and 2).

Hope this helps-

breems
Offline
Joined: 2005-02-10

> Hello
>
> I am guessing that you are on a linux-i586 system
> (reading between the lines of your posting a bit).
> Is that correct?

Correct.

>
> 1) What is the output of 'gnumake sanity' in your
> build environment?
>
> The JVM_xyz entry points are defined in
> [b]j2se/src/share/javavm/export/jvm.h[/b]
> and should be exported by [b]libjvm.so[/b]
>
> 2) During your build, are you building the HotSpot
> JVM component, or are you copying it from a binary
> drop of 1.5.0?

I was trying to use a binary drop of 1.5.0, but after contemplating the question, I decided to try to build my own hotspot from source to see if that fixes my issue. Thanks much for your response, I'll post back if/when I figure out what exactly the issue is.

Nick