我安装了Windows 10(64位)。从那时起,即使重新安装(顺利完成),Isabelle HOL也不再启动。错误消息如下:“启动错误:启动Java VM时出错”。这与我测试的两个版本(2013-2和2015)相同。 配置文件中指定的jvm.dll存在于右侧文件夹中。另外,我已经在32位和64位的最新版本(8.51)中安装了Java SDK。 Windows 10是否存在已知的兼容性问题? Isabelle过去常常使用Windows 7和8。 谢谢你的帮助。
答案 0 :(得分:2)
从开发人员的邮件列表中,有一个指向测试版本的链接:
这与Isabelle2015的不同之处在于它如何通过路径执行某些操作,因此它可能会找到Windows 10所需的功能,或者可能不会。然而,即使它有效,也可能与Isabelle2015(在定理证明中)存在一些不兼容性。
无论如何,Isabelle每年只会发布1到2次,我不希望在4到6个月内为Windows 10发布任何特殊内容。不过,上面的链接显示M.Wenzel可以将测试版本打包在一起,但他主要在用户的邮件列表上运行。
在下面的批处理文件中,我设置了HOMEDRIVE
和HOMEPATH
,如果您希望.isabelle
位于C:\user
,则不需要。{/ p>
在此测试版本中,这些设置不会影响我的主路径。虽然我的USER_HOME
设置不能使我的批处理文件适用于此测试版本,但似乎也使用了USER_HOME
。
无论如何,这个测试版本已经改变了它发现事物的方式,并且更容易适应Windows,如函数File.platform_path的新行为所示。
它的工作方式不同,需要进行足够的更改,我应该继续使用Isabelle2015,否则我将与官方版本不同步。)
(Zeroeth:这样的问题通常会在邮件列表中消失,但我继续向您展示如何使用批处理文件启动Isabelle,我在开始这样做之前就开始这样做。)< / em>的
首先,Isabelle使用的Java位于此文件夹中:
Isabelle2015\contrib\jdk\x86-cygwin\jre
为Windows进行正常的Java安装不会改变Isabelle使用的Java。
下面,我给你一个批处理文件和bash文件来启动Isabelle / jEdit,这是使用Isabelle2015\Isabelle2015.exe
的替代方法。
对于我自己,我所做的是用jre-8u45-windows-x64.tar.gz
中的jre手动替换上面显示的32位jre文件夹。 (我重命名了旧的32位文件夹。可以找到最新的Java tar文件at the download page。)
因此,如果我尝试用Isabelle2015.exe
启动Isabelle,我也会得到一个弹出窗口,上面写着“启动错误,启动Java VM时出错”,但是使用批处理/ bash组合启动Isabelle对我有用Windows 8.1。
我在下面显示的内容可能无法解决您的问题,但我想Isabelle2015.exe
必须从操作系统中获取一些信息才能正常工作,而且可能会因Windows 10而改变:
https://lists.cam.ac.uk/mailman/htdig/cl-isabelle-users/2014-December/msg00033.html
您将批处理和bash文件放在您拥有或想要.isabelle
文件夹的文件夹中。将ISAHOME
下方更改为您的Isabelle分布所在的位置。 PATH
需要路径中的Cygwin bin,以及我在批处理文件中设置的isabelle
路径。
文件:start-isabelle.bat
:: Isabelle2015.exe uses these directly. Setting HOME or USER_HOME doesn't work
set HOMEDRIVE=%~d0
set HOMEPATH=%~p0
:: Cygwin uses HOME, and this is how HOME is set in Cygwin-Terminal.bat
set HOME=%HOMEDRIVE%%HOMEPATH%
:: ADD PATHS: 'cygwin/bin' to start terminal, 'Isabelle2015/bin' for 'isabelle'
set ISAHOME=E:\E_2\d ev\Isabelle2015
set PATH=%PATH%;%ISAHOME%/contrib/cygwin/bin;%ISAHOME%/bin;
set CHERE_INVOKING=true
::MINTTY CONSOLE
start /MIN mintty.exe -i /Cygwin-Terminal.ico "%~dp0start-isabelle.bash"
:: REGULAR WINDOWS CONSOLE
::bash --login -i "%~dp0start-isabelle.bash"
文件:start-isabelle.bash
#!/usr/bin/env bash
#
isabelle jedit -l HOL
使用64位Java,我可以通过在.isabelle\Isabelle2015\etc\settings
中进行此更改来增加Isabelle使用的内存大小:
JEDIT_JAVA_OPTIONS="-Xms1g -Xmx4g -Xss4m"
or
JEDIT_JAVA_OPTIONS="-Xms1024m -Xmx4096m -Xss4m"
使用32位Java,当我这样做时,Isabelle将启动但终止。