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