build failure in perfMemory_solaris.cpp?

Anthony Scarpino anthony.scarpino at oracle.com
Fri Jan 23 18:26:40 UTC 2015


I created one:

https://bugs.openjdk.java.net/browse/JDK-8071501

Tony

On 01/23/2015 10:07 AM, Bradford Wetmore wrote:
> Is there a bug id yet?  I haven't seen one showing up in a quick search
> for dd_fd or perfMemory_solaris.cpp.
>
> For the record, I'm on what I think is the required platform/compilers:
>
> % uname -a
> SunOS sca00bkv 5.11 11.1 sun4v sparc sun4v
>
> % more /etc/release
>                              Oracle Solaris 11.1 SPARC
>    Copyright (c) 1983, 2013, Oracle and/or its affiliates.  All rights
> reserved.
>                             Assembled 06 November 2013
>
> % grep BUILD_CC out.txt
> BUILD_CC:= /java/devtools/sparc/SUNWspro/SS12u3/bin/cc
>
> Brad
>
>
>
> On 1/23/2015 8:32 AM, Volker Simonis wrote:
>> Hi,
>>
>> we can see the same in our nightly OpenJDK 8/9 builds
>> (http://cr.openjdk.java.net/~simonis/ppc-aix-port/) and would be
>> interested in a solution as well.
>>
>> Thanks,
>> Volker
>>
>> On Fri, Jan 23, 2015 at 5:19 AM, David Holmes
>> <david.holmes at oracle.com> wrote:
>>> Hi Anthony,
>>>
>>>
>>> On 23/01/2015 10:33 AM, Anthony Scarpino wrote:
>>>>
>>>> Hi,
>>>>
>>>> I just pulled the jdk9/dev gate today and hit a build failure on SPARC
>>>> Solaris 11.1 when compiling perfMemory_solaris.cpp in hotspot.  I'm
>>>> using SS12u3 compilers.  Anyone else see a similar error or know what
>>>> might be going wrong?
>>>>
>>>> ...hotspot/src/os/solaris/vm/perfMemory_solaris.cpp", line 337: Error:
>>>> dd_fd is not a member of DIR.
>>>> ...hotspot/src/os/solaris/vm/perfMemory_solaris.cpp", line 369: Error:
>>>> dd_fd is not a member of DIR."
>>>> gmake[8]: *** [perfMemory_solaris.o] Error 2
>>>
>>>
>>> This code was brought in via the recent CPU integration of bug
>>> 8050807. (Hi
>>> Jerry! - cc'd)
>>>
>>> It looks like Solaris has two potential definitions of DIR:
>>>
>>> #if defined(__USE_LEGACY_PROTOTYPES__)
>>> /* traditional SVR4 definition */
>>> typedef struct {
>>>          int     dd_fd;          /* file descriptor */
>>>          int     dd_loc;         /* offset in block */
>>>          int     dd_size;        /* amount of valid data */
>>>          char    *dd_buf;        /* directory block */
>>> } DIR;                          /* stream data from opendir() */
>>> #else
>>> /* default definition (POSIX conformant) */
>>> typedef struct {
>>>          int     d_fd;           /* file descriptor */
>>>          int     d_loc;          /* offset in block */
>>>          int     d_size;         /* amount of valid data */
>>>          char    *d_buf;         /* directory block */
>>> } DIR;                          /* stream data from opendir() */
>>> #endif  /* __USE_LEGACY_PROTOTYPES__ */
>>>
>>> I can't see what controls __USE_LEGACY_PROTOTYPES__ but presumably
>>> either
>>> something in Solaris 11.1, or something in SS12u3 is causing this
>>> difference.
>>>
>>> David
>>>
>>>> thanks
>>>>
>>>> Tony




More information about the build-dev mailing list