При попытке создать opam switch подхватывается системный компилятор вместо компилятора из свитча: ∗ installed ocaml-base-compiler.4.06.1 ∗ installed ocaml-config.1 + /home/uri/.opam/opam-init/hooks/sandbox.sh "build" "ocaml" "/home/uri/.opam/4.06.1/share/ocaml-config/gen_ocaml_config.ml" "4.06.1" "ocaml" (CWD=/home/uri/.opam/4.06.1/.opam-switch/build/ocaml.4.06.1) - OCaml version mismatch: 4.07.1, expected 4.06.1 [ERROR] The compilation of ocaml failed at "/home/uri/.opam/opam-init/hooks/sandbox.sh build ocaml /home/uri/.opam/4.06.1/share/ocaml-config/gen_ocaml_config.ml 4.06.1 ocaml". #=== ERROR while compiling ocaml.4.06.1 =======================================# # context 2.0.4 | linux/x86_64 | ocaml-base-compiler.4.06.1 | https://opam.ocaml.org#9a781470 # path ~/.opam/4.06.1/.opam-switch/build/ocaml.4.06.1 # command ~/.opam/opam-init/hooks/sandbox.sh build ocaml /home/uri/.opam/4.06.1/share/ocaml-config/gen_ocaml_config.ml 4.06.1 ocaml # exit-code 1 # env-file ~/.opam/log/ocaml-154708-548b09.env # output-file ~/.opam/log/ocaml-154708-548b09.out ### output ### # OCaml version mismatch: 4.07.1, expected 4.06.1 <><> Error report <><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><> ┌─ The following actions failed │ λ build ocaml 4.06.1 └─ ┌─ The following changes have been performed │ ∗ install base-bigarray base │ ∗ install base-threads base │ ∗ install base-unix base │ ∗ install ocaml-base-compiler 4.06.1 │ ∗ install ocaml-config 1 └─ # Run eval $(opam env) to update the current shell environment Switch initialisation failed: clean up? ('n' will leave the switch partially installed) [Y/n] Это связано с неработоспособным Bubblewrap в AltLinux — несмотря на bwrap, изнутри свитча подхватывается системный компилятор. Сработавший у меня костыль — собрать Bubblewrap 0.4.1 с гитхаба и положить в ~/bin. Возможные решения: - обновить Bubblewrap в AltLinux, - таскать вместе с opam новый Bubblewrap.
bubblewrap исправлен в p9 начиная с версии 0.4.1-alt2, соответственно opam тоже должен начать работать.