JDK8u20 build failure [Was: OpenJDK9 build failure]
Tiago Stürmer Daitx
tdaitx at br.ibm.com
Wed Sep 3 21:00:21 UTC 2014
On Thu, 2014-06-26 at 09:30 +0200, Volker Simonis wrote:
> Hi David, Tiago,
>
> sorry for the daly, but I was on leave during the last two weeks.
>
> I already have a patch for the 'format specifier issue' and will post
> a webrev later today.
I hit the same issue Today on jdk8u20 from
http://hg.openjdk.java.net/jdk8u/jdk8u20-dev/
By looking at bug I see it reports as affecting 8u40 and 9 (I failed to
notice this before), is any fix expected for 8u20 or is it too late for
that?
Regards,
Tiago
>
> @David: thanks for creating the bug!
>
> Regards,
> Volker
>
>
> On Thu, Jun 26, 2014 at 8:43 AM, David Holmes <david.holmes at oracle.com> wrote:
> > On 26/06/2014 2:43 PM, Tiago Stürmer Daitx wrote:
> >>
> >> On Thu, 2014-06-26 at 12:33 +1000, David Holmes wrote:
> >>>
> >>> Hi,
> >>>
> >>> The ptrace issue has been fixed:
> >>>
> >>> https://bugs.openjdk.java.net/browse/JDK-8046408
> >>>
> >>> but it is in the hs-gc forest and not yet propagated up to jdk9/dev.
> >>>
> >>> I don't think the format error has been reported yet.
> >>
> >>
> >> David,
> >>
> >> thanks for the pointer on the ptrace fix. I'm sorry that I didn't check
> >> JBS beforehand.
> >>
> >> I don't have an account in JBS, thus I'm unable to create a bug report
> >> for the format error. What would be the right approach here?
> >
> >
> > I have created:
> >
> > https://bugs.openjdk.java.net/browse/JDK-8048169
> >
> > "Incorrect format specifier used in
> > src/share/vm/interpreter/bytecodeInterpreterProfiling.hpp:95"
> >
> > David
> > -----
> >
> >
> >> Regards,
> >> Tiago
> >>
> >>>
> >>> David
> >>>
> >>> On 26/06/2014 4:18 AM, Tiago Stürmer Daitx wrote:
> >>>>
> >>>> Adding hotspot-dev to the thread.
> >>>>
> >>>> On Wed, 2014-06-18 at 11:52 -0300, Tiago Sturmer Daitx wrote:
> >>>>
> >>>> tl;dr I have had problems building JDK9 due to -Werror=format flag on
> >>>> gcc/g++ 4.8.2
> >>>> and also due to hotspot/agent/src/os/linux/libproc.h including
> >>>> linux/ptrace.h instead of sys/ptrace.h
> >>>>
> >>>>
> >>>> I have been trying to build JDK9 from
> >>>> http://hg.openjdk.java.net/jdk9/dev (or /hs-comp or /jdk9) and JDK8u
> >>>> from http://hg.openjdk.java.net/jdk8u/jdk8u/
> >>>>
> >>>> First, I'm seeing the following on JDK9 only:
> >>>>
> >>>>
> >>>> /usr/bin/g++ -DLINUX -D_GNU_SOURCE -DPPC64 -DPRODUCT -I.
> >>>> -I/home/tdaitx/jdk9-dev/hotspot/src/share/vm/prims
> >>>> -I/home/tdaitx/jdk9-dev/hotspot/sr
> >>>> c/share/vm -I/home/tdaitx/jdk9-dev/hotspot/src/share/vm/precompiled
> >>>> -I/home/tdaitx/jdk9-dev/hotspot/src/cpu/ppc/vm
> >>>> -I/home/tdaitx/jdk9-dev/hot
> >>>> spot/src/os_cpu/linux_ppc/vm
> >>>> -I/home/tdaitx/jdk9-dev/hotspot/src/os/linux/vm
> >>>> -I/home/tdaitx/jdk9-dev/hotspot/src/os/posix/vm -I../generated -D
> >>>> HOTSPOT_BUILD_TARGET="\"product\"" -DHOTSPOT_BUILD_USER="\"tdaitx\""
> >>>> -DHOTSPOT_LIB_ARCH=\"ppc64\" -DHOTSPOT_VM_DISTRO="\"OpenJDK\""
> >>>> -DTARGET_
> >>>> OS_FAMILY_linux -DTARGET_ARCH_ppc -DTARGET_ARCH_MODEL_ppc_64
> >>>> -DTARGET_OS_ARCH_linux_ppc -DTARGET_OS_ARCH_MODEL_linux_ppc_64
> >>>> -DTARGET_COMPILER_
> >>>> gcc -DCOMPILER2 -fPIC -fno-rtti -fno-exceptions -D_REENTRANT -fcheck-new
> >>>> -fvisibility=hidden -m64 -DCC_INTERP -pipe -fno-strict-aliasing -fno
> >>>> -omit-frame-pointer -O3 -g -D_LP64=1 -mminimal-toc -mcpu=powerpc64
> >>>> -mtune=power5 -minsert-sched-nops=regroup_exact -mno-multiple
> >>>> -mno-string
> >>>> -Werror -Wpointer-arith -Wsign-compare -Wundef -Wunused-function
> >>>> -Wunused-value -Wformat=2 -Wno-strict-aliasing -Werror
> >>>> -DDTRACE_ENABLED -c
> >>>> -MMD -MP -MF ../generated/dependencies/bytecodes.o.d -fpch-deps -o
> >>>> bytecodes.o
> >>>> /home/tdaitx/jdk9-dev/hotspot/src/share/vm/interpreter/bytecod
> >>>> es.cpp
> >>>> Compiling /home/tdaitx/jdk9-dev/hotspot/src/cpu/ppc/vm/bytecodes_ppc.cpp
> >>>> rm -f bytecodes_ppc.o
> >>>> In file included
> >>>> from
> >>>> /home/tdaitx/jdk9-dev/hotspot/src/share/vm/interpreter/bytecodeInterpreter.cpp:31:0:
> >>>>
> >>>> /home/tdaitx/jdk9-dev/hotspot/src/share/vm/interpreter/bytecodeInterpreter.cpp:
> >>>> In static member function ‘static void
> >>>> BytecodeInterpreter::run(interpreterState)’:
> >>>>
> >>>> /home/tdaitx/jdk9-dev/hotspot/src/share/vm/interpreter/bytecodeInterpreterProfiling.hpp:95:17:
> >>>> error: format ‘%lx’ expects argument of type ‘long unsigned int’, but
> >>>> argument 5 has type ‘DataLayout*’ [-Werror=format=]
> >>>> );
> >>>>
> >>>> Pasted at http://fpaste.org/110642/30430021/ (and there are many many
> >>>> lines with
> >>>> similar errors until the build is aborted).
> >>>>
> >>>> After ignoring the error ('CFLAGS="-Wno-error=format" make' or editing
> >>>> make/linux/makefiles/gcc.make to remove "-Werror=format"), I get the
> >>>> following on JDK9:
> >>>>
> >>>>
> >>>> Making SA debugger back-end...
> >>>> /usr/bin/gcc -Dppc64 -D_GNU_SOURCE \
> >>>> -D_FILE_OFFSET_BITS=64 \
> >>>> -g -m64 -shared -fPIC \
> >>>> -I/home/tdaitx/jdk9-dev/hotspot/agent/src/os/linux
> >>>> \
> >>>> -I../generated \
> >>>>
> >>>> -I/home/tdaitx/build/jdk8-at60-power5/images/j2sdk-image/include
> >>>> \
> >>>>
> >>>>
> >>>> -I/home/tdaitx/build/jdk8-at60-power5/images/j2sdk-image/include/linux
> >>>> \
> >>>>
> >>>> \
> >>>>
> >>>> /home/tdaitx/jdk9-dev/hotspot/agent/src/os/linux/salibelf.c
> >>>> /home/tdaitx/jdk9-dev/hotspot/agent/src/os/linux/symtab.c
> >>>> /home/tdaitx/jdk9-dev/hotspot/agent/src/os/linux/libproc_impl.c
> >>>> /home/tdaitx/jdk9-dev/hotspot/agent/src/os/linux/ps_proc.c
> >>>> /home/tdaitx/jdk9-dev/hotspot/agent/src/os/linux/ps_core.c
> >>>> /home/tdaitx/jdk9-dev/hotspot/agent/src/os/linux/LinuxDebuggerLocal.c
> >>>> /home/tdaitx/jdk9-dev/hotspot/agent/src/share/native/sadis.c
> >>>> \
> >>>> -Xlinker
> >>>>
> >>>> --version-script=/home/tdaitx/jdk9-dev/hotspot/agent/src/os/linux/mapfile
> >>>> -Wl,--hash-style=both \
> >>>> \
> >>>> -Wno-strict-aliasing -Werror
> >>>> \
> >>>> -o libsaproc.so
> >>>> \
> >>>> -lthread_db
> >>>> In file included
> >>>> from /home/tdaitx/jdk9-dev/hotspot/agent/src/os/linux/libproc.h:37:0,
> >>>>
> >>>> from
> >>>> /home/tdaitx/jdk9-dev/hotspot/agent/src/os/linux/libproc_impl.h:30,
> >>>>
> >>>> from /home/tdaitx/jdk9-dev/hotspot/agent/src/os/linux/ps_proc.c:33:
> >>>> /usr/include/linux/ptrace.h:58:8: error: redefinition of ‘struct
> >>>> ptrace_peeksiginfo_args’
> >>>> struct ptrace_peeksiginfo_args {
> >>>> ^
> >>>> In file included
> >>>> from /home/tdaitx/jdk9-dev/hotspot/agent/src/os/linux/ps_proc.c:32:0:
> >>>> /usr/include/sys/ptrace.h:161:8: note: originally defined here
> >>>> struct ptrace_peeksiginfo_args
> >>>>
> >>>>
> >>>> Pasted at http://fpaste.org/110640/42657140/
> >>>>
> >>>> For JDK8 see: http://fpaste.org/110638/40304229/
> >>>>
> >>>> I see that both sys/ptrace.h and linux/ptrace.h have been included:
> >>>>
> >>>> $ grep -r ptrace.h hotspot/
> >>>> hotspot/agent/src/os/linux/ps_proc.c:#include <sys/ptrace.h>
> >>>> hotspot/agent/src/os/linux/libproc.h:#include <linux/ptrace.h>
> >>>>
> >>>> Usually linux/ptrace.h is used by glibc to do syscall, wile sys/ptrace.h
> >>>> is used by app code to do library calls (thanks Maynard for the info).
> >>>>
> >>>> After editing hotspot/agent/src/os/linux/libproc.h to use sys/ptrace.h
> >>>> I'm able to build both JDK8 & JDK9.
> >>>>
> >>>> Some settings:
> >>>>
> >>>> JDK8 configure:
> >>>> $ ./configure \
> >>>> --with-boot-jdk=/home/tdaitx/icedtea7/openjdk.build/j2sdk-image/ \
> >>>> --with-jvm-variants=server --with-jvm-interpreter=cpp \
> >>>> --with-extra-cflags=-Wno-strict-aliasing
> >>>>
> >>>> JDK9 configure is similar but I point it to a JDK8 build.
> >>>>
> >>>> Make for JDK8 and JDK9:
> >>>> $ make JOBS=8 LOG=debug
> >>>>
> >>>>
> >>>>
> >>>> $ /usr/bin/gcc -v # g++ is the same, except for COLLECT_GCC
> >>>> Using built-in specs.
> >>>> COLLECT_GCC=/usr/bin/gcc
> >>>>
> >>>> COLLECT_LTO_WRAPPER=/usr/libexec/gcc/ppc64-redhat-linux/4.8.2/lto-wrapper
> >>>> Target: ppc64-redhat-linux
> >>>> Configured with: ../configure --prefix=/usr --mandir=/usr/share/man
> >>>> --infodir=/usr/share/info
> >>>> --with-bugurl=http://bugzilla.redhat.com/bugzilla --enable-bootstrap
> >>>> --enable-shared --enable-threads=posix --enable-checking=release
> >>>> --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions
> >>>> --enable-gnu-unique-object --enable-linker-build-id
> >>>> --with-linker-hash-style=gnu --enable-languages=c,c++,objc,obj-c
> >>>> ++,java,fortran,ada,go,lto --enable-plugin --enable-initfini-array
> >>>> --enable-java-awt=gtk --disable-dssi
> >>>> --with-java-home=/usr/lib/jvm/java-1.5.0-gcj-1.5.0.0/jre
> >>>> --enable-libgcj-multifile --enable-java-maintainer-mode
> >>>> --with-ecj-jar=/usr/share/java/eclipse-ecj.jar
> >>>> --disable-libjava-multilib
> >>>>
> >>>> --with-isl=/builddir/build/BUILD/gcc-4.8.2-20131212/obj-ppc64-redhat-linux/isl-install
> >>>> --with-cloog=/builddir/build/BUILD/gcc-4.8.2-20131212/obj-ppc64-redhat-linux/cloog-install
> >>>> --enable-secureplt --with-long-double-128 --build=ppc64-redhat-linux
> >>>> Thread model: posix
> >>>> gcc version 4.8.2 20131212 (Red Hat 4.8.2-7) (GCC)
> >>>>
> >>>> $ cat /etc/redhat-release
> >>>> Fedora release 20 (Heisenbug)
> >>>>
> >>>> $ rpm -qf /usr/include/linux/ptrace.h
> >>>> kernel-headers-3.14.5-200.fc20.ppc64p7
> >>>>
> >>>> $ rpm -qf /usr/include/sys/ptrace.h
> >>>> glibc-headers-2.18-12.fc20.ppc64p7
> >>>>
> >>>> Let me know if you need any additional info.
> >>>>
> >>>> Regards,
> >>>> Tiago
> >>>>
> >>>
> >>
> >>
> >
>
--
Tiago Stürmer Daitx
Linux Technology Center [LTC|IBM]
tdaitx at br.ibm.com
More information about the ppc-aix-port-dev
mailing list