Thanks, your patch works good. I use jdk 1.6 bootstrap, spent 120 min. The use native bootstrap, spend 126 min.
--- Dongsheng [EMAIL PROTECTED] www]$ /usr/local/jdk-1.7.0/bin/java -version openjdk version "1.7.0-internal" OpenJDK Runtime Environment (build 1.7.0-internal-dongsheng_20_mar_2008_23_55-b00) OpenJDK Client VM (build 12.0-b01, mixed mode) [EMAIL PROTECTED] www]$ /usr/local/jdk-1.7.0/bin/java -server -version openjdk version "1.7.0-internal" OpenJDK Runtime Environment (build 1.7.0-internal-dongsheng_20_mar_2008_23_55-b00) OpenJDK Server VM (build 12.0-b01, mixed mode) 2008/3/20, Kurt Miller <[EMAIL PROTECTED]>: > Dongsheng Song wrote: > > It's a memory compute bug for small memory computers, e.g. 256MB. > > > Thanks for the report. Please try the attached diff which should address > the negative mem problem. However, I'm skeptical that 256M will be > enough real mem to build it. Make sure you have a lot of swap and expect > plenty of thrashing (i.e. excessive build times). > > Also please don't use misc@ for ports and package questions. misc@ has > enough 'noise' on it. :-) > > > -Kurt > > Index: Makefile > =================================================================== > RCS file: /cvs/ports/devel/jdk/1.7/Makefile,v > retrieving revision 1.13 > diff -u -p -r1.13 Makefile > --- Makefile 19 Mar 2008 20:44:18 -0000 1.13 > +++ Makefile 20 Mar 2008 13:27:26 -0000 > @@ -43,6 +43,7 @@ BUILD_DEPENDS+= :jdk-1.6.0.*:devel/jdk/1 > ALT_BOOTDIR= ${LOCALBASE}/jdk-1.6.0 > .endif > > +VMEM_WARNING= Yes > BUILD_DEPENDS+= ::devel/apache-ant \ > ::archivers/zip \ > ::archivers/unzip \ > Index: patches/patch-corba_make_common_shared_Platform_gmk > =================================================================== > RCS file: > /cvs/ports/devel/jdk/1.7/patches/patch-corba_make_common_shared_Platform_gmk,v > retrieving revision 1.1 > diff -u -p -r1.1 patch-corba_make_common_shared_Platform_gmk > --- patches/patch-corba_make_common_shared_Platform_gmk 19 Mar 2008 18:05:43 > -0000 1.1 > +++ patches/patch-corba_make_common_shared_Platform_gmk 20 Mar 2008 13:27:26 > -0000 > @@ -1,6 +1,6 @@ > $OpenBSD: patch-corba_make_common_shared_Platform_gmk,v 1.1 2008/03/19 > 18:05:43 kurt Exp $ > ---- corba/make/common/shared/Platform.gmk.orig Thu Nov 8 12:00:14 2007 > -+++ corba/make/common/shared/Platform.gmk Thu Nov 8 12:04:28 2007 > +--- corba/make/common/shared/Platform.gmk.orig Sat Dec 1 00:00:00 2007 > ++++ corba/make/common/shared/Platform.gmk Thu Mar 20 09:05:23 2008 > @@ -262,6 +262,73 @@ ifeq ($(SYSTEM_UNAME), Linux) > MB_OF_MEMORY := $(shell free -m | fgrep Mem: | sed -e '[EMAIL PROTECTED] > \ *@ @g' | cut -d' ' -f2) > endif > @@ -75,23 +75,22 @@ $OpenBSD: patch-corba_make_common_shared > # Windows with and without CYGWIN will be slightly different > ifeq ($(SYSTEM_UNAME), Windows_NT) > PLATFORM = windows > -@@ -372,8 +439,8 @@ endif > - # Machines with 512Mb or less of real memory are considered low memory > +@@ -373,7 +440,7 @@ endif > # build machines and adjustments will be made to prevent excessing > # system swapping during the build. > --# If we don't know, assume 512. Subtract 128 from MB for VM MAX. > + # If we don't know, assume 512. Subtract 128 from MB for VM MAX. > -# Don't set VM max over 1024-128=896. > -+# If we don't know, assume 512. Subtract 736 from MB for VM MAX. > -+# Don't set VM max over 1024-288=736. > ++# Don't set VM max over 864-128=736. > ifneq ($(MB_OF_MEMORY),) > LOW_MEMORY_MACHINE := $(shell \ > if [ $(MB_OF_MEMORY) -le 512 ] ; then \ > -@@ -383,9 +450,9 @@ ifneq ($(MB_OF_MEMORY),) > +@@ -382,10 +449,10 @@ ifneq ($(MB_OF_MEMORY),) > + echo "false"; \ > fi) > MAX_VM_MEMORY := $(shell \ > - if [ $(MB_OF_MEMORY) -le 1024 ] ; then \ > -- expr $(MB_OF_MEMORY) '-' 128 ; \ > -+ expr $(MB_OF_MEMORY) '-' 288 ; \ > +- if [ $(MB_OF_MEMORY) -le 1024 ] ; then \ > ++ if [ $(MB_OF_MEMORY) -le 864 ] ; then \ > + expr $(MB_OF_MEMORY) '-' 128 ; \ > else \ > - echo "896"; \ > + echo "736"; \ > Index: patches/patch-jdk_make_common_shared_Platform_gmk > =================================================================== > RCS file: > /cvs/ports/devel/jdk/1.7/patches/patch-jdk_make_common_shared_Platform_gmk,v > retrieving revision 1.1 > diff -u -p -r1.1 patch-jdk_make_common_shared_Platform_gmk > --- patches/patch-jdk_make_common_shared_Platform_gmk 19 Mar 2008 18:05:45 > -0000 1.1 > +++ patches/patch-jdk_make_common_shared_Platform_gmk 20 Mar 2008 13:27:26 > -0000 > @@ -1,6 +1,6 @@ > $OpenBSD: patch-jdk_make_common_shared_Platform_gmk,v 1.1 2008/03/19 > 18:05:45 kurt Exp $ > ---- jdk/make/common/shared/Platform.gmk.orig Tue Oct 30 05:04:22 2007 > -+++ jdk/make/common/shared/Platform.gmk Wed Nov 7 14:51:12 2007 > +--- jdk/make/common/shared/Platform.gmk.orig Sat Dec 1 00:00:00 2007 > ++++ jdk/make/common/shared/Platform.gmk Thu Mar 20 09:06:34 2008 > @@ -275,6 +275,73 @@ ifeq ($(SYSTEM_UNAME), Linux) > MB_OF_MEMORY := $(shell free -m | fgrep Mem: | sed -e '[EMAIL PROTECTED] > \ *@ @g' | cut -d' ' -f2) > endif > @@ -75,23 +75,22 @@ $OpenBSD: patch-jdk_make_common_shared_P > # Windows with and without CYGWIN will be slightly different > ifeq ($(SYSTEM_UNAME), Windows_NT) > PLATFORM = windows > -@@ -389,8 +456,8 @@ endif > - # Machines with 512Mb or less of real memory are considered low memory > +@@ -390,7 +457,7 @@ endif > # build machines and adjustments will be made to prevent excessing > # system swapping during the build. > --# If we don't know, assume 512. Subtract 128 from MB for VM MAX. > + # If we don't know, assume 512. Subtract 128 from MB for VM MAX. > -# Don't set VM max over 1024-128=896. > -+# If we don't know, assume 512. Subtract 288 from MB for VM MAX. > -+# Don't set VM max over 1024-288=736. > ++# Don't set VM max over 864-128=736. > ifneq ($(MB_OF_MEMORY),) > LOW_MEMORY_MACHINE := $(shell \ > if [ $(MB_OF_MEMORY) -le 512 ] ; then \ > -@@ -400,9 +467,9 @@ ifneq ($(MB_OF_MEMORY),) > +@@ -399,10 +466,10 @@ ifneq ($(MB_OF_MEMORY),) > + echo "false"; \ > fi) > MAX_VM_MEMORY := $(shell \ > - if [ $(MB_OF_MEMORY) -le 1024 ] ; then \ > -- expr $(MB_OF_MEMORY) '-' 128 ; \ > -+ expr $(MB_OF_MEMORY) '-' 288 ; \ > +- if [ $(MB_OF_MEMORY) -le 1024 ] ; then \ > ++ if [ $(MB_OF_MEMORY) -le 864 ] ; then \ > + expr $(MB_OF_MEMORY) '-' 128 ; \ > else \ > - echo "896"; \ > + echo "736"; \ > >