Solaris Sparc version used to build binaries?
Erik Trimble
Erik.Trimble at Sun.COM
Tue Sep 15 20:37:07 PDT 2009
Dalibor Topic wrote:
> Byron Nevins wrote:
>
>> I've looked all over the openjdk site for instructions on building JDK6
>> on Solaris. Can you point me to instructions?
>>
>
> For the current OpenJDK 6 tip, I'll post an updated README-builds.html for
> review later but you could give this a try:
>
> OpenSolaris
>
> OpenSolaris 2009.06
>
> After installing OpenSolaris 2009.06 you need to install several build dependencies. The simplest way to install the build dependencies is to execute the following commands:
>
> pfexec pkg install SUNWgmake SUNWj6dev SUNWant sunstudioexpress SUNWcups SUNWzip SUNWunzip SUNWxwhl SUNWxorg-headers SUNWaudh SUNWfreetype2 SUNWmfrun
>
> In addition, it is necessary to set a few environment variables for the build:
>
> export LANG=C ALT_COMPILER_PATH=/opt/SunStudioExpress/bin/ ALT_CUPS_HEADERS_PATH=/usr/include/
>
> Finally, you need to make sure that the build process can find the Sun Studio compilers:
>
> export PATH=$PATH:/opt/SunStudioExpress/bin/
>
> Note that the instructions above are for OpenSolaris 2009.06, rather then Solaris 8,
> so YMMV - afaik 2009.06 has SPARC support, but I am not aware of an emulator
> that I could use to install that version in to produce build docs with. VirtualBox
> rocks for x86 & amd64, though.
>
> cheers,
> dalibor topic
>
>
Joe & Dalibor have the general instructions correct.
As a further followup:
Right now, the "official" build platform for JDK 6 on SPARC is:
* Solaris 8 02/04 with latest SunSolve Recommended Patch Cluster
* Latest S8 J2SE Recommended Patch Cluster
* SunStudio 11 compilers with latest Patch cluster
However, as HS14 and later were originally developed for JDK 7, there
the official SPARC build platform is:
* Solaris 10 06/06 (Update 2)
* Latest S10 J2SE Recommended Patch Cluster
* SunStudio 12 compiler + patches
In addition, we use a slightly customized (read: bugfixed) version of
ccache ( http://ccache.samba.org/ ) to drastically speed up our repeat
builds. I would recommend setting your ccache directory to /tmp (or
other tmpfs directory) - which is one of the reasons I'd seriously
increase your available RAM beyond the stated minimums.
Frankly, I would most likely recommend a blend of the two for optimal
compatibility and availability:
* Solaris 10 (if you can get 06/06, use it, otherwise, get the latest
update available [05/09 right now] ) + s10 J2SE patches + SS11 compilers
Note, that for S10, I _don't_ recommend putting on the latest OS patch
cluster. Just use the J2SE patch cluster. This is for building only, of
course. Production systems should always install the latest OS patch
cluster.
I have yet to try out building/testing the JDK in Solaris Zones, but
that will likely happen sometime this calendar year. In particular, I'm
interested in getting Solaris 8 zones on a Solaris 10 host.
As another note, I think we seriously need to update the RAM
requirements for all platforms. Realistically, if you'd like your
Solaris box not to swap all day, 2GB is the bare minimum amount needed
to do the build, run the OS, and NOT run the GUI. Realistically, I like 8GB.
For information's sake, here's quick output from our build system as to
the time it takes to build Hotspot for the JDK 6 and JDK 7 :
Build (Release:jdk6u14 Boot:<jdk6fcs> Import:<jdk6u14>):
solaris_sparc_5.8-product success(40m 19s elapsed)
solaris_sparc_5.8-fastdebug success(1h 26m 04s elapsed)
solaris_sparc_5.8-debug success(35m 54s elapsed)
solaris_sparcv9_5.8-product success(22m 08s elapsed)
solaris_sparcv9_5.8-fastdebug success(46m 28s elapsed)
solaris_sparcv9_5.8-debug success(20m 09s elapsed)
solaris_i586_5.8-product success(22m 22s elapsed)
solaris_i586_5.8-fastdebug success(1h 08m 46s elapsed)
solaris_i586_5.8-debug success(21m 26s elapsed)
solaris_x64_5.10-product success(07m 51s elapsed)
solaris_x64_5.10-fastdebug success(32m 38s elapsed)
solaris_x64_5.10-debug success(02m 58s elapsed)
linux_i586_2.4-product success(25m 11s elapsed)
linux_i586_2.4-fastdebug success(19m 53s elapsed)
linux_i586_2.4-debug success(16m 54s elapsed)
linux_x64_2.4-product success(18m 44s elapsed)
linux_x64_2.4-fastdebug success(30m 38s elapsed)
windows_i586_5.0-product success(10m 25s elapsed)
windows_i586_5.0-fastdebug success(11m 25s elapsed)
windows_i586_5.0-debug success(09m 42s elapsed)
windows_x64_5.2-product success(07m 23s elapsed)
windows_x64_5.2-fastdebug success(08m 23s elapsed)
windows_x64_5.2-debug success(05m 18s elapsed)
Build (Release:jdk7 Boot:<jdk6fcs> Import:<jdk7>):
solaris_sparc_5.10-product success(29m 57s elapsed)
solaris_sparc_5.10-fastdebug success(58m 15s elapsed)
solaris_sparc_5.10-debug success(30m 48s elapsed)
solaris_sparcv9_5.10-product success(19m 47s elapsed)
solaris_sparcv9_5.10-fastdebug success(29m 54s elapsed)
solaris_sparcv9_5.10-debug success(16m 52s elapsed)
solaris_i586_5.10-product success( 14m elapsed)
solaris_i586_5.10-fastdebug success(51m 13s elapsed)
solaris_i586_5.10-debug success(13m 54s elapsed)
solaris_x64_5.10-product success(10m 06s elapsed)
solaris_x64_5.10-fastdebug success(19m 32s elapsed)
solaris_x64_5.10-debug success(11m 37s elapsed)
linux_i586_2.6-product success(09m 02s elapsed)
linux_i586_2.6-fastdebug success(10m 19s elapsed)
linux_i586_2.6-debug success(06m 58s elapsed)
linux_x64_2.6-product success(06m 14s elapsed)
linux_x64_2.6-fastdebug success(06m 01s elapsed)
windows_i586_5.0-product success(22m 10s elapsed)
windows_i586_5.0-fastdebug success(21m 33s elapsed)
windows_i586_5.0-debug success(24m 09s elapsed)
windows_x64_5.2-product success(14m 23s elapsed)
windows_x64_5.2-fastdebug success(14m 51s elapsed)
windows_x64_5.2-debug success(10m 51s elapsed)
This is across a relatively wide variety of hardware, so it's not
completely comparable between OSes (e.g. most of the SPARC boxes are
US3-based, while the solaris x64 boxes are 16-core X4600, but the
win64-boxes are 4-core X4100 machines).
In general, for doing plain -product builds of 32-bit and 64-bit SPARC,
I would expect roughly these times on these hardware:
Victoria Falls T2 machines (T5120): 20 minutes
Niagara T1 machines (T1000/T2000): 22 minutes
US4-generation machines (v490, v890, sf 2900): 24 minutes
US3-generation machines (e.g. v210, v440, v445, SB2500): 30 minutes
US2-generation enterprise machines (e4500 & up): 45 minutes
US2-generation workgroup/desktops (e450, ultra 60/80): 100 minutes
I haven't personally done builds on any M-class hardware yet, so I don't
know times for them. The Niagara stuff is best, as Hotspot's build is
highly parallel. Unfortunately, this is less true for the JDK itself.
Frankly, if I could chose the best bang/$ SPARC hardware to build both
the VM and JDK on, I'd do the VM on a T1000, and the JDK on a V490 or
M4000.
--
Erik Trimble
Java System Support
Mailstop: usca22-123
Phone: x17195
Santa Clara, CA
More information about the jdk6-dev
mailing list