Running under Windows

Cyc launch script fails, complaining that JAVA_HOME isn't set

The JAVA_HOME variable isn't always set in Windows. If not, here are some instructions for how to do that:


Cyc tries to start, but dies, complaining of a "Missing 'server' JVM"

Cyc tries to run and then dies like this:

C:\researchcyc-4.0q\researchcyc-4.0q\server\cyc\run>java -server -Xms5g -Xmx8g -
XX:MaxPermSize=256m -XX:+AggressiveOpts -XX:+UseParallelGC -XX:+UseBiasedLocking
-XX:+UseFastAccessorMethods -XX:-UseSpinning -XX:PreBlockSpin=10 -XX:+UseCompre
ssedOops -cp lib\cyc.jar;lib\subl.jar;lib\junit.jar;lib\cycSparqlEndpoint.jar;re
source;lib\ext\;plugins\;lib\ant-1.6.5.jar;lib\jetty-security-8.0.4.v20111024.ja
r;lib\jetty-xml-8.0.4.v20111024.jar;lib\ecj-3.5.1.jar;lib\jetty-server-8.0.4.v20
111024.jar;lib\jsp-2.1-glassfish-2.1.v20100127.jar;lib\jetty-continuation-8.0.4.
v20111024.jar;lib\jetty-servlet-8.0.4.v20111024.jar;lib\jsp-api-2.1-glassfish-2.
1.v20100127.jar;lib\jetty-http-8.0.4.v20111024.jar;lib\jetty-util-8.0.4.v2011102
4.jar;lib\jetty-io-8.0.4.v20111024.jar;lib\jetty-webapp-8.0.4.v20111024.jar;lib\
servlet-api-3.0.20100224.jar com.cyc.tool.subl.jrtl.nativeCode.subLisp.SubLMain
-f "(progn (load \"init/jrtl-release-init.lisp\") (csetq base-tcp-port 3600)
(load \"init/port-init.lisp\"))"
Error: missing `server' JVM at `C:\Program Files (x86)\Java\jre7\bin\server\jvm.
dll'.
Please install or use the JRE or JDK that contains these missing components.
C:\researchcyc-4.0q\researchcyc-4.0q\server\cyc\run>if not defined BACKGROUND pause
Press any key to continue . . .

This indicates that your JVM does not have all of the necessary libraries installed. The simplest way to fix this is to download a newer JVM.

You should download the Windows x64 version of the Java SE Runtime Environment 7u72 (jre-7u72-windows-x64.exe), not 7u71.

Running under Java 8

Cyc tries to start, but dies, complaining about "Unrecognized VM option 'UseSpinning'"

You are using a Java 8 JVM. Cyc tries to run and then dies like this:

C:\researchcyc-4.0q\researchcyc-4.0q\server\cyc\run>java -server -Xms5g -Xmx8g -
XX:MaxPermSize=256m -XX:+AggressiveOpts -XX:+UseParallelGC -XX:+UseBiasedLocking
-XX:+UseFastAccessorMethods -XX:-UseSpinning -XX:PreBlockSpin=10 -XX:+UseCompre
ssedOops -cp lib\cyc.jar;lib\subl.jar;lib\junit.jar;lib\cycSparqlEndpoint.jar;re
source;lib\ext\;plugins\;lib\ant-1.6.5.jar;lib\jetty-security-8.0.4.v20111024.ja
r;lib\jetty-xml-8.0.4.v20111024.jar;lib\ecj-3.5.1.jar;lib\jetty-server-8.0.4.v20
111024.jar;lib\jsp-2.1-glassfish-2.1.v20100127.jar;lib\jetty-continuation-8.0.4.
v20111024.jar;lib\jetty-servlet-8.0.4.v20111024.jar;lib\jsp-api-2.1-glassfish-2.
1.v20100127.jar;lib\jetty-http-8.0.4.v20111024.jar;lib\jetty-util-8.0.4.v2011102
4.jar;lib\jetty-io-8.0.4.v20111024.jar;lib\jetty-webapp-8.0.4.v20111024.jar;lib\
servlet-api-3.0.20100224.jar com.cyc.tool.subl.jrtl.nativeCode.subLisp.SubLMain
-f "(progn (load \"init/jrtl-release-init.lisp\") (csetq base-tcp-port 3600)
(load \"init/port-init.lisp\"))"
Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; sup
port was removed in 8.0
Unrecognized VM option 'UseSpinning'
Error: Could not create the Java Virtual Machine.
Error: A fatal exception has occurred. Program will exit.

Some versions of Cyc have launch scripts which specify VM options no longer supported by Java 8.

MaxPermSize has been removed in Java 8, but UseSpinning was last used in Java 5. Currently, the simplest solution is to remove those parameters from the launch script.