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



Reply via email to