BUILD_JOBJC woes on Mac

David Holmes david.holmes at
Tue May 21 07:36:19 UTC 2013

On 21/05/2013 5:15 PM, Alan Bateman wrote:
> On 21/05/2013 06:00, David Holmes wrote:
>> Hi Alan,
>> That log looks correct to me. can you verify if the missing types are
>> indeed within:
>> /u/alanb/ws/jdk7u-dev/build/macosx-x86_64/j2sdk-image/jre/lib/rt.jar
>> ?
>> David
> That's the boot JDK so it isn't going to have types that are new in

Doh! Sorry it looked like something you had built (well maybe you did).

> jdk8. So I think the issue that both jdk8 classes and apple classes used
> by jobjc are be generated to gensrc. It just happened to work previously
> because gensrc/** didn't reference anything that is new in jdk8.

While that is probably true, it seems to me that the cause of the 
problem here is that the javac source path includes 
/u/alanb/ws/tl/build/macosx-x86_64-normal-server-release/jdk/gensrc  - 
and that seems wrong to me. It comes from CompileJavaClasses.gmk:

$(eval $(call SetupJavaCompilation,BUILD_JOBJC,\
                 SRC:=$(JDK_TOPDIR)/src/macosx/native/jobjc/src/core/java \
$(JDK_TOPDIR)/src/macosx/native/jobjc/src/runtime-additions/java \
                      $(JDK_OUTPUTDIR)/gensrc, \
                 INCLUDES := com/apple/jobjc,\
                 EXCLUDES := tests/java/com/apple/jobjc,\
                 JAR:=$(JDK_OUTPUTDIR)/lib/JObjC.jar, \
                 JARINDEX := true))

No idea why JObjC.jar has to be built as 1.5. But in that case it should 
be able to compile against the boot JDK and not put gensrc on the 
sourcepath. (Maybe it was meant to be gensrc_jobjc/src ?)


> -Alan.

More information about the build-dev mailing list