apt-get build-dep

apt-get build-dep is a useful tool. It installs the "build dependencies" of the specified application.

For example:

sudo apt-get build-dep firefox

will install all the tools you need in order to compile Firefox.


There used to be no easy way to undo an apt-get build-dep operation.

But nowadays, mk-build-deps comes to your rescue. Instead of using apt-get build-dep, you use can use mk-build-deps to create a new package which depends on your favorite application's dependencies.

mk-build-deps is a Perl script which is included as part of the devscripts package.

You can then use aptitude install to install the new package, and aptitude remove to install it (along with its dependencies).

Windows Linux Subsystem

The Windows Subsystem for Linux (WSL) is a compatibility layer which lets you use part (but not all) of certain Linux distributions on top of Windows 10.

My question

I tried to run mk-build-deps jpilot. I was using Ubuntu 16.04.2, on the Windows Linux Subsystem, on Windows 10 version 1703 (OS build 15063.483).

I got this output:

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

What's the workaround?


The problem is that the System V IPC version of fakeroot doesn't work properly on this version of Windows.

The solution is to run the command:

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

After you've run the command one time, mk-build-deps will work as expected, forever.

(My answer is based on a post by Hacker News user "danieldk".)

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.