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