4

I am trying to build Buildroot image for Raspberry Pi 3, as found on page: https://github.com/buildroot/buildroot/tree/f8ff7ab0be1cd3aa846829dc234d8c67b1bda0dc/board/raspberrypi .

I am using Windows Subsystem for Linux, which I have upgraded to version of Ubuntu 16.04.02 .
Version of Buildroot is 2017.05.2.

However, when running make I observe following output in bash:

/home/rijad/buildroot-2017.05.2/output/host/usr/bin/fakeroot --
/home/rijad/buildroot-2017.05.2/output/build/_fakeroot.fs
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]
fs/ext2/ext2.mk:42: recipe for target '/home/rijad/buildroot-2017.05.2/output/images/rootfs.ext2' failed
make[1]: *** [/home/rijad/buildroot-2017.05.2/output/images/rootfs.ext2] Error 1
Makefile:79: recipe for target '_all' failed
make: *** [_all] Error 2

Is there any way to enable SysV IPC support on WSL, or run fakeroot with TCP IPC support?

Thanks!

Ricky12
  • 45
  • 1
  • 4

3 Answers3

7

Running in to the same issue myself and fighting with it a while I added the following command to run before building the file system

cp -f /usr/bin/fakeroot-tcp /path-to-buildroot/output/host/usr/bin/fakeroot
shmuelie
  • 1,205
  • 1
  • 9
  • 24
  • @Ricky12, consider accepting this answer since it solved your problem. (By the way, it solved mine as well.) – applesoup Dec 03 '18 at 13:10
2

An issue has been opened in Windows Subsystem for Linux: https://github.com/Microsoft/BashOnWindows/issues/2465

SYSV IPS message queues has not yet been implemented in the current kernel:

The lack of Sysvipc message queues breaks fakeroot

slaadvak
  • 4,611
  • 1
  • 24
  • 34
1

On buildroot 2017.08.1, I modified fs/common.mk:109 as bellow, and succeeded to make rootfs!

# before
PATH=$$(BR_PATH) $$(HOST_DIR)/bin/fakeroot -- $$(FAKEROOT_SCRIPT)
# after
if [ `uname -r | grep "Microsoft"` ] ; then \
    cp -f `which fakeroot-tcp` $$(HOST_DIR)/bin/fakeroot ; fi
sssai
  • 11
  • 1