Bind /dev/shm

POSIX semaphores need /dev/shm to work. Without this, python
multiprocessing gives errors:

```
Traceback (most recent call last):
  ...
  File "/usr/lib/python2.7/multiprocessing/synchronize.py", line 75, in __init__
    sl = self._semlock = _multiprocessing.SemLock(kind, value, maxvalue)
OSError: [Errno 13] Permission denied
```

Co-authored-by: Alexander Sosedkin <monk@unboiled.info>
Co-authored-by: Tobias Happ <tobias.happ@gmx.de>
This commit is contained in:
Zhong Jianxin 2021-10-18 15:59:15 +08:00 committed by Alexander Sosedkin
parent 31fd02ba4a
commit 149e5c8869
2 changed files with 3 additions and 1 deletions

View file

@ -33,7 +33,9 @@ writeScript "login" ''
-b ${installationDir}/bin:/bin \ -b ${installationDir}/bin:/bin \
-b ${installationDir}/etc:/etc \ -b ${installationDir}/etc:/etc \
-b ${installationDir}/tmp:/tmp \ -b ${installationDir}/tmp:/tmp \
-b ${installationDir}/tmp:/dev/shm \
-b ${installationDir}/usr:/usr \ -b ${installationDir}/usr:/usr \
-b ${installationDir}/dev/shm:/dev/shm \
-b /:/android \ -b /:/android \
--link2symlink \ --link2symlink \
${builtins.concatStringsSep " " extraProotOptions} \ ${builtins.concatStringsSep " " extraProotOptions} \

View file

@ -7,7 +7,7 @@ let
in in
runCommand "bootstrap" { } '' runCommand "bootstrap" { } ''
mkdir --parents $out/{.l2s,bin,etc,nix,root,tmp,usr/{bin,lib}} mkdir --parents $out/{.l2s,bin,dev/shm,etc,nix,root,tmp,usr/{bin,lib}}
cp --recursive ${nixDirectory}/store $out/nix/store cp --recursive ${nixDirectory}/store $out/nix/store
cp --recursive ${nixDirectory}/var $out/nix/var cp --recursive ${nixDirectory}/var $out/nix/var