From fd8dcd7b88925dbb8203b0d2ec6ac62fe667676c Mon Sep 17 00:00:00 2001 From: Paul Eggleton Date: Thu, 9 May 2013 11:22:26 +0100 Subject: [PATCH] bitbake: bin/bitbake: add a check for /dev/shm existing Python multiprocessing needs /dev/shm, and if it doesn't exist (e.g. in a chroot environment) or is not writable, you'll get "OSError: [Errno 38] Function not implemented" or "OSError: [Errno 13] Permission denied" with a traceback, which doesn't really help to explain what is wrong. Implements [YOCTO #4407]. (Bitbake rev: e7460d01f281f913a94192e1f4bd20688164bdd4) Signed-off-by: Paul Eggleton Signed-off-by: Richard Purdie --- bitbake/bin/bitbake | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/bitbake/bin/bitbake b/bitbake/bin/bitbake index e05ff5bd38..1f9bbc4039 100755 --- a/bitbake/bin/bitbake +++ b/bitbake/bin/bitbake @@ -43,6 +43,10 @@ from bb import server __version__ = "1.19.0" logger = logging.getLogger("BitBake") +# Python multiprocessing requires /dev/shm +if not os.access('/dev/shm', os.W_OK | os.X_OK): + sys.exit("FATAL: /dev/shm does not exist or is not writable") + # Unbuffer stdout to avoid log truncation in the event # of an unorderly exit as well as to provide timely # updates to log files for use with tail