mlton
mlton copied to clipboard
Latest MLton fails to build on 10.6–10.7 (only for x86_64)
@MatthewFluet Here are results on buildbots: https://ports.macports.org/port/mlton/details
We got two systems failing: 10.6 and 10.7, and on 10.6 only x86_64
build fails. (On 10.6 both ppc
and i386
are fine.)
I guess, MLton 20180207 is just too new, I should fallback to an earlier version for 10.6–10.7 x86_64?
Here are relevant logs: https://build.macports.org/builders/ports-10.6_x86_64-builder/builds/162718/steps/install-port/logs/stdio https://build.macports.org/builders/ports-10.7_x86_64-builder/builds/152346/steps/install-port/logs/stdio
Both segfault on the same spot, though 10.6 sets arch to x86
:
/opt/local/bin/gsed -e "s/MLTON_NAME/MLton/" -e "s/MLTON_VERSION/"20230721"/" < control/version_sml.src > control/version.sml
/opt/local/bin/gsed -e "s/MLTON_DEBUG/false/" -e "s/HOST_ARCH/x86/" -e "s/HOST_OS/darwin/" < ../lib/stubs/mlton-stubs/pre-mlton_sml.src > ../lib/stubs/mlton-stubs/pre-mlton.sml
chmod -w front-end/mlb.grm.sml
(cat ../lib/stubs/mlton-stubs/pre-mlton_sml.src; echo 'false' 'x86' 'darwin'; cat ../lib/stubs/mlton-stubs/pre-mlton.sml) | openssl sha1 | /opt/local/bin/gsed 's/.*\([a-z0-9]\{40\}\).*/\1/' > ../lib/stubs/mlton-stubs/pre-mlton_sml.chk
(cat control/version_sml.src; echo 'MLton' '"20230721"'; cat control/version.sml) | openssl sha1 | /opt/local/bin/gsed 's/.*\([a-z0-9]\{40\}\).*/\1/' > control/version_sml.chk
/bin/sh: line 1: 66483 Segmentation fault /opt/local/libexec/mlton-bootstrap/bin/mlton -stop f "$1"
/bin/sh: line 1: 66544 Segmentation fault /opt/local/libexec/mlton-bootstrap/bin/mlton -stop f "$1"
/bin/sh: line 1: 66551 Segmentation fault /opt/local/libexec/mlton-bootstrap/bin/mlton -stop f "$1"
make[2]: *** [mlton-stubs.mlb] Error 1
make[2]: Leaving directory `/opt/local/var/macports/build/_opt_bblocal_var_buildworker_ports_build_ports_lang_mlton/mlton/work/mlton-63666ac8ab65da81b9ec9595e7053d26e0682f51/mlton'
make[1]: *** [compiler] Error 2
While 10.7 sets it to arm64
:
/opt/local/bin/gsed -e "s/MLTON_NAME/MLton/" -e "s/MLTON_VERSION/"20230721"/" < control/version_sml.src > control/version.sml
/opt/local/bin/gsed -e "s/MLTON_DEBUG/false/" -e "s/HOST_ARCH/amd64/" -e "s/HOST_OS/darwin/" < ../lib/stubs/mlton-stubs/pre-mlton_sml.src > ../lib/stubs/mlton-stubs/pre-mlton.sml
cp -fpR front-end/mlb.grm.sml.boot front-end/mlb.grm.sml
chmod -w front-end/ml.grm.sig
chmod -w front-end/mlb.grm.sig
chmod -w front-end/mlb.grm.sml
(cat ../lib/stubs/mlton-stubs/pre-mlton_sml.src; echo 'false' 'amd64' 'darwin'; cat ../lib/stubs/mlton-stubs/pre-mlton.sml) | openssl sha1 | /opt/local/bin/gsed 's/.*\([a-z0-9]\{40\}\).*/\1/' > ../lib/stubs/mlton-stubs/pre-mlton_sml.chk
(cat control/version_sml.src; echo 'MLton' '"20230721"'; cat control/version.sml) | openssl sha1 | /opt/local/bin/gsed 's/.*\([a-z0-9]\{40\}\).*/\1/' > control/version_sml.chk
/bin/sh: line 1: 33626 Segmentation fault: 11 /opt/local/libexec/mlton-bootstrap/bin/mlton -stop f "$1"
/bin/sh: line 1: 33683 Segmentation fault: 11 /opt/local/libexec/mlton-bootstrap/bin/mlton -stop f "$1"
/bin/sh: line 1: 33690 Segmentation fault: 11 /opt/local/libexec/mlton-bootstrap/bin/mlton -stop f "$1"
make[2]: *** [mlton-stubs.mlb] Error 1
make[2]: Leaving directory `/opt/local/var/macports/build/_opt_bblocal_var_buildworker_ports_build_ports_lang_mlton/mlton/work/mlton-63666ac8ab65da81b9ec9595e7053d26e0682f51/mlton'
make[1]: *** [compiler] Error 2
make[1]: Leaving directory `/opt/local/var/macports/build/_opt_bblocal_var_buildworker_ports_build_ports_lang_mlton/mlton/work/mlton-63666ac8ab65da81b9ec9595e7053d26e0682f51'
make: *** [all] Error 2
No idea why arch is picked differently, identical MLton is used for bootstrap for both. Clang differs though: 10.6 has Clang-11, 10.7 has Clang-15. (This we can change as we like.)
Details of bootstrap MLton choice are here: https://github.com/macports/macports-ports/blob/master/lang/mlton-bootstrap/Portfile