Build error on jdk8/tl project (original) (raw)

Build error on jdk8/tl project - Thread.o:(.data.rel+0xbc): undefined reference to JVM_SetNativeThreadName

Weijun Wang weijun.wang at oracle.com
Mon Mar 26 01:25:32 UTC 2012


On 03/25/2012 11:54 PM, Martijn Verburg wrote:

On 25 March 2012 13:11, Alan Bateman<Alan.Bateman at oracle.com> wrote:

On 25/03/2012 13:01, Martijn Verburg wrote:

Hi Sean/Alan/Max, Sean - Your solution did the trick, and I'll probably use this for now as it means a smaller VM for the members to work with Alan/Max - I did get the full build going, but then my VM ran out of space. I see Seán suggestion is to use a 7u4 build as the import JDK but since you are building jdk8 (jdk8/tl/jdk is jdk8) then your import JDK has to be jdk8 too, otherwise you'll end up combining 7u4 and 8 bits in the build so there is no guarantee that you'll get consistent bits. In general partial builds are fragile and one needs to take great care to ensure that the import JDK matches exact the repositories that you are building. Hi Alan, Understood, I'll try with a purely 8 approach. Cheers, Martijn Hi Alan/all, Apologies for top posting before, I'll try to follow along properly now.

So you are building JDK 8.

I've started from scratch and wanted to make sure I have my environment variables correct for building the jdk8/tl project. I've currently got my two JDK related environment variables set up as follows: export ALTBOOTDIR=/home/openjdk/opt/jdk1.7.004

Theoretically, BOOTDIR should point to an earlier version. Anyway, that's why we say boot, using JDK 6 to build JDK 7, using JDK 7 to build JDK 8. Otherwise, where does the first binary JDK 8 come from?

There is completely no harm in setting JDK 8 as BOOTDIR of JDK 8, but I would suggest you using 7u4. If there is anything wrong, you can send us a bug report.

export ALTJDKIMPORTPATH=/home/openjdk/opt/jdk1.7.004

This must be the same version as the JDK you want to build, and its build number should be as near as possible. The usage of ALT_JDK_IMPORT_PATH is to save your time compiling all the other repos (hotspot, langtools, jaxws, jaxp, corba) when you do a jdk-only build, so think of it as a pre-built binary form for those repos.

Please note that sometimes if two repos are both changed and the changes are related, there is simply no ALT_JDK_IMPORT_PATH you can use, and you can only do a full build. Recently jaxws and jdk are changed this way.

Alan, I think you were suggesting that these ALTBOOTDIR& ALTJDKIMPORTPATH should to point to a jdk8 install of some sort. So my question in return is: Q: Should I install an openjdk-8 binary to reference, or should I reference back to something that I've built from source? The 2nd option would be the most up to date I guess but seems a bit chicken and egg..

I normally use the latest jdk8 binary, but as I said above, sometimes it still fails. In this case, do a full build and save the j2sdk-image directory somewhere as later ALT_IMPORT_JDK_PATH. There is no chicken and egg problem here, you use the full build output as IMPORT of a jdk-only build, and full build does not need an IMPORT at all, and either a full build or a jdk-only build depends on a previous veriosn of JDK as BOOTDIR.

Please note there is a bug in our build script that if you already have tl/build/{platform} existing, a jdk/make build might fail (at some point in smartcard or security, random). Please rename (or move) the tl/build/{platform} directory before starting a jdk-only build.

Thanks Max

As an aside I'm writing this all up to add to Cecelia's documentation efforts. The README-build.html is really helpful, but is a little outdated in that it seems to be talking about building openjdk6 Cheers, Martijn



More information about the build-dev mailing list