Обходной путь, который позволяет вам использовать `mk-build-deps` (и fakeroot) в подсистеме Windows Linux в Windows 10

1376
unforgettableid

apt-get build-dep

apt-get build-depэто полезный инструмент. Он устанавливает «зависимости сборки» указанного приложения.

Например:

sudo apt-get build-dep firefox

установит все инструменты, необходимые для компиляции Firefox.

тк-BUILD-Deps

Раньше не было простого способа отменить apt-get build-depоперацию.

Но в наше время mk-build-depsприходит на помощь. Вместо использования apt-get build-depвы можете использовать mk-build-depsдля создания нового пакета, который зависит от зависимостей вашего любимого приложения.

mk-build-depsскрипт Perl, который входит в состав devscriptsпакета

Затем вы можете использовать aptitude installдля установки нового пакета и aptitude removeего установки (вместе с его зависимостями).

Подсистема Windows Linux

Подсистема Windows для Linux (WSL) - это уровень совместимости, который позволяет вам использовать часть (но не все) некоторых дистрибутивов Linux поверх Windows 10.

Мой вопрос

Я пытался бежать mk-build-deps jpilot. Я использовал Ubuntu 16.04.2, в подсистеме Windows Linux, в Windows 10 версии 1703 (сборка ОС 15063.483).

Я получил этот вывод:

fakeroot, while creating message channels: Function not implemented This may be due to a lack of SYSV IPC support. fakeroot: error while starting the `faked' daemon. kill: usage: kill [-s sigspec | -n signum | -sigspec] pid | jobspec ... or kill -l [sigspec] Error in the build process: exit status 1 

Какой обходной путь?

2

1 ответ на вопрос

5
unforgettableid

Проблема заключается в том, что версия System V IPC fakerootне работает должным образом в этой версии Windows.

Решение состоит в том, чтобы выполнить команду:

sudo update-alternatives --set fakeroot /usr/bin/fakeroot-tcp

После того, как вы выполните команду один раз, она mk-build-depsбудет работать, как и ожидалось, навсегда.

(Мой ответ основан на посте пользователя Hacker News "danieldk".)

Похожие вопросы