kompilieren mit out of memory?

SpecialAgent

BSD Trainee
Nabend Forum,

bin eigentlich gerade java 1.4 am kompilieren... und da brach der gcc mit folgender Meldung ab:

Code:
Compiling ../generated/adfiles/ad_i486.cpp
Compiling ../generated/adfiles/ad_i486_clone.cpp
Compiling ../generated/adfiles/ad_i486_expand.cpp
Compiling ../generated/adfiles/ad_i486_format.cpp
Compiling ../generated/adfiles/ad_i486_gen.cpp

cc1plus: out of memory allocating 9916168 bytes after a total of 73236480 bytes
gmake[3]: *** [ad_i486_gen.o] Error 1
gmake[3]: Leaving directory `/usr/ports/devel/jdk/1.4/w-jdk-1.4.2p0/control/build/bsd-i586/hotspot-i586/tmp/bsd_i486_compiler2/jvmg'
gmake[2]: *** [the_vm] Error 2
gmake[2]: Leaving directory `/usr/ports/devel/jdk/1.4/w-jdk-1.4.2p0/control/build/bsd-i586/hotspot-i586/tmp/bsd_i486_compiler2/jvmg'
gmake[1]: *** [jvmg] Error 2
gmake[1]: Leaving directory `/usr/ports/devel/jdk/1.4/w-jdk-1.4.2p0/control/build/bsd-i586/hotspot-i586/tmp'
gmake: *** [jvmg] Error 2
*** Error code 2

Stop in /usr/ports/devel/jdk/1.4 (line 1769 of /usr/ports/infrastructure/mk/bsd.port.mk).
user:26$

also /tmp und /usr is nich voll.... hab 200mb ram.... wo liegt der Fehler? Was muss ich tun?

Danke.
 
naja - out of memory halt wuerd ich sagen...
Leg doch mal 'ne Swapfile an und compiliere es nochmal.
 
Ha, ich bekomme Warnings wenn ich make nocheinmal starte :

Code:
... 
  CACERTS_FILE = ./../src/share/lib/security/cacerts

WARNING: Your build environment has the variable DEV_ONLY
         defined. This will result in a development-only
         build of the J2SE workspace, lacking the documentation
         build and installation bundles.

WARNING: You may not have enough free space in your OUTPUTDIR. The
         current value of OUTPUTDIR is
             /usr/ports/devel/jdk/1.4/w-jdk-1.4.2p0/control/build/bsd-i586
         You need 1460000 bytes free on this device to build
         and it appears that only 997322 bytes are free.
         Either obtain more space or set ALT_OUTPUTDIR to a larger disk.

WARNING: You may not have enough free space in your OUTPUTDIR. The
         current value of OUTPUTDIR is
             /usr/ports/devel/jdk/1.4/w-jdk-1.4.2p0/control/build/bsd-i586
         You need 1460000 bytes free on this device to build
         and it appears that only 997322 bytes are free.
         Either obtain more space or set ALT_OUTPUTDIR to a larger disk.

Sanity check passed.
...

Code:
martin:3$ df -h
Filesystem     Size    Used   Avail Capacity  Mounted on
/dev/wd0d      148M    4.0K    140M     0%    /tmp
/dev/wd0g      3.0G    1.9G    974M    66%    /usr
/dev/wd0e      4.9G    581M    4.1G    12%    /var

Dies sollte doch ausreichen...

ausserdem sind "1460000 bytes free" bei mir 1,4MB und nich 1,4GB... also sollte es doch ausreichen!?!

Danke und Gruss
 
du guckst beim falschen device.

der meckert ueber /usr, und das sollten tatsaechlich kilobytes sein.
ich wuerde dir daher raten, mal einfach ein paar sachen nach /var zu schieben.
(kann aber auch sein, dass es trotzdem klappt, schliesslich liegen in deinem java-verzeichnis noch ein paar compiler-leichen rum)


wie dem auch sei... hast du dir jetzt /etc/login.conf angeguckt oder nicht?
 
Zuletzt bearbeitet:
Ja, hab da mal zwei Einträge (maxproc-cur und maxproc-max) mit 64 in 128 ausgetauscht und dann kahmen die warnings... ich denke aber das die schon vorher da waren....

aus der login.conf
Code:
default:\
        :path=/usr/bin /bin /usr/sbin /sbin /usr/X11R6/bin /usr/local/bin:\
        :umask=022:\
        :datasize-max=256M:\
        :datasize-cur=75M:\
        :maxproc-max=128:\
        :maxproc-cur=128:\
        :openfiles-cur=128:\
        :stacksize-cur=4M:\
        :localcipher=blowfish,6:\
        :ypcipher=old:\
        :tc=auth-defaults:\
        :tc=auth-ftp-defaults:


Kann ich den /usr/ports/distfiles löschen nachdem ich die sachen installiert habe?
 
Hey,

ja hilft alles nix... make clean und die Löschung der distfiles + login.conf änderung bewirkt leider gar nöx.... hab sogar df -h während des kompilierens beobachtet.... hab immer noch >900mb frei.....

ohh.... was soll das?

Ich hab die BSDformel gefunden:

Irgendwas + OpenBSD = viel Arbeit
OpenBSD + 1/vielArbeit = 1/fun


Sonst noch jemand ne Idee? :-)
 
compilier dir einfach nen anderes jdk durch.

und viel arbeit mit wenig openbsd ist also fun fuer dich? wie bist du denn drauf.
 
Boah geiler Link, endlich mal was sagt was sache is....
nun gut... also muss ich meinen server tunen und irgendwie /usr mehr Speicher geben.... hmmm....

Wo ich gerade dabei bin... wie kann ich bei openbsd die "partitionen" verwalten, sprich /dev/wd0e nen gig abzwacken und /dev/wd0g geben?

Danke und gruss....

PS: Ich schau mal ob ich was freischaufeln kann...
 
dettus schrieb:
compilier dir einfach nen anderes jdk durch.

und viel arbeit mit wenig openbsd ist also fun fuer dich? wie bist du denn drauf.

OpenBSD + 1/vielArbeit = 1/fun :

1/vielArbeit = wenig
1/fun = wenig
OpenBSD = hier viel...!

Isn bissel kompliziert, ich gebs ja zu.
 
Update:

hab jetzt 320 MB Ram und bekomm nun diesen Error:

Code:
Error occurred during initialization of VM
Could not reserve enough space for object heap
gmake[7]: *** [.compile.classlist] Error 1
gmake[7]: Leaving directory `/usr/ports/devel/jdk/1.4/w-jdk-1.4.2p0/j2se/make/sun/javac/recompile/library'
gmake[6]: *** [optimized] Error 2
gmake[6]: Leaving directory `/usr/ports/devel/jdk/1.4/w-jdk-1.4.2p0/j2se/make/sun/javac/recompile/library'
gmake[5]: *** [all] Error 1
gmake[5]: Leaving directory `/usr/ports/devel/jdk/1.4/w-jdk-1.4.2p0/j2se/make/sun/javac/recompile'
gmake[4]: *** [all] Error 1
gmake[4]: Leaving directory `/usr/ports/devel/jdk/1.4/w-jdk-1.4.2p0/j2se/make/sun/javac'
gmake[3]: *** [all] Error 2
gmake[3]: Leaving directory `/usr/ports/devel/jdk/1.4/w-jdk-1.4.2p0/j2se/make/java/javac'
gmake[2]: *** [all] Error 1
gmake[2]: Leaving directory `/usr/ports/devel/jdk/1.4/w-jdk-1.4.2p0/j2se/make/java'
gmake[1]: *** [all] Error 1
gmake[1]: Leaving directory `/usr/ports/devel/jdk/1.4/w-jdk-1.4.2p0/j2se/make'
gmake: *** [j2se-build] Error 2
*** Error code 2

