> 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
|