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

Seán Coffey sean.coffey at oracle.com
Tue May 15 13:41:48 UTC 2012


Martijn,

there's a pretty annoying build bug around the security build area that 
I think you've hit. I haven't had time to look into it in detail yet.

I think Max's suggestion is to *move* the top level build directory to a 
new name (not copy it). Basically a jdk8_tl/build/linux-amd64 and 
jdk8_tl/jdk/build/linux-amd64 structure don't co-exist well together.

regards,
Sean.

On 15/05/2012 14:11, Martijn Verburg wrote:
> Hi all,
>
>
> Cheers,
> Martijn
>
>> <snip>
>>
>>> <snip>
>>>
>>> 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.
> I've been continuing the work to execute a full build followed by a
> partial build. However, I think I'm still blocked by an<insert
> obvious missing env VAR>  issue.
>
> Full Build:
> ----------------
> I set the following env vars
>
> export LANG=C
> export ALT_BOOTDIR=/usr/lib/jvm/java-7-openjdk-amd64
>
> I execute a full build of the cloned code base from
> http://hg.openjdk.java.net/jdk8/tl (after get_sources.sh is run) and
> that all works fine
>
> Partial Build:
> ----------------
>
> # Create a backup of the full build (as per Weijun's recommendation)
> cp -R /home/openjdk/projects/jdk8_tl/build/linux-amd64
> /home/openjdk/projects/jdk8_tl/build/linux-amd64_backup
>
> # Set the ALT_JDK_IMPORT_PATH to point to the j2sk-image backup of the
> full build
> export ALT_JDK_IMPORT_PATH=/home/openjdk/projects/jdk8_tl/build/linux-amd64_backup/j2sdk-image
>
> # Run the warnings build
> make JAVAC_MAX_WARNINGS=true JAVAC_WARNINGS_FATAL=
> OTHER_JAVACFLAGS="-Xmaxwarns 10000"&>  build.log
>
> It builds up to a point, but then has the problem where it's looking
> for due to directory structure issues (it's looking too far back up
> the directory tree basically).
>
> --------------------
>
> /bin/mkdir -p ../../../../build/linux-amd64/tmp/sun/sun.security.ec/unsigned
> rm -f ../../../../build/linux-amd64/tmp/sun/sun.security.ec/unsigned/sunec.jar
> /usr/lib/jvm/java-7-openjdk-amd64/bin/jar cf
> ../../../../build/linux-amd64/tmp/sun/sun.security.ec/unsigned/sunec.jar
>   -C ../../../../build/linux-amd64/tmp/sun/sun.security.ec/classes
> sun/security/ec \
>              -J-XX:-PrintVMOptions -J-XX:+UnlockDiagnosticVMOptions
> -J-XX:-LogVMOutput -J-Xmx512m -J-Xms512m -J-XX:PermSize=32m
> -J-XX:MaxPermSize=160m
> ../../../../build/linux-amd64/tmp/sun/sun.security.ec/classes/sun/security/ec
> : no such file or directory
> make[3]: *** [../../../../build/linux-amd64/tmp/sun/sun.security.ec/unsigned/sunec.jar]
> Error 1
> make[3]: Leaving directory
> `/home/openjdk/projects/jdk8_tl/jdk/make/sun/security/ec'
> make[2]: *** [all] Error 1
> make[2]: Leaving directory
> `/home/openjdk/projects/jdk8_tl/jdk/make/sun/security'
> make[1]: *** [all] Error 1
> make[1]: Leaving directory `/home/openjdk/projects/jdk8_tl/jdk/make/sun'
> make: *** [all] Error 1
>
> --------------
>
> Apart from ALT_JDK_IMPORT_PATH are there any other env vars I need to
> set in order to have a partial build run (using the full build as a
> base)?
>
> Cheers,
> Martijn



More information about the build-dev mailing list