Stop in /usr/ports/devel/jdk/1.4 (line 1769 of /usr/ports/infrastructure/mk/bsd.port.mk).

hab demnächst aber 512MB... dann sollt es aber laufen... hm.... hab das nach dem in dem link von case beschriebenen methoden gemacht... hmm... na gut... ausprobieren geht über studieren... ich halt euch auf dem laufenden...

Gruss
 
Ich denke auch da stimmt was mit den limits nicht:

NOTE: The 'default' login class can not change the data limit to 384 megabytes. If you are unable to increase your data limit to 384 megabytes, then use vipw(8) to change your login class to 'staff' or adjust your current login class in login.conf(5).

Regards,

Case
 
Hey,

so.. hab jetzt genügend RAM... bekomme nun diese Fehlermeldungen:

Code:
WARNING: Your build environment has the variable DEV_ONLY
         defined. This will result in a development-only
         build of the J2SE workspace, lacking the documentation
         build and installation bundles.

WARNING: You may not have enough free space in your OUTPUTDIR. The
         current value of OUTPUTDIR is
             /usr/ports/devel/jdk/1.4/w-jdk-1.4.2p0/control/build/bsd-i586
         You need 1460000 bytes free on this device to build
         and it appears that only 1071182 bytes are free.
         Either obtain more space or set ALT_OUTPUTDIR to a larger disk.

