RFR: 7113349 JDK8 port to macosx

Michael McMahon michael.x.mcmahon at oracle.com
Wed Mar 7 14:20:27 PST 2012

On 07/03/12 17:43, Stephen Bannasch wrote:
> At 4:15 PM +0000 3/7/12, Michael McMahon wrote:
>> On 07/03/12 06:50, Stuart Marks wrote:
>>> On 3/6/12 3:02 AM, Michael McMahon wrote:
>>>> On 05/03/12 23:29, Stuart Marks wrote:
>>>>> If LANG is unset, I get this crash in test_gamma.
>>>> Since 8 is using an openjdk 7 bootstrap, it does know where to find the files
>>>> and it runs
>>>> the test. The main Java launcher is able to deal with LANG not being set. It sets
>>>> user.language to a reasonable default. But, it appears like gamma doesn't do that
>>>> (and hence the null key for Hashtable.put()).
>>>> So, for the moment, I think we just have to ensure that LANG is set. I know
>>>> the recommended value is "C", but it does work for the en_XX.UTF-8 locales.
>>>> As was pointed out recently, there are other locales where it definitely
>>>> doesn't work
>>>> (due to dependencies in the build on the output of the date command iirc).
>>> So, is it a bug (low priority) that the Mac build fails in this obscure fashion if LANG is unset? It succeeds with LANG unset, on Linux at least.
>>> Or perhaps the build instructions should be modified to *require* that LANG be set. Right now README-builds.html implies that LANG should be set, by setting it in examples, but it's not an explicit requirement.
>>> s'marks
>> Stuart,
>> I will submit two bugs  - 1) on the gamma issue in jdk7u and 8
>> and 2) to check for LANG in the Mac OS X sanity check as a temporary workaround until 1) is fixed.
>> I have a fix for 2) ready for review.
>> Also, just to let folks know that the initial jdk8 changeset for Mac OS has been pushed to
>> the jdk8/tl forest. All going well, it should appear in the jdk8 master next Tuesday.
>> In the meantime, it is available in jdk8/tl.
> Just built jdk8/tl (without any patching) on my 10.6.8 system.
> Build completes fine.
> jtreg testing of jdk/test/java/lang/invoke/ passes.
> Testing with SwingSet2.jar fails:
> /build/macosx-amd64/j2sdk-bundle/1.8.0.jdk/Contents/Home/bin/java -jar /Developer/Extras/Java/JFC/SwingSet2/SwingSet2.jar
> Exception in thread "main" java.awt.HeadlessException
> 	at sun.java2d.HeadlessGraphicsEnvironment.getDefaultScreenDevice(HeadlessGraphicsEnvironment.java:77)
> 	at SwingSet2.main(SwingSet2.java:251)
> My build settings:
> Which expands into:
> make LANG=C LP64=1 OPENJDK=true ALLOW_DOWNLOADS=true SA_APPLE_BOOT_JAVA=true ALWAYS_PASS_TEST_GAMMA=true ALT_BOOTDIR=/Users/stephen/Library/Java/JavaVirtualMachines/1.7.0_04-2012_03_04.jdk/Contents/Home HOTSPOT_BUILD_JOBS=4
I've just realised there was a hotspot change in my local forest that I 
had forgotten about.
Hotspot changes are pushed through a different route. So, I'm not sure 
when exactly this
will get fixed. I will file a bug on it right now. But, here is the 
relevant patch, which you
can apply yourself.

- Michael,

diff -r 0ed0960af27d src/os/bsd/vm/os_bsd.cpp
--- a/src/os/bsd/vm/os_bsd.cpp    Thu Feb 23 12:03:08 2012 -0800
+++ b/src/os/bsd/vm/os_bsd.cpp    Wed Mar 07 22:14:09 2012 +0000
@@ -5811,7 +5811,7 @@
      char buf[MAXPATHLEN];
      char libmawtpath[MAXPATHLEN];
      const char *xawtstr  = "/xawt/libmawt" JNI_LIB_SUFFIX;
-    const char *new_xawtstr = "/libawt_xawt" JNI_LIB_SUFFIX;
+    const char *new_xawtstr = "/xawt/libawt_xawt" JNI_LIB_SUFFIX;
      char *p;

      // Get path to libjvm.so

More information about the macosx-port-dev mailing list