build failure in perfMemory_solaris.cpp?

Bradford Wetmore bradford.wetmore at oracle.com
Fri Jan 23 18:07:48 UTC 2015


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