jdk8 and MacOSX Mavericks XCode gcc

Jim Laskey (Oracle) james.laskey at oracle.com
Thu Oct 24 10:34:35 PDT 2013


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