Summary
This release fixes a few critical problems with 110.94, as well as a couple of other bugs. There are no new features or other major changes.
Details
Installation
64-bit support
The various installation and configuration scripts have been updated
to accept a command-line argument to override the
default machine size when running on the x86/amd64 architecture.
For the config/install.sh
script, you can specify the machine-word
size of the target architecture as follows:
- -default size
-
specify the default size for the sml and other commands, where size is either 32 or 64.
- -32
-
install the 32-bit version of the system.
- -64
-
install the 64-bit version of the system.
It is possible to install both versions in the same location by running
the install.sh
script twice. For example, the commands
% config/install.sh -32
% config/install.sh -default 64
will install both versions with the 64-bit version as default. One would then use the command sml -32 to run the 32-bit version of the system.
If both versions are installed, then use the -32 or -64 flag to override the default version.
32-bit macOS issues
While the x86 installer for 110.95 works on macOs 10.14 Mojave, building from source requires some extra steps because the version of Xcode distributed for Mojave does not include a 32-bit SDK.
Another issue that you may encounter when building on macOs 10.14 Mojave is an error message for a shell script of the form
/bin/sh: bad interpreter: Operation not permitted
This error arises because the com.apple.quarantine
attribute is set on the
shell script. To fix the problem, remove the attribute using the command
xattr -d com.apple.quarantine shell-script
and resume the build.
Runtime System
The runtime now uses MAP_ANON
for allocating memory on 64-bit Linux.
This change fixes a problem with versions of Linux that do not allow
access to /dev/zero
.
Bugs
Here is a list of tracked bugs fixed (or closed) with this release, please see the bug tracker for more details.
229 |
|
230 |
segmentation fault when compiling MLton sources with SML/NJ 64-bit |
The following unnumbered bugs were also fixed:
-
Fixed the AST pretty printer so that it handles datatype replication declarations.
-
Fixed problem with 64-bit runtime on some versions of Linux (e.g.. Linux on ChromeBooks).
Supported systems
We believe that SML/NJ will build and run on the following systems, but have only tested some of them:
Architecture | Operating System | Status |
---|---|---|
AMD64 |
macOS 10.14 (Mojave) |
Tested |
macOS 10.15 (Catalina) |
Tested |
|
Ubuntu 16.04.3 LTS |
Tested |
|
Ubuntu 18.04.3 LTS |
Tested |
|
|
||
Power PC |
Mac OS X 10.5 (Leopard) |
|
AIX |
||
|
||
Sparc |
Solaris |
|
Linux |
||
|
||
x86 (32-bit) |
Mac OS X 10.6 (Snow Leopard) |
|
Mac OS X 10.7 (Lion) |
||
Mac OS X 10.8 (Mountain Lion) |
||
Mac OS X 10.9 (Mavericks) |
||
Mac OS X 10.10 (Yosemite) |
||
Mac OS X 10.11 (El Capitan) |
||
macOS 10.12 (Sierra) |
Tested |
|
macOS 10.13 (High Sierra) |
Tested |
|
macOS 10.14 (Mojave) |
Tested |
|
Ubuntu 16.04.3 LTS |
Tested |
|
Other Linux variants |
||
BSD variants |
||
Windows 7 |
||
Windows 10 |
||
Cygwin (32-bit) |
||
|