Helping out with JDK 9 on BSD

Magnus Ihse Bursie magnus.ihse.bursie at oracle.com
Mon Feb 1 12:00:40 UTC 2016


On 2016-02-01 01:00, Brian Gardner wrote:
> Hi Magnus,
> I was able to clone the jdk9/dev repo, apply your patches, and compile 
> on FreeBSD 10.1 amd64, with some changes to the Serviceability Agent 
> ported from bad-port/jdk8 repo, however when I try to run javac I get 
> a bunch of messages like:
> Thread 832744400 has exited with leftover thread-specific data after 4 
> destructor iterations
>
> I’m curious where you left off in getting "javac HelloWorld” working 
> on FreeBSD?

Somewhere around there. :-) I got it "working" on FreeBSD, OpenBSD and 
NetBSD, with some caveats. I did not say it worked perfectly. :) I don't 
remember exactly right now what workarounds were needed in what 
circumstances, but on one of the platforms I needed to set 
LD_LIBRARY_PATH, and on some other I needed to set an -X option to 
specify memory sizes (which were not correctly read from the system).

The message you describe is a warning due to lack of proper code to 
cleanup some kind of TLS data, if I remember correctly. It's harmless, 
but annoying. The fix is relative straightforward, but I didn't bother 
doing it.

/Magnus

>
> Brian Gardner
>
>
>
>> On Jan 31, 2016, at 6:57 AM, Brian Gardner <openjdk at getsnappy.com 
>> <mailto:openjdk at getsnappy.com>> wrote:
>>
>> I’m interested in helping.  I ported openjdk6 to freebsd and also 
>> helped out with openjdk8.
>>
>> Brian Gardner
>>
>>
>>> On Jan 31, 2016, at 3:00 AM, Magnus Ihse Bursie 
>>> <magnus.ihse.bursie at oracle.com 
>>> <mailto:magnus.ihse.bursie at oracle.com>> wrote:
>>>
>>> On 2016-01-31 11:54, Magnus Ihse Bursie wrote:
>>>> Hi,
>>>>
>>>> [TL;DR: I'm offering patches to compile JDK 9 on FreeBSD, but it's 
>>>> not clear where to put them, or how.]
>>>>
>>>> I'm working at Oracle on the OpenJDK build team and is responsible 
>>>> for large parts of the build system of OpenJDK. Lately, I've been 
>>>> playing around with FreeBSD (and other BSDs) in my free time, and 
>>>> I've written a patch that will add build system support for 
>>>> FreeBSD, OpenBSD and NetBSD in JDK 9 (tracked in 
>>>> https://bugs.openjdk.java.net/browse/JDK-8147795).
>>>>
>>>> I started writing this when I realized that the jdk9 branch in the 
>>>> OpenJDK bsd-port repository did not contain any BSD-specific 
>>>> changes at all, and the old JDK 8 changes will not readily be 
>>>> portable, due to major changes in the build system between JDK 8 
>>>> and JDK 9.
>>>>
>>>> I thought it would be a no-brainer to integrate these changes into 
>>>> the JDK 9 mainline, so they would be in place for whenever you guys 
>>>> would start to attack porting the code base. However, some of my 
>>>> collegues thought otherwise. The end result, I think, is that they 
>>>> wanted to see someone (not necessarily a company, the FreeBSD 
>>>> organisation for instance seemed to be okay), to step forward and 
>>>> say "we take responsibility for the BSD port", and give some kind 
>>>> of commitment to actually use these build changes in producing a 
>>>> viable port. You can read the mail conversation here: 
>>>> http://mail.openjdk.java.net/pipermail/build-dev/2016-January/016421.html
>>>
>>> I forgot to add that I'm willing to help with build issues for the 
>>> BSD port, as far as my (like everybode else's) limited free time 
>>> allows me. Unfortunately, I'm still a noob at BSD internals and 
>>> can't really help with much apart from that.
>>>
>>> /Magnus
>>>
>>>
>>>>
>>>> An alternative to pushing this code into the JDK 9 mainline is of 
>>>> course to push it to the bsd-port/jdk9 repo (given that the owners 
>>>> of that repo approves), but that seems like a less favourable 
>>>> solution. Having the code in the mainline does not mean that it 
>>>> gets tested automatically, but it means that it will be part of 
>>>> e.g. refactoring, that would otherwise break a downstream patchset.
>>>>
>>>> I cc:ed this conversation to the bsd-port-dev at openjdk.java.net 
>>>> <mailto:bsd-port-dev at openjdk.java.net> mailing list, but never got 
>>>> any kind of official response there. Since this list seems more 
>>>> active, I'm trying here instead. :)
>>>>
>>>> So, I'm offering two patches here, one that applies to the build 
>>>> system, is nice and clean, and possible to integrate into JDK 9 
>>>> mainline, if my collegues are convinced that someone is backing up 
>>>> the BSD port. And there's a second patch, which fixes broken 
>>>> C/C++/Java code and results in a product that can at least run 
>>>> "javac HelloWorld", but this is not yet clean enough for 
>>>> integration anywere, at least not the JDK 9 mainline. (I don't know 
>>>> enough of the BSD internals to fix all problems, so there's some 
>>>> "#if 0" code here and there.)
>>>>
>>>> /Magnus
>>>>
>>>> _______________________________________________
>>>> freebsd-java at freebsd.org <mailto:freebsd-java at freebsd.org> mailing list
>>>> https://lists.freebsd.org/mailman/listinfo/freebsd-java
>>>> To unsubscribe, send any mail to "freebsd-java-unsubscribe at freebsd.org"
>>>
>>> _______________________________________________
>>> freebsd-java at freebsd.org 
>>> <mailto:freebsd-java at freebsd.org><mailto:freebsd-java at freebsd.org> 
>>> mailing list
>>> https://lists.freebsd.org/mailman/listinfo/freebsd-java<https://lists.freebsd.org/mailman/listinfo/freebsd-java>
>>> To unsubscribe, send any mail to 
>>> "freebsd-java-unsubscribe at freebsd.org 
>>> <mailto:freebsd-java-unsubscribe at freebsd.org><mailto:freebsd-java-unsubscribe at freebsd.org>"
>>
>> _______________________________________________
>> freebsd-java at freebsd.org <mailto:freebsd-java at freebsd.org>mailing list
>> https://lists.freebsd.org/mailman/listinfo/freebsd-java
>> To unsubscribe, send any mail to 
>> "freebsd-java-unsubscribe at freebsd.org 
>> <mailto:freebsd-java-unsubscribe at freebsd.org>"
>



More information about the freebsd-java mailing list