【问题标题】:How to install sml/nj from source?如何从源代码安装 sml/nj?
【发布时间】:2021-04-30 00:52:33
【问题描述】:

正如文档所说,我可以成功安装 sml/nj:http://smlnj.org/dist/working/110.99/install.html

但是如何从源代码安装,文档说的方式让我下载config.tgz,而不是脚本install.sh可以从网络下载和编译其他文件

但是如果我想编辑源代码并测试结果,这种方式似乎行不通

eg:我编辑了compile.sml文件,想看看结果,所以我需要重新编译编译器,但是install.sh会从网上下载compiler.tgz,而不是我修改的文件

从源代码安装 sml/nj 太热了?谢谢!

【问题讨论】:

  • the 'compiler' directory 中有一个自述文件似乎很有用。 (我认为您不应该在第一次安装后使用安装脚本。)

标签: sml smlnj


【解决方案1】:

smlnj.org 没有 SSL 证书,release-note README links 已损坏,GitHub repo 没有顶级 README。在他们的网站上滚动一下,有一个安装手册的链接:

Installing SML/NJ on UNIX

它提到了你可能尝试运行的 install.sh。运行它似乎克服了许多与弄清楚源代码如何绑定在一起相关的复杂性。不幸的是,它在我的机器上失败了;不知道是不是因为我运行的是 MacOS 而cc 默认是clang,还是什么原因。

install.sh 将从网上下载 compiler.tgz,而不是我更改的文件

我没有体验到重新运行config/install.sh会重新下载源代码,但我也没有体验到这个命令成功。如果您注意到,有一个名为 config/srcarchiveurl 的文件包含变量 SRCARCHIVEURL。当您为此使用grep 时,它会出现在 config/download.sh 和 config/unpack 中——后者 unpack 是整个 install.sh 中使用的实用程序,以确保存在给定的子目录。它应该检查文件是否已在lines 205--209 上下载。

每次我想从头开始安装 SML/NJ 时,我基本上已经放弃并选择了 Poly/MLMoscow MLMLKitMLton,只是因为他们不需要这样做很多要安装。 SML/NJ 在分发方式上不是现代软件。 Poly/ML 和 Moscow ML 有点简约(它们不支持 MLB),但更容易修改; MLton 没有 REPL,但可以通过其他方式进行安装。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-01-17
    • 2010-12-01
    • 2011-06-12
    • 1970-01-01
    相关资源
    最近更新 更多