tarides / ocaml-platform-installer

The best way for developers to write software in OCaml
ISC License
61 stars 8 forks source link

macos amd64 build failed: exited with 31 #81

Closed koonwen closed 2 years ago

koonwen commented 2 years ago

I tried installing using the bash script but tweaked installer.sh to change the PREFIX to look under opt/homebrew/bin/opam instead because that's where my opam binary lives. I get the following error

❯ sudo bash < <(curl -sL https://github.com/tarides/ocaml-platform-installer/releases/latest/download/installer.sh | sed 's;/usr/local;/opt/homebrew;g')
Password:
=> Download ocaml-platform-0.1.0-macos-x86_64.tar
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
100 2820k  100 2820k    0     0  2254k      0  0:00:01  0:00:01 --:--:-- 11.8M
=> Install into /opt/homebrew/bin
Installation is done. Please run 'ocaml-platform' to install the Platform tools inside your set switch.
❯ ocaml-platform
Inferring tools version...
Creating a sandbox to build the tools...
Building odoc...
Building merlin...
Building dune-release...
ocaml-platform: [ERROR] Command 'opam install dune-release --yes -q --color=never --switch
           /var/folders/d0/c300r25n785405hhz1typhkr0000gn/T/ocaml-platform-sandbox-3ccb20
           --root /Users/koonwen/.opam' failed: exited with 31
ocaml-platform: [ERROR] Command 'opam install merlin --yes -q --color=never --switch
           /var/folders/d0/c300r25n785405hhz1typhkr0000gn/T/ocaml-platform-sandbox-3ccb20
           --root /Users/koonwen/.opam' failed: exited with 31
ocaml-platform: [ERROR] Command 'opam install odoc --yes -q --color=never --switch
           /var/folders/d0/c300r25n785405hhz1typhkr0000gn/T/ocaml-platform-sandbox-3ccb20
           --root /Users/koonwen/.opam' failed: exited with 31
Julow commented 2 years ago

Can you try again with ocaml-platform -vv ? It'll show more logs, including Opam's output.

koonwen commented 2 years ago

Here it is!

Building odoc...
ocaml-platform: [EXEC:25681] [|"__CFBundleIdentifier=com.apple.Terminal";
                               "_P9K_TTY=/dev/ttys001";
                               "_=/opt/homebrew/bin/ocaml-platform";
                               "XPC_SERVICE_NAME=0"; "XPC_FLAGS=0x0";
                               "USER=koonwen";
                               "TMPDIR=/var/folders/d0/c300r25n785405hhz1typhkr0000gn/T/";
                               "TERM_SESSION_ID=BC018446-AB49-4F10-8E58-0F7D43D85D73";
                               "TERM_PROGRAM_VERSION=445";
                               "TERM_PROGRAM=Apple_Terminal";
                               "TERM=xterm-256color";
                               "SSH_AUTH_SOCK=/private/tmp/com.apple.launchd.a4H7go6kta/Listeners";
                               "SHLVL=1"; "SHELL=/bin/zsh";
                               "PWD=/Users/koonwen";
                               "PATH=/var/folders/d0/c300r25n785405hhz1typhkr0000gn/T/ocaml-platform-system-compiler-db3f61:/Users/koonwen/.opam/4.14.0/bin:/opt/homebrew/opt/make/libexec/gnubin:/opt/homebrew/bin:/opt/homebrew/sbin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Library/TeX/texbin:/Applications/Postgres.app/Contents/Versions/latest/bin:/Users/koonwen/.local/bin:/Users/koonwen/Library/Application Support/JetBrains/Toolbox/scripts";
                               "P9K_TTY=old"; "P9K_SSH=0";
                               "OPAM_SWITCH_PREFIX=/Users/koonwen/.opam/4.14.0";
                               "OPAMNOENVNOTICE=true";
                               "OLDPWD=/Users/koonwen/Repos/opam/src/client";
                               "OCAML_TOPLEVEL_PATH=/Users/koonwen/.opam/4.14.0/lib/toplevel";
                               "MANPATH=/opt/homebrew/share/man::";
                               "LOGNAME=koonwen"; "LC_CTYPE=UTF-8";
                               "INFOPATH=/opt/homebrew/share/info:";
                               "HOMEBREW_REPOSITORY=/opt/homebrew";
                               "HOMEBREW_PREFIX=/opt/homebrew";
                               "HOMEBREW_CELLAR=/opt/homebrew/Cellar";
                               "HOME=/Users/koonwen";
                               "CAML_LD_LIBRARY_PATH=/Users/koonwen/.opam/4.14.0/lib/stublibs:/Users/koonwen/.opam/4.14.0/lib/ocaml/stublibs:/Users/koonwen/.opam/4.14.0/lib/ocaml"|]
                             ['opam' 'install' 'odoc' '--yes' '-q'
                              '--color=never' '--switch'
                              '/var/folders/d0/c300r25n785405hhz1typhkr0000gn/T/ocaml-platform-sandbox-092ba2'
                              '--root' '/Users/koonwen/.opam']
ocaml-platform: [DEBUG] [ERROR] The compilation of dune.3.3.1 failed at "ocaml bootstrap.ml -j 7".
[ERROR] The compilation of cmdliner.1.1.1 failed at "make all PREFIX=/private/var/folders/d0/c300r25n785405hhz1typhkr0000gn/T/ocaml-platform-sandbox-092ba2/_opam".
[ERROR] The compilation of ocamlbuild.0.14.1 failed at "make check-if-preinstalled all opam-install".
[ERROR] The compilation of ocamlfind.1.9.5 failed at "make opt".

#=== ERROR while compiling ocamlfind.1.9.5 ====================================#
# context              2.1.2 | macos/x86_64 |  | https://opam.ocaml.org#16aa1285
# path                 /private/var/folders/d0/c300r25n785405hhz1typhkr0000gn/T/ocaml-platform-sandbox-092ba2/_opam/.opam-switch/build/ocamlfind.1.9.5
# command              ~/.opam/opam-init/hooks/sandbox.sh build make opt
# exit-code            2
# env-file             ~/.opam/log/ocamlfind-25681-47e2aa.env
# output-file          ~/.opam/log/ocamlfind-25681-47e2aa.out
### output ###
# /var/folders/d0/c300r25n785405hhz1typhkr0000gn/T/camlasm69cef0.s:200:15: error: unknown token in expression
# [...]
# /var/folders/d0/c300r25n785405hhz1typhkr0000gn/T/camlasm69cef0.s:201:11: error: brackets expression not supported on this target
#  ldr x30, [sp, #8]
#           ^
# /var/folders/d0/c300r25n785405hhz1typhkr0000gn/T/camlasm69cef0.s:202:14: error: unknown token in expression
#  add sp, sp, #16
#              ^
# File "findlib_config.ml", line 1:
# Error: Assembler error, input left in file /var/folders/d0/c300r25n785405hhz1typhkr0000gn/T/camlasm69cef0.s
# make[1]: *** [Makefile:173: findlib_config.cmx] Error 2
# make[1]: Leaving directory '/private/var/folders/d0/c300r25n785405hhz1typhkr0000gn/T/ocaml-platform-sandbox-092ba2/_opam/.opam-switch/build/ocamlfind.1.9.5/src/findlib'
# make: *** [Makefile:18: opt] Error 2

#=== ERROR while compiling ocamlbuild.0.14.1 ==================================#
# context              2.1.2 | macos/x86_64 |  | https://opam.ocaml.org#16aa1285
# path                 /private/var/folders/d0/c300r25n785405hhz1typhkr0000gn/T/ocaml-platform-sandbox-092ba2/_opam/.opam-switch/build/ocamlbuild.0.14.1
# command              ~/.opam/opam-init/hooks/sandbox.sh build make check-if-preinstalled all opam-install
# exit-code            2
# env-file             ~/.opam/log/ocamlbuild-25681-550a4b.env
# output-file          ~/.opam/log/ocamlbuild-25681-550a4b.out
### output ###
# [...]
# /var/folders/d0/c300r25n785405hhz1typhkr0000gn/T/camlasm8dda5f.s:164:11: error: brackets expression not supported on this target
#  ldr x22, [x22, _camlOcamlbuild_pack__Const__10@GOTPAGEOFF]
#           ^
# /var/folders/d0/c300r25n785405hhz1typhkr0000gn/T/camlasm8dda5f.s:165:11: error: brackets expression not supported on this target
#  str x22, [x0, #0]
#           ^
# /var/folders/d0/c300r25n785405hhz1typhkr0000gn/T/camlasm8dda5f.s:166:15: error: unknown token in expression
#  orr x0, xzr, #1
#               ^
# File "src/const.ml", line 1:
# Error: Assembler error, input left in file /var/folders/d0/c300r25n785405hhz1typhkr0000gn/T/camlasm8dda5f.s
# make: *** [Makefile:428: src/const.cmx] Error 2

#=== ERROR while compiling dune.3.3.1 =========================================#
# context              2.1.2 | macos/x86_64 |  | https://opam.ocaml.org#16aa1285
# path                 /private/var/folders/d0/c300r25n785405hhz1typhkr0000gn/T/ocaml-platform-sandbox-092ba2/_opam/.opam-switch/build/dune.3.3.1
# command              ~/.opam/opam-init/hooks/sandbox.sh build ocaml bootstrap.ml -j 7
# exit-code            2
# env-file             ~/.opam/log/dune-25681-93288e.env
# output-file          ~/.opam/log/dune-25681-93288e.out
### output ###
# Undefined symbols for architecture x86_64:
# [...]
#       _caml_builtin_cprim in camlobj58a83a-30e066.o
#   "_unix_wait", referenced from:
#       _caml_builtin_cprim in camlobj58a83a-30e066.o
#   "_unix_waitpid", referenced from:
#       _caml_builtin_cprim in camlobj58a83a-30e066.o
#   "_unix_write", referenced from:
#       _caml_builtin_cprim in camlobj58a83a-30e066.o
# ld: symbol(s) not found for architecture x86_64
# clang: error: linker command failed with exit code 1 (use -v to see invocation)
# File "boot/duneboot.ml", line 1:
# Error: Error while building custom runtime system

#=== ERROR while compiling cmdliner.1.1.1 =====================================#
# context              2.1.2 | macos/x86_64 |  | https://opam.ocaml.org#16aa1285
# path                 /private/var/folders/d0/c300r25n785405hhz1typhkr0000gn/T/ocaml-platform-sandbox-092ba2/_opam/.opam-switch/build/cmdliner.1.1.1
# command              ~/.opam/opam-init/hooks/sandbox.sh build make all PREFIX=/private/var/folders/d0/c300r25n785405hhz1typhkr0000gn/T/ocaml-platform-sandbox-092ba2/_opam
# exit-code            2
# env-file             ~/.opam/log/cmdliner-25681-cd85f9.env
# output-file          ~/.opam/log/cmdliner-25681-cd85f9.out
### output ###
# /var/folders/d0/c300r25n785405hhz1typhkr0000gn/T/camlasmf1955f.s:1224:15: error: unknown token in expression
# [...]
#               ^
# /var/folders/d0/c300r25n785405hhz1typhkr0000gn/T/camlasmf1955f.s:1225:11: error: brackets expression not supported on this target
#  ldr x30, [sp, #8]
#           ^
# /var/folders/d0/c300r25n785405hhz1typhkr0000gn/T/camlasmf1955f.s:1226:14: error: unknown token in expression
#  add sp, sp, #16
#              ^
# File "cmdliner_trie.ml", line 1:
# Error: Assembler error, input left in file /var/folders/d0/c300r25n785405hhz1typhkr0000gn/T/camlasmf1955f.s
# exited with 2: 'ocamlopt.opt' '-g' '-bin-annot' '-safe-string' 'cmdliner.mli' 'cmdliner_base.mli' 'cmdliner_exit.mli' 'cmdliner_manpage.mli' 'cmdliner_trie.mli' 'cmdliner_trie.ml' 'cmdliner_info.mli' 'cmdliner_exit.ml' 'cmdliner_docgen.mli' 'cmdliner_cline.mli' 'cmdliner_base.ml' 'cmdliner_manpage.ml' 'cmdliner_msg.mli' 'cmdliner_term.mli' 'cmdliner_info.ml' 'cmdliner_docgen.ml' 'cmdliner_cmd[...]
# make: *** [Makefile:55: build-native] Error 1

The former state can be restored with:
    /opt/homebrew/bin/opam switch import "/private/var/folders/d0/c300r25n785405hhz1typhkr0000gn/T/ocaml-platform-sandbox-092ba2/_opam/.opam-switch/backup/state-20220707151907.export"

Building merlin...
ocaml-platform: [EXEC:26272] [|"__CFBundleIdentifier=com.apple.Terminal";
                               "_P9K_TTY=/dev/ttys001";
                               "_=/opt/homebrew/bin/ocaml-platform";
                               "XPC_SERVICE_NAME=0"; "XPC_FLAGS=0x0";
                               "USER=koonwen";
                               "TMPDIR=/var/folders/d0/c300r25n785405hhz1typhkr0000gn/T/";
                               "TERM_SESSION_ID=BC018446-AB49-4F10-8E58-0F7D43D85D73";
                               "TERM_PROGRAM_VERSION=445";
                               "TERM_PROGRAM=Apple_Terminal";
                               "TERM=xterm-256color";
                               "SSH_AUTH_SOCK=/private/tmp/com.apple.launchd.a4H7go6kta/Listeners";
                               "SHLVL=1"; "SHELL=/bin/zsh";
                               "PWD=/Users/koonwen";
                               "PATH=/var/folders/d0/c300r25n785405hhz1typhkr0000gn/T/ocaml-platform-system-compiler-db3f61:/Users/koonwen/.opam/4.14.0/bin:/opt/homebrew/opt/make/libexec/gnubin:/opt/homebrew/bin:/opt/homebrew/sbin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Library/TeX/texbin:/Applications/Postgres.app/Contents/Versions/latest/bin:/Users/koonwen/.local/bin:/Users/koonwen/Library/Application Support/JetBrains/Toolbox/scripts";
                               "P9K_TTY=old"; "P9K_SSH=0";
                               "OPAM_SWITCH_PREFIX=/Users/koonwen/.opam/4.14.0";
                               "OPAMNOENVNOTICE=true";
                               "OLDPWD=/Users/koonwen/Repos/opam/src/client";
                               "OCAML_TOPLEVEL_PATH=/Users/koonwen/.opam/4.14.0/lib/toplevel";
                               "MANPATH=/opt/homebrew/share/man::";
                               "LOGNAME=koonwen"; "LC_CTYPE=UTF-8";
                               "INFOPATH=/opt/homebrew/share/info:";
                               "HOMEBREW_REPOSITORY=/opt/homebrew";
                               "HOMEBREW_PREFIX=/opt/homebrew";
                               "HOMEBREW_CELLAR=/opt/homebrew/Cellar";
                               "HOME=/Users/koonwen";
                               "CAML_LD_LIBRARY_PATH=/Users/koonwen/.opam/4.14.0/lib/stublibs:/Users/koonwen/.opam/4.14.0/lib/ocaml/stublibs:/Users/koonwen/.opam/4.14.0/lib/ocaml"|]
                             ['opam' 'install' 'merlin' '--yes' '-q'
                              '--color=never' '--switch'
                              '/var/folders/d0/c300r25n785405hhz1typhkr0000gn/T/ocaml-platform-sandbox-092ba2'
                              '--root' '/Users/koonwen/.opam']
ocaml-platform: [DEBUG] [ERROR] The compilation of dune.3.3.1 failed at "ocaml bootstrap.ml -j 7".
[ERROR] The compilation of ocamlfind.1.9.5 failed at "make opt".

#=== ERROR while compiling ocamlfind.1.9.5 ====================================#
# context              2.1.2 | macos/x86_64 |  | https://opam.ocaml.org#16aa1285
# path                 /private/var/folders/d0/c300r25n785405hhz1typhkr0000gn/T/ocaml-platform-sandbox-092ba2/_opam/.opam-switch/build/ocamlfind.1.9.5
# command              ~/.opam/opam-init/hooks/sandbox.sh build make opt
# exit-code            2
# env-file             ~/.opam/log/ocamlfind-26272-860373.env
# output-file          ~/.opam/log/ocamlfind-26272-860373.out
### output ###
# /var/folders/d0/c300r25n785405hhz1typhkr0000gn/T/camlasm67733c.s:200:15: error: unknown token in expression
# [...]
# /var/folders/d0/c300r25n785405hhz1typhkr0000gn/T/camlasm67733c.s:201:11: error: brackets expression not supported on this target
#  ldr x30, [sp, #8]
#           ^
# /var/folders/d0/c300r25n785405hhz1typhkr0000gn/T/camlasm67733c.s:202:14: error: unknown token in expression
#  add sp, sp, #16
#              ^
# File "findlib_config.ml", line 1:
# Error: Assembler error, input left in file /var/folders/d0/c300r25n785405hhz1typhkr0000gn/T/camlasm67733c.s
# make[1]: *** [Makefile:173: findlib_config.cmx] Error 2
# make[1]: Leaving directory '/private/var/folders/d0/c300r25n785405hhz1typhkr0000gn/T/ocaml-platform-sandbox-092ba2/_opam/.opam-switch/build/ocamlfind.1.9.5/src/findlib'
# make: *** [Makefile:18: opt] Error 2

#=== ERROR while compiling dune.3.3.1 =========================================#
# context              2.1.2 | macos/x86_64 |  | https://opam.ocaml.org#16aa1285
# path                 /private/var/folders/d0/c300r25n785405hhz1typhkr0000gn/T/ocaml-platform-sandbox-092ba2/_opam/.opam-switch/build/dune.3.3.1
# command              ~/.opam/opam-init/hooks/sandbox.sh build ocaml bootstrap.ml -j 7
# exit-code            2
# env-file             ~/.opam/log/dune-26272-b61bca.env
# output-file          ~/.opam/log/dune-26272-b61bca.out
### output ###
# Undefined symbols for architecture x86_64:
# [...]
#       _caml_builtin_cprim in camlobjad6c0f-833ebf.o
#   "_unix_wait", referenced from:
#       _caml_builtin_cprim in camlobjad6c0f-833ebf.o
#   "_unix_waitpid", referenced from:
#       _caml_builtin_cprim in camlobjad6c0f-833ebf.o
#   "_unix_write", referenced from:
#       _caml_builtin_cprim in camlobjad6c0f-833ebf.o
# ld: symbol(s) not found for architecture x86_64
# clang: error: linker command failed with exit code 1 (use -v to see invocation)
# File "boot/duneboot.ml", line 1:
# Error: Error while building custom runtime system

Building dune-release...
ocaml-platform: [EXEC:26694] [|"__CFBundleIdentifier=com.apple.Terminal";
                               "_P9K_TTY=/dev/ttys001";
                               "_=/opt/homebrew/bin/ocaml-platform";
                               "XPC_SERVICE_NAME=0"; "XPC_FLAGS=0x0";
                               "USER=koonwen";
                               "TMPDIR=/var/folders/d0/c300r25n785405hhz1typhkr0000gn/T/";
                               "TERM_SESSION_ID=BC018446-AB49-4F10-8E58-0F7D43D85D73";
                               "TERM_PROGRAM_VERSION=445";
                               "TERM_PROGRAM=Apple_Terminal";
                               "TERM=xterm-256color";
                               "SSH_AUTH_SOCK=/private/tmp/com.apple.launchd.a4H7go6kta/Listeners";
                               "SHLVL=1"; "SHELL=/bin/zsh";
                               "PWD=/Users/koonwen";
                               "PATH=/var/folders/d0/c300r25n785405hhz1typhkr0000gn/T/ocaml-platform-system-compiler-db3f61:/Users/koonwen/.opam/4.14.0/bin:/opt/homebrew/opt/make/libexec/gnubin:/opt/homebrew/bin:/opt/homebrew/sbin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Library/TeX/texbin:/Applications/Postgres.app/Contents/Versions/latest/bin:/Users/koonwen/.local/bin:/Users/koonwen/Library/Application Support/JetBrains/Toolbox/scripts";
                               "P9K_TTY=old"; "P9K_SSH=0";
                               "OPAM_SWITCH_PREFIX=/Users/koonwen/.opam/4.14.0";
                               "OPAMNOENVNOTICE=true";
                               "OLDPWD=/Users/koonwen/Repos/opam/src/client";
                               "OCAML_TOPLEVEL_PATH=/Users/koonwen/.opam/4.14.0/lib/toplevel";
                               "MANPATH=/opt/homebrew/share/man::";
                               "LOGNAME=koonwen"; "LC_CTYPE=UTF-8";
                               "INFOPATH=/opt/homebrew/share/info:";
                               "HOMEBREW_REPOSITORY=/opt/homebrew";
                               "HOMEBREW_PREFIX=/opt/homebrew";
                               "HOMEBREW_CELLAR=/opt/homebrew/Cellar";
                               "HOME=/Users/koonwen";
                               "CAML_LD_LIBRARY_PATH=/Users/koonwen/.opam/4.14.0/lib/stublibs:/Users/koonwen/.opam/4.14.0/lib/ocaml/stublibs:/Users/koonwen/.opam/4.14.0/lib/ocaml"|]
                             ['opam' 'install' 'dune-release' '--yes' '-q'
                              '--color=never' '--switch'
                              '/var/folders/d0/c300r25n785405hhz1typhkr0000gn/T/ocaml-platform-sandbox-092ba2'
                              '--root' '/Users/koonwen/.opam']
ocaml-platform: [DEBUG] [ERROR] The compilation of dune.3.3.1 failed at "ocaml bootstrap.ml -j 7".
[ERROR] The compilation of ocamlbuild.0.14.1 failed at "make check-if-preinstalled all opam-install".
[ERROR] The compilation of cmdliner.1.1.1 failed at "make all PREFIX=/private/var/folders/d0/c300r25n785405hhz1typhkr0000gn/T/ocaml-platform-sandbox-092ba2/_opam".
[ERROR] The compilation of ocamlfind.1.9.5 failed at "make opt".

#=== ERROR while compiling ocamlfind.1.9.5 ====================================#
# context              2.1.2 | macos/x86_64 |  | https://opam.ocaml.org#16aa1285
# path                 /private/var/folders/d0/c300r25n785405hhz1typhkr0000gn/T/ocaml-platform-sandbox-092ba2/_opam/.opam-switch/build/ocamlfind.1.9.5
# command              ~/.opam/opam-init/hooks/sandbox.sh build make opt
# exit-code            2
# env-file             ~/.opam/log/ocamlfind-26694-7ec44f.env
# output-file          ~/.opam/log/ocamlfind-26694-7ec44f.out
### output ###
# /var/folders/d0/c300r25n785405hhz1typhkr0000gn/T/camlasm141912.s:200:15: error: unknown token in expression
# [...]
# /var/folders/d0/c300r25n785405hhz1typhkr0000gn/T/camlasm141912.s:201:11: error: brackets expression not supported on this target
#  ldr x30, [sp, #8]
#           ^
# /var/folders/d0/c300r25n785405hhz1typhkr0000gn/T/camlasm141912.s:202:14: error: unknown token in expression
#  add sp, sp, #16
#              ^
# File "findlib_config.ml", line 1:
# Error: Assembler error, input left in file /var/folders/d0/c300r25n785405hhz1typhkr0000gn/T/camlasm141912.s
# make[1]: *** [Makefile:173: findlib_config.cmx] Error 2
# make[1]: Leaving directory '/private/var/folders/d0/c300r25n785405hhz1typhkr0000gn/T/ocaml-platform-sandbox-092ba2/_opam/.opam-switch/build/ocamlfind.1.9.5/src/findlib'
# make: *** [Makefile:18: opt] Error 2

#=== ERROR while compiling ocamlbuild.0.14.1 ==================================#
# context              2.1.2 | macos/x86_64 |  | https://opam.ocaml.org#16aa1285
# path                 /private/var/folders/d0/c300r25n785405hhz1typhkr0000gn/T/ocaml-platform-sandbox-092ba2/_opam/.opam-switch/build/ocamlbuild.0.14.1
# command              ~/.opam/opam-init/hooks/sandbox.sh build make check-if-preinstalled all opam-install
# exit-code            2
# env-file             ~/.opam/log/ocamlbuild-26694-70a0a3.env
# output-file          ~/.opam/log/ocamlbuild-26694-70a0a3.out
### output ###
# [...]
# /var/folders/d0/c300r25n785405hhz1typhkr0000gn/T/camlasm28383e.s:164:11: error: brackets expression not supported on this target
#  ldr x22, [x22, _camlOcamlbuild_pack__Const__10@GOTPAGEOFF]
#           ^
# /var/folders/d0/c300r25n785405hhz1typhkr0000gn/T/camlasm28383e.s:165:11: error: brackets expression not supported on this target
#  str x22, [x0, #0]
#           ^
# /var/folders/d0/c300r25n785405hhz1typhkr0000gn/T/camlasm28383e.s:166:15: error: unknown token in expression
#  orr x0, xzr, #1
#               ^
# File "src/const.ml", line 1:
# Error: Assembler error, input left in file /var/folders/d0/c300r25n785405hhz1typhkr0000gn/T/camlasm28383e.s
# make: *** [Makefile:428: src/const.cmx] Error 2

#=== ERROR while compiling dune.3.3.1 =========================================#
# context              2.1.2 | macos/x86_64 |  | https://opam.ocaml.org#16aa1285
# path                 /private/var/folders/d0/c300r25n785405hhz1typhkr0000gn/T/ocaml-platform-sandbox-092ba2/_opam/.opam-switch/build/dune.3.3.1
# command              ~/.opam/opam-init/hooks/sandbox.sh build ocaml bootstrap.ml -j 7
# exit-code            2
# env-file             ~/.opam/log/dune-26694-8153a3.env
# output-file          ~/.opam/log/dune-26694-8153a3.out
### output ###
# Undefined symbols for architecture x86_64:
# [...]
#       _caml_builtin_cprim in camlobj474a94-794857.o
#   "_unix_wait", referenced from:
#       _caml_builtin_cprim in camlobj474a94-794857.o
#   "_unix_waitpid", referenced from:
#       _caml_builtin_cprim in camlobj474a94-794857.o
#   "_unix_write", referenced from:
#       _caml_builtin_cprim in camlobj474a94-794857.o
# ld: symbol(s) not found for architecture x86_64
# clang: error: linker command failed with exit code 1 (use -v to see invocation)
# File "boot/duneboot.ml", line 1:
# Error: Error while building custom runtime system

#=== ERROR while compiling cmdliner.1.1.1 =====================================#
# context              2.1.2 | macos/x86_64 |  | https://opam.ocaml.org#16aa1285
# path                 /private/var/folders/d0/c300r25n785405hhz1typhkr0000gn/T/ocaml-platform-sandbox-092ba2/_opam/.opam-switch/build/cmdliner.1.1.1
# command              ~/.opam/opam-init/hooks/sandbox.sh build make all PREFIX=/private/var/folders/d0/c300r25n785405hhz1typhkr0000gn/T/ocaml-platform-sandbox-092ba2/_opam
# exit-code            2
# env-file             ~/.opam/log/cmdliner-26694-4acccb.env
# output-file          ~/.opam/log/cmdliner-26694-4acccb.out
### output ###
# /var/folders/d0/c300r25n785405hhz1typhkr0000gn/T/camlasm37904d.s:1224:15: error: unknown token in expression
# [...]
#               ^
# /var/folders/d0/c300r25n785405hhz1typhkr0000gn/T/camlasm37904d.s:1225:11: error: brackets expression not supported on this target
#  ldr x30, [sp, #8]
#           ^
# /var/folders/d0/c300r25n785405hhz1typhkr0000gn/T/camlasm37904d.s:1226:14: error: unknown token in expression
#  add sp, sp, #16
#              ^
# File "cmdliner_trie.ml", line 1:
# Error: Assembler error, input left in file /var/folders/d0/c300r25n785405hhz1typhkr0000gn/T/camlasm37904d.s
# exited with 2: 'ocamlopt.opt' '-g' '-bin-annot' '-safe-string' 'cmdliner.mli' 'cmdliner_base.mli' 'cmdliner_exit.mli' 'cmdliner_manpage.mli' 'cmdliner_trie.mli' 'cmdliner_trie.ml' 'cmdliner_info.mli' 'cmdliner_exit.ml' 'cmdliner_docgen.mli' 'cmdliner_cline.mli' 'cmdliner_base.ml' 'cmdliner_manpage.ml' 'cmdliner_msg.mli' 'cmdliner_term.mli' 'cmdliner_info.ml' 'cmdliner_docgen.ml' 'cmdliner_cmd[...]
# make: *** [Makefile:55: build-native] Error 1

ocaml-platform: [EXEC:27352] ['opam' 'switch' 'remove'
                              '/var/folders/d0/c300r25n785405hhz1typhkr0000gn/T/ocaml-platform-sandbox-092ba2'
                              '--yes' '-q' '--color=never' '--root'
                              '/Users/koonwen/.opam']
ocaml-platform: [ERROR] Command 'opam install dune-release --yes -q --color=never --switch
           /var/folders/d0/c300r25n785405hhz1typhkr0000gn/T/ocaml-platform-sandbox-092ba2
           --root /Users/koonwen/.opam' failed: exited with 31
ocaml-platform: [ERROR] Command 'opam install merlin --yes -q --color=never --switch
           /var/folders/d0/c300r25n785405hhz1typhkr0000gn/T/ocaml-platform-sandbox-092ba2
           --root /Users/koonwen/.opam' failed: exited with 31
ocaml-platform: [ERROR] Command 'opam install odoc --yes -q --color=never --switch
           /var/folders/d0/c300r25n785405hhz1typhkr0000gn/T/ocaml-platform-sandbox-092ba2
           --root /Users/koonwen/.opam' failed: exited with 31
Julow commented 2 years ago

I can't explain any of the errors.

Can you try opam install ocamlfind odoc, to see if it's a problem in your Opam? If that fails with similar errors, phew! Otherwise, it might be related to the sandbox switch.

koonwen commented 2 years ago

Update: opam install ocamlfind odoc works fine.

Could it be that my opam installation is an amd64 version when it should ocaml-platform expects x86-64 architecture?

Julow commented 2 years ago

Sorry for the slow reply. There's no difference between amd64 and x86-64 but we've seen the same error on a macos arm64, where both arm and amd64 code are linked together (eg. arm64 code stored on the Opam switch and amd64 code compiled when the installer, itself amd64 code, calls opam install which somehow confuses the compiler).

Do you have an arm64 but expects to use Opam and OCaml built as amd64 executables ?

tmattio commented 2 years ago

Version 0.3.0 was released with support for macOS Arm64, this should solve the issue. Feel free to re-open if not