JDK8 autoconf - status
Steve Poole
spoole at linux.vnet.ibm.com
Wed Feb 20 01:10:58 PST 2013
hi al.
Thought I'd share where I am with building jdk8 from the ppcaix repo.
These instructions are based on JDK8 tip being at 23e7d090ce56 and using AIX 7.1
1 - check out http://hg.openjdk.java.net/ppc-aix-port/jdk8// using your normal routine
2 - Delete common/autoconf/generated-configure.sh
This is to be sure that you pick up all the new build changes changes made.
I'm not sure why generated-config.sh is booked into the repo but its a pain
3 - set ulimit -d 1000000
4 - set ulimit -s 4000
5 - export OBJECT_MODE=64
This is needed to workaround the autoconf check for pointer sizes.
In platform.m4 you will fine a call to AC_CHECK_SIZEOF([int *], [1111])
that under the covers builds c program to calculate size of int *.
Unfortunately I couldn't find a way to change the compile arguments for this process
(the usual CFLAGS or equivalent didn't work - there is a reference to the same problem on
the autoconf forums back in 2008 so it may be a permanent issue)
So was stuck with the default 32 mode - which means the check failed as it calculated
32 bits when we have already told autoconf we are targetting a 64 bit platform.
The export above works around this problem but is likely to mean we've missed other
places where we should be adding xlc compiler specific args such as -q64
6 - chmod +x on ./configure for convenience
Now we're ready to build...
There are two options available - both end in ultimate failure but one takes you further along
compiling the class libraries
Option A
The simplest, hit build problems with hotspot first..
./configure \
--with-boot-jdk=<path-to-a-ppcaix-jdk7-home-directory> \
-with-cups-include=/opt/freeware/include
Note the use of -with-cups-include directive.
xlc doesn't know about the freeware includes as you would expect.
This is probably a short term workaround and will go once I've figured out the autoconf magic
Now run make
This will fail when the process attempts to build Hotspot with nmake.
Option B
./configure \
--with-boot-jdk=<path-to-a-ppcaix-jdk7-home-directory> \
-with-cups-include=/opt/freeware/include \
--with-import-hotspot=/path-to-a-ppcaix-jdk7-home-directory>
This option bypasses the building of hotspot and assumes it can pull in a prebuilt binary later.
Run make
This will fail by claiming *** No rule to make target `<snip/>/jdk8/build/aix-ppc64-normal-server-release/jdk/lib/ppc64/server/jsig', needed by `all'. Stop.
There we go. I'd appreciate it if others could try this out and let me know if they get the same results - any suggestions / fixes would be welcome :-)
Cheers
Steve
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.openjdk.java.net/pipermail/ppc-aix-port-dev/attachments/20130220/05bc8a7e/attachment.html
More information about the ppc-aix-port-dev
mailing list