On a machine with 62G memory classpath fails to build from source. --8<---------------cut here---------------start------------->8--- $ free -h total used free shared buff/cache available Mem: 62G 1.1G 35G 32M 25G 61G Swap: 5.0G 0B 5.0G --8<---------------cut here---------------end--------------->8---
The problem appears to be that by default the JVM tries to allocate as much memory as it can, so the initial size of the heap may be larger than the set maximum. Here’s the error: --8<---------------cut here---------------start------------->8--- /gnu/store/ncvpxqykv672wjfygmki7phc7v8kz8iz-ecj-javac-on-jamvm-wrapper-3.2.2/bin/javac -nowarn -source 1.6 -target 1.6 -bootclasspath '' -classpath ../vm/reference:..:../external/w3c_dom:../external/sax:../external/relaxngDatatype:../external/jsr166:.:: -J-Xmx768M -d . @classes Minimum heap size greater than max! touch compile-classes touch resources /gnu/store/rw6zb4l1dqg1zx252ri9722ffb1r20jm-fastjar-0.98/bin/fastjar cf glibj.zip gnu java javax org sun META-INF && /gnu/store/rw6zb4l1dqg1zx252ri9722ffb1r20jm-fastjar-0.98/bin/fastjar i glibj.zip sun: No such file or directory Error adding sun to jar archive! make[1]: *** [Makefile:674: glibj.zip] Error 1 make[1]: Leaving directory '/tmp/guix-build-classpath-0.99-1.e7c13ee0c.drv-0/source/lib' make: *** [Makefile:523: all-recursive] Error 1 phase `build' failed after 3.7 seconds --8<---------------cut here---------------end--------------->8--- I think we may be able to fix this by ensuring that we also pass -J-Xms768M to the compiler (or -Xms768M to the invocation of “java”) to set the initial heap size no greater than the maximum. -- Ricardo GPG: BCA6 89B6 3655 3801 C3C6 2150 197A 5888 235F ACAC https://elephly.net