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

Martijn Verburg martijnverburg at gmail.com
Tue Feb 10 15:12:23 UTC 2015


Hi Magnus,

I had been working on the README-build.html file, but apart from that
nothing else.

Cheers,
Martijn

On 10 February 2015 at 08:53, Magnus Ihse Bursie <
magnus.ihse.bursie at oracle.com> wrote:

> 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 build-dev mailing list