WARNING: You may not have enough free space in your OUTPUTDIR. The
         current value of OUTPUTDIR is
             /usr/ports/devel/jdk/1.4/w-jdk-1.4.2p0/control/build/bsd-i586
         You need 1460000 bytes free on this device to build
         and it appears that only 1071180 bytes are free.
         Either obtain more space or set ALT_OUTPUTDIR to a larger disk.

ERROR: Your JAVAWS_BOOTDIR environment variable does not point
       to a valid Java 2 SDK for bootstrapping this build.
       A Java 2 SDK 1.4 build must be bootstrapped using
       J2SDK 1.4.0 fcs (or later).
       Apparently, your bootstrap JDK is version
       Please update your ALT_JAVAWS_BOOTDIR setting and start your build again

Exiting because of the above error(s).

gmake: *** [post-sanity] Error 1
*** Error code 2

Stop in /usr/ports/devel/jdk/1.4 (line 1769 of /usr/ports/infrastructure/mk/bsdport.mk).
ich:6$ echo $DEV_ONLY

ich:7$

Hab mal in der Makefile nach den Variablen gesucht, allerdings finde ich keine...

wie ihr auch sehen könnt gibt es keine Variable DEV_ONLY, wenn ich diese mit "false" odeer "no" anlege passiert auch nichts...

jemand ne Ahnung wo ich was einstellen kann?

Danke und gruss.
 
Hey,

wüßte jetzt nicht was ich mit der Antwort anfangen könnte. Wenn Du die Antwort kennst, poste sie doch einfach.

Gruss.
 
klar doch!
dettus schrieb:
nimm jdk 1.3
oder 1.2

oder
Please update your ALT_JAVAWS_BOOTDIR setting and start your build again

vielleicht hilft auch eines der folgenden kommandos weiter:
Code:
man bash
man csh
man ksh
 
nö Du!
SpecialAgent schrieb:
Hey,

wüßte jetzt nicht was ich mit der Antwort anfangen könnte. Wenn Du die Antwort kennst, poste sie doch einfach.

Gruss.

;-)

Also ich peil den Error nich:
Code:
ERROR: Your JAVAWS_BOOTDIR environment variable does not point
       to a valid Java 2 SDK for bootstrapping this build.
       A Java 2 SDK 1.4 build must be bootstrapped using
       J2SDK 1.4.0 fcs (or later).
       Apparently, your bootstrap JDK is version
       Please update your ALT_JAVAWS_BOOTDIR setting and start your build again

a) JAVAWS_BOOTDIR kann ja nirgendwo hinzeigen, weil ja noch kein Java installiert ist.
b) ALT_JAVAWS_BOOTDIR nehme ich mal stark an, das dies auch eine Umgebungsvariable sein soll... und dann sind wir wieder bei a)
c) Die Warnings können auch nicht stimmen, da solche Umgebungsvariablen nicht existieren, und ich nicht weiß was diese genau enthalten soll ( jetzt "false", "no" oder gar nix?) ....
Beschreibung von den ganzen Sachen finde ich auch nirgendwo...

und auch nicht in den man pages von den shells... glaub mir! :-)

So, und wenn du jetzt was schreibst, dann doch bitte etwas sinnvolles, denn wir sind ja hier um uns gegenseitig zu helfen und nicht um uns zu ärgern. Ok? Prima!

Gruss
 
Zurück
Oben