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

Martijn Verburg martijnverburg at gmail.com
Mon Feb 9 10:32:52 UTC 2015


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