JDK8 build on AIX - status?
Volker Simonis
volker.simonis at gmail.com
Tue May 7 04:54:55 PDT 2013
Yes, that was the failure I was seeing yesterday. It's caused by the wrong
'-MMD' option to xlc (which have to be fixed in toolchain.m4 as I wrote
before).
I've got past this error and fixed several others. I'll post my changes
later today with the status of my build...
On Tue, May 7, 2013 at 1:06 PM, Steve Poole <spoole at linux.vnet.ibm.com>wrote:
> ok - added your patch and now have a build that fails with below - is the
> same as you're seeing?
>
> echo > /dev/null "Compiling genSocketOptionRegistry.c (for genSocketOptionRegistry)"
> /usr/vac/bin/xlc -DTHIS_FILE='"genSocketOptionRegistry.c"' -c -MMD -MF /home/spoole/jenkins/workspace/openjdk.ppcaix.jdk8.aix.ppc_64/build/aix-ppc64-normal-server-slowdebug/jdk/gensrc/genSocketOptionRegistry/genSocketOptionRegistry.d -o /home/spoole/jenkins/workspace/openjdk.ppcaix.jdk8.aix.ppc_64/build/aix-ppc64-normal-server-slowdebug/jdk/gensrc/genSocketOptionRegistry/genSocketOptionRegistry.o /home/spoole/jenkins/workspace/openjdk.ppcaix.jdk8.aix.ppc_64/jdk/src/share/native/sun/nio/ch/genSocketOptionRegistry.c
> /usr/vac/bin/xlc: 1501-208 (S) command option D is missing a subargument
>
>
>
> On 7 May 2013, at 09:33, Volker Simonis <volker.simonis at gmail.com> wrote:
>
>
>
>
> On Tue, May 7, 2013 at 9:40 AM, Steve Poole <spoole at linux.vnet.ibm.com>wrote:
>
>>
>> On 6 May 2013, at 18:16, Volker Simonis <volker.simonis at gmail.com> wrote:
>>
>> > Hi,
>> >
>> > I've started today to have a look at the new, configure based JDK8
>> build on AIX.
>> >
>> > On AIX 7.1 with XLC 12 and the same set-up as described in our
>> README-ppc.html for JDK7 (plus the additional installation of 'mktemp' from
>> http://www.lunch.org.uk/aix/rpms/mktemp-1.5-1.aix5.2.ppc.rpm) I could
>> successfully configure the build with the following command line:
>> >
>> > bash /usr/work/d046063/OpenJDK/ppc-aix-port/jdk8/configure
>> --with-boot-jdk=/usr/work/openjdk/nb/rs6000_64/last_known_good/output-jdk7u/j2sdk-image
>> --with-jvm-variants=server --with-jvm-interpreter=cpp
>> --with-debug-level=slowdebug --with-extra-cflags=-q64
>> --with-extra-cxxflags=-q64 CFLAGS=-q64 CXXFLAGS=-q64
>> --with-cups-include=/opt/freeware/include
>> >
>> That doesn't work for me fails with:
>>
>> checking build system type... config.sub: missing argument
>> Try `config.sub --help' for more information.
>> configure: error: /bin/sh ./common/autoconf/build-aux/config.sub failed
>>
>>
> Have you recreated generated-configure.sh?
>
>
>>
>> I will try a completely new clone and build...
>>
>>
> Yes, please regenerate generated-configure.sh and retry. For your
> convenience I've attached my new generated-configure.sh to this mail.
>
>
>> > The build runs successfully until it reaches the JDK part where it
>> stops because of incorrect compiler settings. With the following little
>> patch I get further until the compilation of 'genSocketOptionRegistry.c':
>> >
>> > diff -r e199be36af79 common/autoconf/toolchain.m4
>> > --- a/common/autoconf/toolchain.m4 Thu May 02 16:22:31 2013 +0100
>> > +++ b/common/autoconf/toolchain.m4 Mon May 06 19:09:16 2013 +0200
>> > @@ -569,6 +569,29 @@
>> > POST_STRIP_CMD="$STRIP -x"
>> > POST_MCS_CMD="$MCS -d -a \"JDK $FULL_VERSION\""
>> > fi
>> > + if test "x$OPENJDK_TARGET_OS" = xaix; then
>> > + COMPILER_NAME=xlc
>> > + PICFLAG="-qpic=large"
>> > + LIBRARY_PREFIX=lib
>> > + SHARED_LIBRARY='lib[$]1.so'
>> > + STATIC_LIBRARY='lib[$]1.a'
>> > + SHARED_LIBRARY_FLAGS="-qmkshrobj"
>> > + SHARED_LIBRARY_SUFFIX='.so'
>> > + STATIC_LIBRARY_SUFFIX='.a'
>> > + OBJ_SUFFIX='.o'
>> > + EXE_SUFFIX=''
>> > + SET_SHARED_LIBRARY_NAME=''
>> > + SET_SHARED_LIBRARY_MAPFILE=''
>> > + C_FLAG_REORDER=''
>> > + CXX_FLAG_REORDER=''
>> > + SET_SHARED_LIBRARY_ORIGIN=''
>> > + SET_EXECUTABLE_ORIGIN=""
>> > + CFLAGS_JDK=""
>> > + CXXFLAGS_JDK=""
>> > + CFLAGS_JDKLIB_EXTRA=''
>> > + POST_STRIP_CMD="$STRIP -x"
>> > + POST_MCS_CMD=""
>> > + fi
>> >
>> > The next task would now be to integrate all the needed compiler flags
>> for xlc into 'toolchain.m4'.
>> >
>> > Did you already start this task and if yes, how far have you reached
>> with the build.
>>
>> Yes - we did do the basics (including teaching toolschain about xlc )
>>
>>
>> http://mail.openjdk.java.net/pipermail/ppc-aix-port-dev/2013-February/000322.html
>>
>>
> Yes, I know but that's not enough. The error you reported in that mail
> ("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.") is occurs because the build doesn't know the
> shared library endings on AIX (i.e. it looks for 'jsig' instead of
> 'jsig.so'). This is fixed by the snippet I posted in my previous mail but
> that's just a starting point as well. We have to set all the required xlc
> options in toolchain.m4 to get further. The bad thing is that some options
> (e.g. -MMD -MF) are set unconditionally in toolchain.m4 and then refined
> based on plattform and compiler. So if we do nothing, the xlc build on AIX
> uses these options and that's why it currently fails.
>
>
>> The codebase has moved on a little since then so we have a couple more
>> changes to come for src/solaris/native/common/jdk_util_md.h and
>> src/solaris/native/java/io/io_util_md.c
>> b/src/solaris/native/java/io/io_util_md.c
>>
>> Let me make sure I can reproduce your situation and then lets talk about
>> the next changes required..
>>
>
> So I'll start with the compiler settings for xlc in toolchain.m4
>
> > If you have any build related changes, could you please share them on
>> the list in a timely manner to avoid doubling the work and to possibly
>> discuss them before submission.
>> >
>> > Thank you and best regards,
>> > Volker
>> >
>>
>>
> <generated-configure.sh>
>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.openjdk.java.net/pipermail/ppc-aix-port-dev/attachments/20130507/83b67bfc/attachment-0001.html
More information about the ppc-aix-port-dev
mailing list