Can't build jdk9-dev due to conflicting includes

Daniel D. Daugherty daniel.daugherty at oracle.com
Fri Jun 20 13:19:07 UTC 2014


Adding the Serviceability group since SA belongs to them...

I believe that this issue is solved by this changeset:

Changeset: 64e35dfa4ff5
Author:    jwilhelm
Date:      2014-06-13 17:07 -0400
URL: http://hg.openjdk.java.net/jdk9/hs/hotspot/rev/64e35dfa4ff5

8046408: Build failure from multiple ptrace.h
Summary: prefer <sys/ptrace.h> over <linux/ptrace.h>
Reviewed-by: sla, mikael
Contributed-by: kim.barrett at oracle.com


That changeset was pushed to JDK9-hs yesterday which means it
should be in JDK9-dev next week (presuming all goes well with
the weekend PIT of today's snapshot).

Dan


On 6/20/14 5:59 AM, Peter Levart wrote:
> Hi,
>
> I get the following compile error when building on Fedora 20, 64 Bit:
>
> Compiling 
> /home/peter/work/hg/jdk9-dev/hotspot/src/share/vm/utilities/workgroup.cpp
> Compiling 
> /home/peter/work/hg/jdk9-dev/hotspot/src/share/vm/utilities/xmlstream.cpp
> Compiling 
> /home/peter/work/hg/jdk9-dev/hotspot/src/share/vm/utilities/yieldingWorkgroup.cpp
> Making signal interposition lib...
> Making SA debugger back-end...
> In file included from 
> /home/peter/work/hg/jdk9-dev/hotspot/agent/src/os/linux/libproc.h:37:0,
>                  from 
> /home/peter/work/hg/jdk9-dev/hotspot/agent/src/os/linux/libproc_impl.h:30,
>                  from 
> /home/peter/work/hg/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/peter/work/hg/jdk9-dev/hotspot/agent/src/os/linux/ps_proc.c:32:0:
> /usr/include/sys/ptrace.h:191:8: note: originally defined here
>  struct ptrace_peeksiginfo_args
>         ^
> gmake[6]: *** [libsaproc.so] Error 1
> gmake[6]: *** Waiting for unfinished jobs....
> gmake[5]: *** [the_vm] Error 2
> gmake[4]: *** [product] Error 2
> gmake[3]: *** [generic_build2] Error 2
> gmake[2]: *** [product] Error 2
> gmake[1]: *** 
> [/home/peter/work/hg/jdk9-dev/build/linux-x86_64-normal-server-release/hotspot/_hotspot.timestamp] 
> Error 2
> make: *** [hotspot-only] Error 2
>
>
> ...it seems there are 2 definitions of "struct 
> ptrace_peeksiginfo_args" in 2 different system include files:
>
> /usr/include/linux/ptrace.h
> /usr/include/sys/ptrace.h
>
> ...they are included by the following two hostpot files in 
> jdk9-dev/hotspot/agent/src/os/linux:
>
> libproc.h:#include <linux/ptrace.h>
> ps_proc.c:#include <sys/ptrace.h>
>
>
> Which one is the right one?
>
> Regards, Peter
>



More information about the serviceability-dev mailing list