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 ALT_BOOTDIR=/home/openjdk/opt/jdk1.7.0_04
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 ALT_JDK_IMPORT_PATH=/home/openjdk/opt/jdk1.7.0_04
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 ALT_BOOTDIR&
> ALT_JDK_IMPORT_PATH 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