Agreed. With jdk7, it's time to clean house where we can and take the risk.
-kto
Martin Buchholz wrote:
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