Установка OCAML в Windows 10 с использованием WSL (UBUNTU).Проблемы с bwrap (BubbleWrap) - PullRequest
0 голосов
/ 04 марта 2019

Я новичок в Linux и OCAML.Я понял, что заставить OCaml работать на Windows не так просто.Я нашел эту ссылку:

https://www.cs.umd.edu/class/spring2018/cmsc330/ocamlInstallationGuide.pdf#page=14&zoom=100,0,96

Тем не менее, я подозреваю, что это то, что датировано, поскольку они ссылаются на 4.04, являющуюся последней версией OCaml, и в настоящее время существует 4.07.Я также подозреваю, что OCaml теперь требует bwrap, и это источник моих проблем и вопросов.Я подчеркиваю, что я просто хочу, чтобы OCaml работал на Windows.Если есть намного более простой способ, чем использование WSL (Windows Subsystem для Linux), я с радостью сделаю это.

При создании переключателя с помощью:

переключатель opam создайте ocaml-base-compiler.4.07.0,

Я получаю следующую ошибку:

bwrap: не удалось создать новое пространство имен, вероятно, потому что ядро ​​не поддерживает пространства имен пользователя.В таких системах bwrap должен быть установлен setuid.

Я понял, что мне нужен bwrap, и я пробовал различные команды, такие как:

wget https://mirrors.edge.kernel.org/ubuntu/pool/main/b/bubblewrap/bubblewrap_0.3.1-2_amd64.deb, за которыми следуют: sudo dpkg -i bubblewrap_0.3.1-2_amd64.deb

Установка прошла нормально, но я все еще получаю ошибку.Должен признать, что я не знаю, что означает: «bwrap должен быть установлен setuid в таких системах».

1) Как мне установить bwrap?

Этот сайт:

https://github.com/projectatomic/bubblewrap/issues/139

, кажется, указывает на то, что bwrap не может работать в период Windows: «Flatpak и bubblewrap требуют Linux. WSL - это не Linux, это Windows, притворяющаяся Linux, и не имеющаяполный набор функций современного ядра Linux. Насколько я знаю, оно не реализует пространства имен, поэтому вам не повезло. "

2) Могу ли я запустить OCaml и запустить его в Windowsиспользуя WSL или есть лучший подход?

Наконец, я не предан UBUNTU.Если есть лучший / более простой дистрибутив для использования с WSL для установки OCAML, у меня нет проблем с изменением!

Спасибо, Дейв

1 Ответ

0 голосов
/ 05 марта 2019

Вот что я сделал, чтобы все заработало.Основываясь на этом комментарии:

"Я могу обойти это, удалив ~ / .opam / config, я думаю, и используя opam init --disable-sandboxing, но это несколько меньше, чем идеальный пользовательский опыт. "

https://github.com/ocaml/opam/issues/3505

и эта инструкция:

" Действительно, bwrap не поддерживается WSL (см. Эту проблему). Чтобы иметь возможность использовать опам вВ вашем случае вы можете отключить «песочницу» (используйте с осторожностью), используя опцию --disable-sandboxing для инициализации свежего опама или через opamrc. Для инициализированного опама вы не можете использовать эту опцию, но измените конфигурацию непосредственно вКонфигурационный файл, удалив / empty wrap - * - Поля команд. Смотрите эту запись faq для получения дополнительной информации. И я повторяю предупреждение здесь: «Мудро используйте [sanbdoxing disable option]], испорченные Make-файлы, которые запускают rm -rf / do случаются». »

от:

https://opam.ocaml.org/doc/FAQ.html#Why-does-opam-require-bwrap

Я уничтожил каталог .opam и выполнил

opam init --disable-sandboxing

перед этим я сделал:

rm -r .opутра

Я еще раз упомяну все предупреждения об опасном отключении песочницы (см. ссылки).

Я сейчас использую OCaml 4.07.0 !!!

Надеюсь, это кому-нибудь поможет

...