Build error with javac Main not being found when building java.transaction module on Mac OS X

Magnus Ihse Bursie magnus.ihse.bursie at oracle.com
Tue Feb 10 08:53:08 UTC 2015


That sounds a bit weird. get_source should do a pull and update on the top-level repo as well, so a separate hg update should not be needed. 

Did you have local changes requiring a merge?

/Magnus

> 9 feb 2015 kl. 12:46 skrev Martijn Verburg <martijnverburg at gmail.com>:
> 
> @Erik and everyone else,
> 
> <whacks head on desk>, my sincere apologies and thank you for your
> patience!  Indeed the modules.xml file was out of date. My script which
> executes 'hg update' each morning had been silently failing for some time.
> This is a good lesson for the build guide though, I'll add a note to remind
> people that once they clone the top level repository that they should also
> hg update as well as ./get_source.sh.
> 
> I now have separate build errors (of course!), these ones seem a little
> more genuine, around the compilation / linking of desktop code with Mac
> native libs.  There are too many to list, but here's an example of one below
> 
> =======
> 
> Creating libjsound.dylib from 17 file(s)
> In file included from /usr/include/dispatch/dispatch.h:51:0,
>                 from
> /System/Library/Frameworks/CoreFoundation.framework/Headers/CFStream.h:15,
>                 from
> /System/Library/Frameworks/CoreFoundation.framework/Headers/CFPropertyList.h:13,
>                 from
> /System/Library/Frameworks/CoreFoundation.framework/Headers/CoreFoundation.h:55,
>                 from
> /System/Library/Frameworks/Foundation.framework/Headers/Foundation.h:6,
>                 from
> /System/Library/Frameworks/Cocoa.framework/Headers/Cocoa.h:12,
>                 from
> /Users/karianna/Documents/workspace/AdoptOpenJDK_projects/jdk9/jdk/src/java.desktop/macosx/native/libosxapp/AWT_debug.h:29,
>                 from
> /Users/karianna/Documents/workspace/AdoptOpenJDK_projects/jdk9/jdk/src/java.desktop/macosx/native/libosxapp/AWT_debug.m:26:
> /usr/include/dispatch/object.h:143:15: error: expected identifier or '('
> before '^' token
> typedef void (^dispatch_block_t)(void);
>               ^
> /usr/include/dispatch/object.h:362:3: error: unknown type name
> 'dispatch_block_t'
>   dispatch_block_t notification_block);
>   ^
> 
> Is this perhaps me using an unsupported compiler?  My C/C++ toolchain is:
> 
> ...
> * Toolchain:      clang (clang/LLVM)
> * C Compiler:     Version Apple LLVM version 6.0 (clang-600.0.56) (based on
> LLVM 3.5svn) Target: x86_64-apple-darwin14.1.0 Thread model: posix (at
> /usr/bin/clang)
> * C++ Compiler:   Version Apple LLVM version 6.0 (clang-600.0.56) (based on
> LLVM 3.5svn) Target: x86_64-apple-darwin14.1.0 Thread model: posix (at
> /usr/bin/clang++)
> ...
> 
> 
> 
> Cheers,
> Martijn
> 
>> On 9 February 2015 at 10:35, Erik Joelsson <erik.joelsson at oracle.com> wrote:
>> 
>> Then please check that your top level repo is properly up to date. It
>> should contain:
>> 
>>  <module>
>>    <name>java.transaction</name>
>>    <depend>java.base</depend>
>>    <depend re-exports="true">java.rmi</depend>
>>    <export>
>>      <name>javax.transaction</name>
>>    </export>
>>  </module>
>> 
>> /Erik
>> 
>> 
>> On 2015-02-09 11:32, Martijn Verburg wrote:
>> 
>> Hi Erik,
>> 
>> You're correct, the module-deps.gmk file does not have java.transaction
>> in there.
>> 
>> modules.xml does contain it as an export for java.corba (which depends
>> on java.base), i.e.
>> 
>>   <module>
>>    <name>java.corba</name>
>>    <depend>java.base</depend>
>>    <depend re-exports="true">java.desktop</depend>
>>    <depend>java.logging</depend>
>>    <depend>java.naming</depend>
>>    <depend re-exports="true">java.rmi</depend>
>>     ...
>>    <export>
>>       <name>javax.transaction</name>
>>    </export>
>>     ...
>> 
>> I'm also going to try Magnus's suggestion.
>> 
>> Cheers,
>> Martijn
>> 
>> On 9 February 2015 at 09:32, Erik Joelsson <erik.joelsson at oracle.com>
>> wrote:
>> 
>>> So you have the source files for java.transaction in your jdk repo. Does
>>> your modules.xml list that module? At the start of the build, we generate
>>> build/<outputdir>/make-support/module-deps.gmk from modules.xml from which
>>> we construct the correct make dependencies between module targets. I'm
>>> guessing java.transaction is not showing up in your module-deps.gmk.
>>> 
>>> If java.transaction doesn't show up in modules-deps.gmk, we are missing
>>> that java.transaction-java depends on java.base-java, so make will start
>>> running java.transaction-java earlier than it should.
>>> 
>>> /Erik
>>> 
>>> 
>>>> On 2015-02-06 16:45, Martijn Verburg wrote:
>>>> 
>>>> Hi Erik/Alan,
>>>> 
>>>> Not sure if this information is useful at all but the following tmp file
>>>> was left behind:
>>>> 
>>>> 
>>>> /Users/karianna/Documents/workspace/AdoptOpenJDK_projects/jdk9/build/macosx-
>>>> x86_64-normal-server-release/jdk/modules/java.transaction/_
>>>> the.java.transaction_batch.tmp
>>>> 
>>>> It contains:
>>>> 
>>>> 
>>>> /Users/karianna/Documents/workspace/AdoptOpenJDK_projects/jdk9/jdk/src/java.transaction/share/classes/javax/transaction/InvalidTransactionException.java
>>>> 
>>>> /Users/karianna/Documents/workspace/AdoptOpenJDK_projects/jdk9/jdk/src/java.transaction/share/classes/javax/transaction/TransactionRequiredException.java
>>>> 
>>>> /Users/karianna/Documents/workspace/AdoptOpenJDK_projects/jdk9/jdk/src/java.transaction/share/classes/javax/transaction/TransactionRolledbackException.java
>>>> 
>>>> 
>>>> Cheers,
>>>> Martijn
>>>> 
>>>> On 6 February 2015 at 15:42, Martijn Verburg <martijnverburg at gmail.com>
>>>> wrote:
>>>> 
>>>> Hi Alan,
>>>>> 
>>>>> Thanks for the quick response!  I've executed:
>>>>> 
>>>>> rm -rf build
>>>>> bash configure
>>>>> make clean images
>>>>> 
>>>>> ==========
>>>>> 
>>>>> Unfortunately the same error comes up:
>>>>> 
>>>>> ....
>>>>> Cleaned all build artifacts.
>>>>> Building OpenJDK for target 'clean images' in configuration
>>>>> 'macosx-x86_64-normal-server-release'
>>>>> ....
>>>>> Compiling 5 files for BUILD_GENMODULESLIST
>>>>> Compiling 8 files for BUILD_TOOLS_LANGTOOLS
>>>>> Compiling 3 files for java.transaction
>>>>> Error: Could not find or load main class com.sun.tools.javac.Main
>>>>> make[3]: ***
>>>>> 
>>>>> [/Users/karianna/Documents/workspace/AdoptOpenJDK_projects/jdk9/build/macosx-x86_64-normal-server-release/jdk/modules/java.transaction/_the.java.transaction_batch]
>>>>> Error 1
>>>>> make[2]: *** [java.transaction-java] Error 2
>>>>> make[2]: *** Waiting for unfinished jobs....
>>>>> ....
>>>>> 
>>>>> 
>>>>> Cheers,
>>>>> Martijn
>>>>> 
>>>>> On 6 February 2015 at 11:43, Alan Bateman <Alan.Bateman at oracle.com>
>>>>> wrote:
>>>>> 
>>>>>> On 06/02/2015 11:32, Martijn Verburg wrote:
>>>>>> 
>>>>>> Hi all,
>>>>>>> 
>>>>>>> Apologies if this has already been reported before!
>>>>>>> 
>>>>>>> Build from HEAD (jdk9) today I get the following error running make
>>>>>>> clean
>>>>>>> images:
>>>>>>> 
>>>>>>> make clean images
>>>>>>> Cleaning hotspot build artifacts ... done
>>>>>>> Cleaning jdk build artifacts ... done
>>>>>>> Cleaning bootcycle-build build artifacts ... done
>>>>>>> Cleaning test build artifacts ... done
>>>>>>> Cleaning buildtools build artifacts ... done
>>>>>>> Cleaning support build artifacts ... done
>>>>>>> Cleaning images build artifacts ... done
>>>>>>> Cleaning make-support build artifacts ... done
>>>>>>> Cleaned all build artifacts.
>>>>>>> Building OpenJDK for target 'clean images' in configuration
>>>>>>> 'macosx-x86_64-normal-server-release'
>>>>>>> 
>>>>>>> Compiling 5 files for BUILD_GENMODULESLIST
>>>>>>> Compiling 8 files for BUILD_TOOLS_LANGTOOLS
>>>>>>> Compiling 3 files for java.transaction
>>>>>>> Error: Could not find or load main class com.sun.tools.javac.Main
>>>>>>> make[3]: ***
>>>>>>> [/Users/karianna/Documents/workspace/AdoptOpenJDK_
>>>>>>> projects/jdk9/build/macosx-x86_64-normal-server-release/
>>>>>>> jdk/modules/java.transaction/_the.java.transaction_batch]
>>>>>>> Error 1
>>>>>>> make[2]: *** [java.transaction-java] Error 2
>>>>>>> make[2]: *** Waiting for unfinished jobs....
>>>>>>> 
>>>>>>>  I wonder if this is residual files left behind from a previous
>>>>>>> build.
>>>>>> We did some refactoring a few weeks ago to create the java.transaction
>>>>>> module and that required moving code between the corba and jdk repo.
>>>>>> 
>>>>>> Can you blow away your build directory and configure && make again?
>>>>>> 
>>>>>> -Alan
>> 
>> 


More information about the jdk9-dev mailing list