Linux PPC JDK8 build failure
Volker Simonis
volker.simonis at gmail.com
Tue Apr 30 07:04:54 PDT 2013
Hi Steve,
I've noticed it and I've fixed it already (will push it right now -
the Solaris and Linux test builds just finished successfully).
I agree with you that we shouldn't change the Makefiles for this one
occurrence of USE_PTHREADS especially because it doesn't seem to be
used in any other place any more.
So I fixed it similarly to your suggestion with the only exception
that instead of using "if defined(__linux__) || defined(__aix__)" I
just inverted the logic to "if !defined(__solaris__)" which seems more
robust in this context (would also work on HPUX for example:)
I would also advocate to run at least linux/x86_64 and Linux/ppc
builds before submitting any changes. That's really easy now with JDK8
and needs not more than 20 minutes:)
Regards,
Volker
On Tue, Apr 30, 2013 at 3:38 PM, Steve Poole <spoole at linux.vnet.ibm.com> wrote:
> hi all - been looking at the linux build failure :
>
>
> /home/spoole/jenkins/workspace/openjdk.ppcaix.jdk8.linux.ppc_64/jdk/src/solaris/bin/java_md_solinux.c: In function ‘ContinueInNewThread0’:
> /home/spoole/jenkins/workspace/openjdk.ppcaix.jdk8.linux.ppc_64/jdk/src/solaris/bin/java_md_solinux.c:1031: error: ‘thread_t’ undeclared (first use in this function)
> /home/spoole/jenkins/workspace/openjdk.ppcaix.jdk8.linux.ppc_64/jdk/src/solaris/bin/java_md_solinux.c:1031: error: (Each undeclared identifier is reported only once
> /home/spoole/jenkins/workspace/openjdk.ppcaix.jdk8.linux.ppc_64/jdk/src/solaris/bin/java_md_solinux.c:1031: error: for each function it appears in.)
> /home/spoole/jenkins/workspace/openjdk.ppcaix.jdk8.linux.ppc_64/jdk/src/solaris/bin/java_md_solinux.c:1031: error: expected ‘;’ before ‘tid’
> /home/spoole/jenkins/workspace/openjdk.ppcaix.jdk8.linux.ppc_64/jdk/src/solaris/bin/java_md_solinux.c:1033: warning: implicit declaration of function ‘thr_create’
> /home/spoole/jenkins/workspace/openjdk.ppcaix.jdk8.linux.ppc_64/jdk/src/solaris/bin/java_md_solinux.c:1033: error: ‘tid’ undeclared (first use in this function)
> /home/spoole/jenkins/workspace/openjdk.ppcaix.jdk8.linux.ppc_64/jdk/src/solaris/bin/java_md_solinux.c:1035: warning: implicit declaration of function ‘thr_join’
> /home/spoole/jenkins/workspace/openjdk.ppcaix.jdk8.linux.ppc_64/jdk/src/solaris/bin/java_md_solinux.c:1036: warning: cast from pointer to integer of different size
> gmake[2]: *** [/home/spoole/jenkins/workspace/openjdk.ppcaix.jdk8.linux.ppc_64/build/linux-ppc64-normal-server-slowdebug/jdk/objs/libjli/java_md_solinux.o] Error 1
>
>
> It seems to be due to a difference between our change in java_md_solinux.c (where we have made using pthreads conditional on USE_PTHREADS) and the autoconf process.
>
> It seems that our additions of -DUSE_PTHREADS on the linux and aix CFLAGS var (and others) is not being honoured anymore.
>
> In theory I'd suggest we push the "use pthreads or not" decision up to the top level platform config files. However it seems that the only place where using pthreads is a problem is right here within the java_md_solinux.c file. So I think the more pragmatic answer is to just revert the change in java_md_solinux.c back to make using pthreads conditional on __linux__ and then add an additional __aix__ check.
>
> the proposed diff looks like this below.
>
> Comments please on whether we should go this way or look for a more comprehensive change..
>
>
>
> --- a/src/solaris/bin/java_md_solinux.c Mon Apr 29 17:54:18 2013 +0200
> +++ b/src/solaris/bin/java_md_solinux.c Tue Apr 30 14:36:04 2013 +0100
> @@ -1002,7 +1002,7 @@
> int
> ContinueInNewThread0(int (JNICALL *continuation)(void *), jlong stack_size, void * args) {
> int rslt;
> -#ifdef USE_PTHREADS
> +#if defined(__linux__) || defined(__aix__)
> pthread_t tid;
> pthread_attr_t attr;
> pthread_attr_init(&attr);
>
>
>
>
>
>
>
>
More information about the ppc-aix-port-dev
mailing list