Автор Тема: OCaml: не работает opam switch (в Alt сломан bwrap?)  (Прочитано 2489 раз)

Оффлайн yushi

  • Давно тут
  • **
  • Сообщений: 72
Кто-нибудь здесь работает с OCaml?

Пытаюсь воспользоваться opam switch, не работает:
sudo apt-get install ocaml
sudo apt-get install opam
opam init
eval $(opam env)
opam switch create -v 4.06.1
приводит к такому:
∗ 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]

Пробовал удалять системные OCaml и OPAM и ставить бинарную сборку OPAM с GitHub — тот же эффект.

Судя по содержанию файла ~/.opam/opam-init/hooks/sandbox.sh и тексту «OCaml version mismatch: 4.07.1, expected 4.06.1», OPAM не может настроить сборочное окружение: вместо 4.06.1 из ~/.opam вызывается системный 4.07.1. То есть, видимо, в Alt сломан либо bwrap, либо какие-то лежащие под bwrap механизмы. Но это только моя гипотеза, я слабо представляю себе устройство потрохов что bwrap, что OPAM.

Оффлайн yushi

  • Давно тут
  • **
  • Сообщений: 72
Ага, моя гипотеза оказалась верной, сломан bwrap.

Собрал свежий bwrap с https://github.com/containers/bubblewrap, положил в ~/bin — всё заработало.

Оффлайн Skull

  • Глобальный модератор
  • *****
  • Сообщений: 19 925
    • Домашняя страница
    • Email
Повешайте багу в bugs.altlinux.org, пожалуйста.
Андрей Черепанов (cas@)

Оффлайн yushi

  • Давно тут
  • **
  • Сообщений: 72
Повешайте багу в bugs.altlinux.org, пожалуйста.

https://bugzilla.altlinux.org/show_bug.cgi?id=38374