jdk8 and MacOSX Mavericks XCode gcc

Christian Thalinger christian.thalinger at oracle.com
Thu Oct 24 11:02:07 PDT 2013


Since I’ve already updated to Mavericks I’m looking into HotSpot build failures.  I have a couple of fixes but I’m not sure if I’m able to push them for 8.

On Oct 24, 2013, at 10:34 AM, Jim Laskey (Oracle) <james.laskey at oracle.com> wrote:

> I understood that the build team was postponing use of Xcode5 and LLVM/clang until after JDK 8, for complexities and licensing reasons.  This is merely a workaround.
> 
> 
> On Oct 24, 2013, at 2:31 PM, Bob Vandette <bob.vandette at oracle.com> wrote:
> 
>> I assumed that you were trying to build with the new compilers in Xcode5.
>> 
>> Using Xcode4 does simplify and defer having to deal with problems until later.
>> 
>> Bob.
>> 
>> On Oct 24, 2013, at 1:20 PM, "Jim Laskey (Oracle)" <james.laskey at oracle.com> wrote:
>> 
>>> I managed to build OpenJDK on Mavericks using the Xcode4 tool chain, with one minor glitch (Bob, installing Quartz X11 addresses X11 issues.)
>>> 
>>> Before installing Mavericks, I renamed Xcode.app to Xcode4.app.
>>> 
>>> I then installed Mavericks and sundry updates (Xcode5, iTunes, iWorks, iLife, ...)
>>> 
>>> After checking out tl, I configured with
>>> 
>>> 	sh ./configure --with-tools-dir=/Applications/Xcode4.app/Contents/Developer/usr/bin
>>> 
>>> Everything built except for one Apple header.
>>> 
>>> /System/Library/Frameworks/Foundation.framework/Versions/C/Headers/NSUserNotification.h:16
>>> 
>>> NSUserNotificationActivationTypeReplied NS_AVAILABLE(10_9, NA) = 3
>>> 
>>> I changed to 
>>> 
>>> NSUserNotificationActivationTypeReplied /* NS_AVAILABLE(10_9, NA) */ = 3
>>> 
>>> Otherwise we get a __attribute__ instead of ',' or '}' error.
>>> 
>>> Everything ran fine after that.
>>> 
>>> Cheers,
>>> 
>>> -- Jim
>>> 
>>> 
>>> 
>>> 
>>> 
>>> 
>>> On Oct 24, 2013, at 1:58 PM, Bob Vandette <bob.vandette at oracle.com> wrote:
>>> 
>>>> I'm not trying to do a complete OSX build but here's my experience trying to build the JDK8
>>>> sources with Xcode 5 which has removed the gcc compilers in favor of llvm.  They
>>>> do have some gcc compatibility commands which help but you need to install Command Line
>>>> Tools.
>>>> 
>>>> 1. Installed the Command Line Tools optional package.
>>>> 
>>>> 2. Had to disable GCC compiler check in toolchain.m4 and run autogen.sh
>>>> Was complaining since gcc --version doesn't provide expected output.
>>>> 
>>>> 3. Compiler options ignored messages.  We'll need to remove these options.
>>>> -fcheck-new
>>>> -fpch-deps
>>>> 
>>>> 4. Lots of warnings of unused enum in switch.  May need to add -Wswitch as a temp work-around until
>>>> we figure out if these need to be fixed.  
>>>> 
>>>> Lots of warnings of un-used parameter.  May need to add -Wunused-parameter as a temp work-around
>>>> until we figure out if these need to be fixed.  
>>>> 
>>>> 5. No X11 header files causes compilation problems with AWT files.
>>>> 
>>>> /jdk/src/solaris/native/sun/awt/utility/rect.h: fatal error: 'X11/Xlib.h' file not found
>>>> jdk/src/solaris/native/sun/awt/awt.h:38:10: fatal error: 'X11/Intrinsic.h' file not found
>>>> 
>>>> Ended up putting X11 header files path in MY_CFLAG via -I option in my build script temporarily.
>>>> You could probably install the header files in /usr/include/X11 or in the toolchain header path
>>>> until we eliminate X11 dependencies for MacOSX builds.  I'm building without any GUI but
>>>> the build still needs the header files to compile a few files.
>>>> 
>>>> Bob Vandette
>>>> 
>>>> 
>>>> On Oct 24, 2013, at 12:39 PM, Georges Saab <georges.saab at oracle.com> wrote:
>>>> 
>>>>> There is a currently a discussion of this going on at build-dev at openjdk.java.net
>>>>> 
>>>>> (short answer -- yes, there are issues)
>>>>> 
>>>>> 
>>>>> On Oct 24, 2013, at 9:29 AM, René Jansen <rvjansen at xs4all.nl> wrote:
>>>>> 
>>>>>> It appears that the recent update keeps me from doing builds from source on above combination. Did anyone confirm/solve this?
>>>>>> 
>>>>>> best regards,
>>>>>> 
>>>>>> René Jansen.
>>>>> 
>>>> 
>>> 
>> 
> 



More information about the jdk8-dev mailing list