Building OpenJDK Java 1.7.0 on Mac OS X 10.6

View: New views
6 Messages — Rating Filter:   Alert me  

Building OpenJDK Java 1.7.0 on Mac OS X 10.6

by Maxim Porges-2 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Hi,

I've been following Stephen Bannasch's very thorough and detailed article (http://confluence.concord.org/display/CCTR/Build+OpenJDK+Java+1.7.0+on+Mac+OS+X+10.5) for installing OpenJDK 1.7.0 on OS X (thanks very much to Stephen for putting that together). I'm actually trying to install OpenJDK 1.7.0 on Snow Leopard 10.6, and it is almost working. Unfortunately, it stops building about halfway through with the following error message.

Compiling /Users/mporges/bsd-port/hotspot/src/share/vm/runtime/arguments.cpp
rm -f arguments.o
g++ -D_ALLBSD_SOURCE -D_GNU_SOURCE -DIA32 -DPRODUCT -I. -I../generated/adfiles -I../generated/jvmtifiles -I/Users/mporges/bsd-port/hotspot/src/share/vm/asm -I/Users/mporges/bsd-port/hotspot/src/share/vm/c1 -I/Users/mporges/bsd-port/hotspot/src/share/vm/ci -I/Users/mporges/bsd-port/hotspot/src/share/vm/classfile -I/Users/mporges/bsd-port/hotspot/src/share/vm/code -I/Users/mporges/bsd-port/hotspot/src/share/vm/compiler -I/Users/mporges/bsd-port/hotspot/src/share/vm/gc_implementation -I/Users/mporges/bsd-port/hotspot/src/share/vm/gc_implementation/concurrentMarkSweep -I/Users/mporges/bsd-port/hotspot/src/share/vm/gc_implementation/g1 -I/Users/mporges/bsd-port/hotspot/src/share/vm/gc_implementation/parallelScavenge -I/Users/mporges/bsd-port/hotspot/src/share/vm/gc_implementation/parNew -I/Users/mporges/bsd-port/hotspot/src/share/vm/gc_implementation/shared -I/Users/mporges/bsd-port/hotspot/src/share/vm/gc_interface -I/Users/mporges/bsd-port/hotspot/src/share/vm/interpreter -I/Users/mporges/bsd-port/hotspot/src/share/vm/libadt -I/Users/mporges/bsd-port/hotspot/src/share/vm/memory -I/Users/mporges/bsd-port/hotspot/src/share/vm/oops -I/Users/mporges/bsd-port/hotspot/src/share/vm/opto -I/Users/mporges/bsd-port/hotspot/src/share/vm/prims -I/Users/mporges/bsd-port/hotspot/src/share/vm/runtime -I/Users/mporges/bsd-port/hotspot/src/share/vm/services -I/Users/mporges/bsd-port/hotspot/src/share/vm/utilities -I/Users/mporges/bsd-port/hotspot/src/cpu/x86/vm -I/Users/mporges/bsd-port/hotspot/src/os/bsd/vm -I/Users/mporges/bsd-port/hotspot/src/os_cpu/bsd_x86/vm -I../generated -DHOTSPOT_RELEASE_VERSION="\"16.0-b08\"" -DHOTSPOT_BUILD_TARGET="\"product\"" -DHOTSPOT_BUILD_USER="\"mporges\"" -DHOTSPOT_LIB_ARCH=\"i386\" -DJRE_RELEASE_VERSION="\"1.7.0-internal-mporges_2009_09_23_22_44-b00\"" -DHOTSPOT_VM_DISTRO="\"OpenJDK\"" -DCOMPILER2 -DCOMPILER1 -fPIC -fno-rtti -fno-exceptions -pthread -fcheck-new -m32 -march=i586 -mstackrealign -pipe -O3 -fno-strict-aliasing -DVM_LITTLE_ENDIAN -Werror -Wpointer-arith -Wconversion -Wsign-compare    -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE -c -o arguments.o /Users/mporges/bsd-port/hotspot/src/share/vm/runtime/arguments.cpp 
cc1plus: warnings being treated as errors
/Users/mporges/bsd-port/hotspot/src/share/vm/runtime/arguments.cpp: In static member function 'static void Arguments::set_aggressive_opts_flags()':
/Users/mporges/bsd-port/hotspot/src/share/vm/runtime/arguments.cpp:1398: warning: format '%d' expects type 'int', but argument 3 has type 'intx'
make[6]: *** [arguments.o] Error 1
make[5]: *** [the_vm] Error 2
make[4]: *** [product] Error 2
make[3]: *** [generic_build2] Error 2
make[2]: *** [product] Error 2
make[1]: *** [hotspot-build] Error 2
make: *** [build_product_image] Error 2

I was hoping I could get around this by removing the -Werror flag, but I'm really not familiar with make-based builds (being a Java programmer after all) and wondered if anybody on the list could assist with this, or offer another solution.

Thanks,

-
 max




Re: Building OpenJDK Java 1.7.0 on Mac OS X 10.6

by john.coomes :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Maxim Porges (maxim.porges@...) wrote:

> Hi,
>
> I've been following Stephen Bannasch's very thorough and detailed  
> article (http://confluence.concord.org/display/CCTR/Build+OpenJDK+Java+1.7.0+on+Mac+OS+X+10.5 
> ) for installing OpenJDK 1.7.0 on OS X (thanks very much to Stephen  
> for putting that together). I'm actually trying to install OpenJDK  
> 1.7.0 on Snow Leopard 10.6, and it is almost working. Unfortunately,  
> it stops building about halfway through with the following error  
> message.
>
> Compiling /Users/mporges/bsd-port/hotspot/src/share/vm/runtime/
> arguments.cpp
> ...
> cc1plus: warnings being treated as errors
> /Users/mporges/bsd-port/hotspot/src/share/vm/runtime/arguments.cpp: In  
> static member function 'static void  
> Arguments::set_aggressive_opts_flags()':
> /Users/mporges/bsd-port/hotspot/src/share/vm/runtime/arguments.cpp:
> 1398: warning: format '%d' expects type 'int', but argument 3 has type  
> 'intx'
> ...

Do you have current source?  I believe this was fixed in jdk7-b47 by:

changeset:   511:2328d1d3f8cf
user:        xlu
date:        Wed Dec 24 19:13:53 2008 -0800
summary:     6781583: Hotspot build fails on linux 64 bit platform with gcc 4.3.2

http://hg.openjdk.java.net/jdk7/jdk7/hotspot/rev/2328d1d3f8cf

-John


Re: Building OpenJDK Java 1.7.0 on Mac OS X 10.6

by Maxim Porges-2 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Hmm, perhaps not. Thanks for the tip -I'll give it another shot with  
this build.

- max


On Sep 25, 2009, at 1:20 PM, "John Coomes" <John.Coomes@...> wrote:

> Maxim Porges (maxim.porges@...) wrote:
>> Hi,
>>
>>    I've been following Stephen Bannasch's very thorough and detailed
>> article (http://confluence.concord.org/display/CCTR/Build+OpenJDK+Java+1.7.0+on+Mac+OS+X+10.5
>> ) for installing OpenJDK 1.7.0 on OS X (thanks very much to Stephen
>> for putting that together). I'm actually trying to install OpenJDK
>> 1.7.0 on Snow Leopard 10.6, and it is almost working. Unfortunately,
>> it stops building about halfway through with the following error
>> message.
>>
>> Compiling /Users/mporges/bsd-port/hotspot/src/share/vm/runtime/
>> arguments.cpp
>> ...
>> cc1plus: warnings being treated as errors
>> /Users/mporges/bsd-port/hotspot/src/share/vm/runtime/arguments.cpp:  
>> In
>> static member function 'static void
>> Arguments::set_aggressive_opts_flags()':
>> /Users/mporges/bsd-port/hotspot/src/share/vm/runtime/arguments.cpp:
>> 1398: warning: format '%d' expects type 'int', but argument 3 has  
>> type
>> 'intx'
>> ...
>
> Do you have current source?  I believe this was fixed in jdk7-b47 by:
>
> changeset:   511:2328d1d3f8cf
> user:        xlu
> date:        Wed Dec 24 19:13:53 2008 -0800
> summary:     6781583: Hotspot build fails on linux 64 bit platform  
> with gcc 4.3.2
>
> http://hg.openjdk.java.net/jdk7/jdk7/hotspot/rev/2328d1d3f8cf
>
> -John
>
>

Re: Building OpenJDK Java 1.7.0 on Mac OS X 10.6

by Maxim Porges-2 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

I've diff'd a few of the files from that patch, and it looks like the code I have included the patch from jdk7-b47. I exported my local copy on September 23, 2009 from http://hg.openjdk.java.net/bsd-port/bsd-port, so my guess would be that it was around jdk7-b73 based on the tag dates.

So, it looks like I have the current source, but it doesn't build on OS X 10.6.1. Does anybody know of a way to get the build working on OS X?

Thanks,

-
 max



On Sep 26, 2009, at 12:53 AM, Maxim Porges wrote:

Hmm, perhaps not. Thanks for the tip -I'll give it another shot with  
this build.

- max


On Sep 25, 2009, at 1:20 PM, "John Coomes" <John.Coomes@...> wrote:

Maxim Porges (maxim.porges@...) wrote:
Hi,

  I've been following Stephen Bannasch's very thorough and detailed
article (http://confluence.concord.org/display/CCTR/Build+OpenJDK+Java+1.7.0+on+Mac+OS+X+10.5
) for installing OpenJDK 1.7.0 on OS X (thanks very much to Stephen
for putting that together). I'm actually trying to install OpenJDK
1.7.0 on Snow Leopard 10.6, and it is almost working. Unfortunately,
it stops building about halfway through with the following error
message.

Compiling /Users/mporges/bsd-port/hotspot/src/share/vm/runtime/
arguments.cpp
...
cc1plus: warnings being treated as errors
/Users/mporges/bsd-port/hotspot/src/share/vm/runtime/arguments.cpp:  
In
static member function 'static void
Arguments::set_aggressive_opts_flags()':
/Users/mporges/bsd-port/hotspot/src/share/vm/runtime/arguments.cpp:
1398: warning: format '%d' expects type 'int', but argument 3 has  
type
'intx'
...

Do you have current source?  I believe this was fixed in jdk7-b47 by:

changeset:   511:2328d1d3f8cf
user:        xlu
date:        Wed Dec 24 19:13:53 2008 -0800
summary:     6781583: Hotspot build fails on linux 64 bit platform  
with gcc 4.3.2

http://hg.openjdk.java.net/jdk7/jdk7/hotspot/rev/2328d1d3f8cf

-John




Re: Building OpenJDK Java 1.7.0 on Mac OS X 10.6

by Mario Torre-4 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Il 04/11/2009 23:34, Maxim Porges ha scritto:

> I've diff'd a few of the files from that patch, and it looks like the
> code I have included the patch from jdk7-b47. I exported my local copy
> on September 23, 2009 from http://hg.openjdk.java.net/bsd-port/bsd-port,
> so my guess would be that it was around jdk7-b73 based on the tag dates.
>
> So, it looks like I have the current source, but it doesn't build on OS
> X 10.6.1. Does anybody know of a way to get the build working on OS X?
>
> Thanks,
>
> - max

Hi Max,

As I replied before to the wrong thread, I repost:

There is a thread on this error on the BSD Port mailing list, maybe of
some help for you:

http://mail.openjdk.java.net/pipermail/bsd-port-dev/2009-September/000852.html

Cheers,
Mario
--
Mario Torre, Software Developer, http://www.jroller.com/neugens/
aicas Allerton Interworks Computer Automated Systems GmbH
Haid-und-Neu-Straße 18 * D-76131 Karlsruhe * Germany
http://www.aicas.com   * Tel: +49-721-663 968-44
pgp key: http://subkeys.pgp.net/ PGP Key ID: 80F240CF
Fingerprint: BA39 9666 94EC 8B73 27FA  FC7C 4086 63E3 80F2 40CF

USt-Id: DE216375633, Handelsregister HRB 109481, AG Mannheim
Geschäftsführer: Dr. James J. Hunt

Please, support open standards:
http://endsoftpatents.org/


Re: Building OpenJDK Java 1.7.0 on Mac OS X 10.6

by Maxim Porges-2 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Mario,

Thanks for the reply. I had seen that thread before but had missed the part about the change to globalDefinitions.hpp. I made those changes and tried the build again. It got further than it did before, but it still failed with the following errors:

rm -f /Users/mporges/bsd-port/build/bsd-i586/tmp/jre-elf-files.list
/usr/bin/find /Users/mporges/bsd-port/build/bsd-i586/j2re-image/lib -type f -name \*.dylib >> /Users/mporges/bsd-port/build/bsd-i586/tmp/jre-elf-files.list
find: /Users/mporges/bsd-port/build/bsd-i586/j2re-image/lib: No such file or directory
make[2]: *** [/Users/mporges/bsd-port/build/bsd-i586/tmp/jre-elf-files.list] Error 1
>>>Making process-image-jdk @ Thu Nov  5 11:30:31 EST 2009 ...
rm -f /Users/mporges/bsd-port/build/bsd-i586/tmp/jdk-elf-files.list
/usr/bin/find /Users/mporges/bsd-port/build/bsd-i586/j2sdk-image/jre/lib -type f -name \*.dylib >> /Users/mporges/bsd-port/build/bsd-i586/tmp/jdk-elf-files.list
find: /Users/mporges/bsd-port/build/bsd-i586/j2sdk-image/jre/lib: No such file or directory
make[2]: *** [/Users/mporges/bsd-port/build/bsd-i586/tmp/jdk-elf-files.list] Error 1
>>>Making sec-files @ Thu Nov  5 11:30:31 EST 2009 ...
/bin/mkdir -p .
rm -f sec-files
rm -f /Users/mporges/bsd-port/build/bsd-i586/tmp/sec-bin.zip
cd  /Users/mporges/bsd-port/build/bsd-i586 && \
/usr/bin/zip -rq9 /Users/mporges/bsd-port/build/bsd-i586/tmp/sec-bin.zip classes/javax/net classes/javax/security/cert classes/com/sun/net/ssl classes/com/sun/security/cert classes/sun/net/www/protocol/https classes/sun/security/pkcs12 classes/sun/security/ssl classes/sun/security/krb5/*.class classes/sun/security/krb5/internal/*.class classes/sun/security/krb5/internal/ccache classes/sun/security/krb5/internal/crypto classes/sun/security/krb5/internal/ktab classes/sun/security/krb5/internal/rcache classes/sun/security/krb5/internal/util classes/sun/security/jgss/spi/GSSContextSpi.class

zip error: Nothing to do! (try: zip -rq9 /Users/mporges/bsd-port/build/bsd-i586/tmp/sec-bin.zip . -i classes/javax/net classes/javax/security/cert classes/com/sun/net/ssl classes/com/sun/security/cert classes/sun/net/www/protocol/https classes/sun/security/pkcs12 classes/sun/security/ssl classes/sun/security/krb5/*.class classes/sun/security/krb5/internal/*.class classes/sun/security/krb5/internal/ccache classes/sun/security/krb5/internal/crypto classes/sun/security/krb5/internal/ktab classes/sun/security/krb5/internal/rcache classes/sun/security/krb5/internal/util classes/sun/security/jgss/spi/GSSContextSpi.class)
make[2]: *** [sec-files] Error 12
>>>Making sec-files-win @ Thu Nov  5 11:30:31 EST 2009 ...
>>>Making jgss-files @ Thu Nov  5 11:30:31 EST 2009 ...
make[2]: Target `images' not remade because of errors.
>>>Finished making images @ Thu Nov  5 11:30:31 EST 2009 ...
make[1]: *** [jdk-build] Error 2
make[1]: Target `generic_build_repo_series' not remade because of errors.
make: *** [build_product_image] Error 2
Control bsd i586 1.7.0-internal all_product_build build finished: 
Control bsd i586 1.7.0-internal all build finished: 
make: Target `default' not remade because of errors.

Also, during the build, I saw errors like the following, but they did not stop the build from continuing:

All done.
cd bsd_i486_compiler2/product && ./test_gamma
java full version "1.6.0_03-p3-landonf_19_aug_2008_14_55-b00"
#
# A fatal error has been detected by the Java Runtime Environment:
#
#  SIGBUS (0xa) at pc=837535, pid=37323, tid=2693272832
#
# JRE version: 6.0_03
# Java VM: OpenJDK Server VM (16.0-b08 mixed mode bsd-x86 )
# Problematic frame:
# V  [libjvm.dylib+0xc379f]
#
# An error report file with more information is saved as:
# /Users/mporges/bsd-port/build/bsd-i586/hotspot/outputdir/bsd_i486_compiler2/product/hs_err_pid37323.log
#
# If you would like to submit a bug report, please visit:

At the end of the thread, Michael Franz states that he was able to build with gcc-4.0 and g++-4.0; I'm running version 4.2.1 of both tools on my machine, so this is a definite difference from Michael's environment. I also saw that Michael mentioned:

I am actually building using IcedTea 1.11, so it is the bootstrap JDK that cores when it tries to build OpenJDK.  The bootstrap is built with Apples JDK 5 and ecj.  This is the same process that I am using on Leopard and works fine.  The main difference is Leopard using gcc 4.0 and Snow uses gcc 4.2.  I tried with gcc 4.0 on snow but, there are compilation errors I have not worked through yet.

Unfortunately, this last comment goes beyond my knowledge of the JDK build process since I'm really just working from Stephen Bannasch's wiki article on building for 10.5; I could certainly get gcc/g++ 4.0 installed on my machine but I'm not sure how to configure IcedTea 1.11 in to the build if I would need to.

Does anybody know if there is any other work going on in the project to build OpenJDK 1.7.0 on the default Snow Leopard installation, or any step-through tutorials to that effect? I imagine in the absence of an Apple-released 1.7 JDK on the Mac that there must be some demand for a build of this nature. It would be great for a Snow Leopard build to be added to the page of prebuilt binaries. I'm obviously of limited use in this regard, but I'll be happy to help wherever I can to get this going.

Thanks,

-
 max



On Nov 5, 2009, at 8:58 AM, Mario Torre wrote:

Il 04/11/2009 23:34, Maxim Porges ha scritto:
I've diff'd a few of the files from that patch, and it looks like the
code I have included the patch from jdk7-b47. I exported my local copy
on September 23, 2009 from http://hg.openjdk.java.net/bsd-port/bsd-port,
so my guess would be that it was around jdk7-b73 based on the tag dates.

So, it looks like I have the current source, but it doesn't build on OS
X 10.6.1. Does anybody know of a way to get the build working on OS X?

Thanks,

- max

Hi Max,

As I replied before to the wrong thread, I repost:

There is a thread on this error on the BSD Port mailing list, maybe of
some help for you:

http://mail.openjdk.java.net/pipermail/bsd-port-dev/2009-September/000852.html

Cheers,
Mario
--
Mario Torre, Software Developer, http://www.jroller.com/neugens/
aicas Allerton Interworks Computer Automated Systems GmbH
Haid-und-Neu-Straße 18 * D-76131 Karlsruhe * Germany
http://www.aicas.com   * Tel: +49-721-663 968-44
pgp key: http://subkeys.pgp.net/ PGP Key ID: 80F240CF
Fingerprint: BA39 9666 94EC 8B73 27FA  FC7C 4086 63E3 80F2 40CF

USt-Id: DE216375633, Handelsregister HRB 109481, AG Mannheim
Geschäftsführer: Dr. James J. Hunt

Please, support open standards:
http://endsoftpatents.org/