OpenJDK does not build on Solaris nv82
Martin Buchholz
Martin.Buchholz at Sun.COM
Thu Feb 7 01:43:30 UTC 2008
I agree that the more conservative fix you applied is perfect for
legacy releases.
For jdk7, we should forget about possible failure with antique Linux
releases, especially given this could only ever affect developers.
Martin
Kelly O'Hair wrote:
> This is the change I did to JDK6 and the OpenJDK6 files.
> Granted it's been pointed out that maybe just doing this include
> on both Linux and Solaris should work, I wasn't sure about
> doing this include on Linux at the time I made the change.
>
> We use some pretty antique Linux systems for jdk5/jdk6 and the variations
> in the Linux systems seems pretty extreme, so I'm never quite sure
> what is safe to do that works for both our antique versions and the
> newer versions of Linux. :^(
>
> -kto
>
> --- old/src/solaris/hpi/native_threads/src/sys_api_td.c Fri Jan 11
> 15:08:55 2008
> +++ new/src/solaris/hpi/native_threads/src/sys_api_td.c Fri Jan 11
> 15:08:55 2008
> @@ -1,5 +1,5 @@
> /*
> - * @(#)sys_api_td.c 1.34 05/11/17
> + * @(#)sys_api_td.c 1.35 08/01/11
> *
> * Copyright 2006 Sun Microsystems, Inc. All rights reserved.
> * SUN PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.
> @@ -52,6 +52,8 @@
> */
> #ifdef __linux__
> typedef int rlim_t ;
> +#else
> +#include <sys/resource.h>
> #endif
>
>
>
> Tim Bell wrote:
>> Alexey Ushakov wrote:
>>> Hello Max,
>>>
>>> Actually, we've already found this problem and passed to the team
>>> responsible for the code (Cannot provide you bug id at the moment
>>> though, but will do as soon as I get it). For now you can use
>>> following workaround in openjdk sources (that worked for me):
>>
>> This is Bug-ID 6637583
>> Build failure on latest Solaris, source missing include of resource.h?
>>
>> Kelly has built a fix that you could pull from his repository.
>>
>> HTH - Tim
>>
>>
>>> ------- src/solaris/hpi/native_threads/src/sys_api_td.c -------
>>> 55a56,59
>>> > #if defined(__solaris__)
>>> > #include <sys/resource.h>
>>> > #endif
>>> >
>>>
>>> Best Regards,
>>> Alexey
>>>
>>>
>>> Max (Weijun) Wang wrote:
>>>> Hi All
>>>>
>>>> Just update my Solaris to nv82 and nightly build fails:
>>>>
>>>> "/net/bounty.prc.sun.com/j2se-jsn/max/work/myjdk/jdk/src/solaris/hpi/native_threads/src/sys_api_td.c",
>>>> line 101: syntax error before or at: limit
>>>> "/net/bounty.prc.sun.com/j2se-jsn/max/work/myjdk/jdk/src/solaris/hpi/native_threads/src/sys_api_td.c",
>>>> line 101: warning: undefined or missing type for: limit
>>>> "/net/bounty.prc.sun.com/j2se-jsn/max/work/myjdk/jdk/src/solaris/hpi/native_threads/src/sys_api_td.c",
>>>> line 105: undefined symbol: limit
>>>> cc: acomp failed for
>>>> /net/bounty.prc.sun.com/j2se-jsn/max/work/myjdk/jdk/src/solaris/hpi/native_threads/src/sys_api_td.c
>>>>
>>>> gnumake[5]: ***
>>>> [/net/bounty.prc.sun.com/j2se-jsn/armory/java/re/max_huge/b7open/solaris-sparc/tmp/java/hpi/native_threads/obj/sys_api_td.o]
>>>> Error 2
>>>> gnumake[5]: *** Waiting for unfinished jobs....
>>>> gnumake[5]: *** Waiting for unfinished jobs....
>>>> gnumake[5]: Leaving directory
>>>> `/net/bounty.prc.sun.com/j2se-jsn/max/work/myjdk/jdk/make/java/hpi/native'
>>>>
>>>>
>>>> It seems that inside the file
>>>> jdk/src/solaris/hpi/native_threads/src/sys_api_td.c, there's a line
>>>> 101: int InitializeIO(rlim_t limit)
>>>> and the type rlim_t is not recognized.
>>>>
>>>> I do a little search and find out that in my /usr/include/sys/stream.h:
>>>>
>>>> #include <sys/isa_defs.h>
>>>> #ifdef _KERNEL
>>>> #include <sys/vnode.h>
>>>> #endif
>>>> #include <sys/poll.h>
>>>> #include <sys/strmdep.h>
>>>> #include <sys/cred.h>
>>>> #include <sys/t_lock.h>
>>>> #include <sys/model.h>
>>>>
>>>> While in the old versions, the sys/vnode.h line is not surrounded in
>>>> #ifdef.
>>>>
>>>> Anyone can pass this to a Solaris guy?
>>>>
>>>> Thanks
>>>> Max
>>>>
>>>
>>
More information about the build-dev
mailing list