我尝试在OS X El Capitan(目前为PB 6)上安装SML。
不幸的是,终端中的命令sml
给出了以下错误消息:
sml: unable to determine architecture/operating system
我使用了this question from stack overflow
并更改了_arch-n-opsys
文件,以便识别El Capitan:
i386) ARCH=x86;
case `uname -r` in
9*) OPSYS=darwin; HEAP_OPSYS=darwin ;; # MacOS X 10.5 Leopard
10*) OPSYS=darwin; HEAP_OPSYS=darwin ;; # MacOS X 10.6 Snow Leopard
11*) OPSYS=darwin; HEAP_OPSYS=darwin ;; # MacOS X 10.7 Lion
12*) OPSYS=darwin; HEAP_OPSYS=darwin ;; # MacOS X 10.8 Mountain Lion
13*) OPSYS=darwin; HEAP_OPSYS=darwin ;; # MacOS X 10.9 Mavericks
14*) OPSYS=darwin; HEAP_OPSYS=darwin ;; # MacOS X 10.10 Yosemite
15*) OPSYS=darwin; HEAP_OPSYS=darwin ;; # MacOS X 10.11 El Capitan
*) exit 1;;
esc;;
但我仍然收到相同的错误消息:
sml: unable to determine architecture/operating system
知道如何解决这个问题吗?
答案 0 :(得分:1)
你说你改变了_arch-n-opsys
。你的意思是.arch-n-opsys
,对吗?您是否安装了多个版本的sml
?如果是这样,请从命令行运行which sml
,并确保您正在编辑的.arch-n-opsys
文件位于同一目录中。作为最后(但非便携)的度假胜地,您应该能够替换
*) exit 1;;
与
*) OPSYS=darwin; HEAP_OPSYS=darwin ;; # MacOS X 10.11 El Capitan
答案 1 :(得分:1)
您需要先使用brew update
将brew更新到最新版本。
然后使用smlnj
和brew remove smlnj
或brew install smlnj
重新安装brew upgrade smlnj
。