Open xinyuluo opened 2 years ago
It looks similar as https://github.com/ocaml/opam-repository/issues/21311
brew unlink binutils
should be enough to fix this
@kit-ty-kate thanks for the reply! yeah I did try to look into similar issues and tried the solution proposed above, but it didn't seem to work for me.
% brew unlink binutils
Unlinking /usr/local/Cellar/binutils/2.37... 0 symlinks removed.
This issue has been open 90 days with no activity. Consequently, it is being marked with the "stale" label. What this means is that the issue will be automatically closed in 30 days unless more comments are added or the "stale" label is removed. If you come across this issue in the future, you may also find it helpful to visit our forum at https://discuss.ocaml.org where queries related to OCaml package management are very welcome.
I'm having the similiar problem.
$ opam switch create 4.14.0
[NOTE] It seems you have not updated your repositories for a while. Consider updating them with:
opam update
<><> Installing new switch packages <><><><><><><><><><><><><><><><><><><><> π«
Switch invariant: ["ocaml-base-compiler" {= "4.14.0"} | "ocaml-system" {= "4.14.0"}]
<><> Processing actions <><><><><><><><><><><><><><><><><><><><><><><><><><> π«
β installed base-bigarray.base
β installed base-threads.base
β installed base-unix.base
β installed ocaml-options-vanilla.1
β¬ retrieved ocaml-base-compiler.4.14.0 (cached)
[ERROR] The compilation of ocaml-base-compiler.4.14.0 failed at "make -j7".
#=== ERROR while compiling ocaml-base-compiler.4.14.0 =========================#
# context 2.1.2 | macos/arm64 | | https://opam.ocaml.org#56c52003
# path ~/.opam/4.14.0/.opam-switch/build/ocaml-base-compiler.4.14.0
# command ~/.opam/opam-init/hooks/sandbox.sh build make -j7
# exit-code 2
# env-file ~/.opam/log/ocaml-base-compiler-46553-c661dc.env
# output-file ~/.opam/log/ocaml-base-compiler-46553-c661dc.out
### output ###
# Undefined symbols for architecture arm64:
# [...]
# "_caml_weak_get_copy", referenced from:
# _caml_builtin_cprim in prims.o
# "_caml_weak_set", referenced from:
# _caml_builtin_cprim in prims.o
# "_main", referenced from:
# implicit entry/start for main executable
# ld: symbol(s) not found for architecture arm64
# clang: error: linker command failed with exit code 1 (use -v to see invocation)
# make[2]: *** [ocamlruni] Error 1
# make[1]: *** [coldstart] Error 2
# make: *** [world.opt] Error 2
<><> Error report <><><><><><><><><><><><><><><><><><><><><><><><><><><><><> π«
ββ The following actions failed
β Ξ» build ocaml-base-compiler 4.14.0
ββ
ββ The following changes have been performed (the rest was aborted)
β β install base-bigarray base
β β install base-threads base
β β install base-unix base
β β install ocaml-options-vanilla 1
ββ
<><> ocaml-base-compiler.4.14.0 troubleshooting <><><><><><><><><><><><><><> π«
=> A failure in the middle of the build may be caused by build parallelism
(enabled by default).
Please file a bug report at https://github.com/ocaml/opam-repository/issues
=> You can try installing again including --jobs=1
to force a sequential build instead.
# Run eval $(opam env --switch=4.14.0) to update the current shell environment
Switch initialisation failed: clean up? ('n' will leave the switch partially installed) [Y/n] y
$ opam config report
# opam config report
# opam-version 2.1.2
# self-upgrade no
# system arch=arm64 os=macos os-distribution=homebrew os-version=12.6
[ERROR] No switch is currently set. Please use 'opam switch' to set or install a switch
# read-state OpamStd.OpamSys.Exit(50)
In there any chance you could provide the complete output. For example in your previous run, the files were located in:
# env-file ~/.opam/log/ocaml-base-compiler-46553-c661dc.env
# output-file ~/.opam/log/ocaml-base-compiler-46553-c661dc.out
@kit-ty-kate
In there any chance you could provide the complete output. For example in your previous run, the files were located in:
# env-file ~/.opam/log/ocaml-base-compiler-46553-c661dc.env # output-file ~/.opam/log/ocaml-base-compiler-46553-c661dc.out
Thanks a lot! I can see you have /usr/local/opt/llvm/bin
and /usr/local/opt/binutils/bin
in your PATH
as well as some nix stuff.
Could you try to remove each of them one by one from the PATH and see if it works this way?
Itβs probably one of the tools used to compile thatβs incompatible with the rest of the system.
ld: warning: directory not found for option '-L/usr/local/opt/llvm/lib'
This line is especially suspicious so Iβm leaning towards /usr/local/opt/llvm/bin
being the problem though I canβt be sure.
After removing binutils
in nix
, it succeeds to install it! Thanks!
Hi, I have trouble creating opam switch and the log message asked me to create an issue here:
and when I tried to install a specific switch, for instance,
For more information,