Hi,
I'm trying to install some packages using nixpkgs on osx using egg2nix and ran into a strange issue with llrb-tree. It cannot be installed because of failure to create a strange path. Other packages like srfi-69, list-utils, etc can be installed though. Below is a snippet of trying to install llrb-tree: these derivations will be built: /nix/store/88v0h58kdj8jlyp4r40f9ppkjhr6drz1-chicken-llrb-tree-0.3.8.drv building '/nix/store/88v0h58kdj8jlyp4r40f9ppkjhr6drz1-chicken-llrb-tree-0.3.8.drv'... unpacking sources unpacking source archive /nix/store/2gaq2jwbg6788dkvfq200947d6x461qy-chicken-llrb-tree-export source root is chicken-llrb-tree-export patching sources configuring no configure script, doing nothing building no Makefile, doing nothing installing Error: (create-directory) cannot create directory - Permission denied: "/homeless-shelter" builder for '/nix/store/88v0h58kdj8jlyp4r40f9ppkjhr6drz1-chicken-llrb-tree-0.3.8.drv' failed with exit code 70 error: build of '/nix/store/88v0h58kdj8jlyp4r40f9ppkjhr6drz1-chicken-llrb-tree-0.3.8.drv' failed Attached is a shell.nix that can reproduce the issue. Note that on osx, you will need a very up-to-date nix as chicken was just marked as working on osx. I'm guessing that at some point chicken-install wants to create a path in $HOME, which is set to /homeless-shelter by nix during a build. Nix already sets CHICKEN_INSTALL_PREFIX and CHICKEN_INSTALL_REPOSITORY, but is there any other path that needs to be set/created? Thanks for any help! Kind Regards, Blake Sweeney |
Hi Blake,
On Sat, 21 Nov 2020 12:09:22 +0000 Blake Sweeney <[hidden email]> wrote: > I'm trying to install some packages using nixpkgs on osx using egg2nix and ran > into a strange issue with llrb-tree. It cannot be installed because of failure > to create a strange path. Other packages like srfi-69, list-utils, etc can be > installed though. Below is a snippet of trying to install llrb-tree: > > these derivations will be built: > /nix/store/88v0h58kdj8jlyp4r40f9ppkjhr6drz1-chicken-llrb-tree-0.3.8.drv > building '/nix/store/88v0h58kdj8jlyp4r40f9ppkjhr6drz1-chicken-llrb-tree-0.3.8.drv'... > unpacking sources > unpacking source archive /nix/store/2gaq2jwbg6788dkvfq200947d6x461qy-chicken-llrb-tree-export > source root is chicken-llrb-tree-export > patching sources > configuring > no configure script, doing nothing > building > no Makefile, doing nothing > installing > > Error: (create-directory) cannot create directory - Permission denied: "/homeless-shelter" > builder for '/nix/store/88v0h58kdj8jlyp4r40f9ppkjhr6drz1-chicken-llrb-tree-0.3.8.drv' failed with exit code 70 > error: build of '/nix/store/88v0h58kdj8jlyp4r40f9ppkjhr6drz1-chicken-llrb-tree-0.3.8.drv' failed > > Attached is a shell.nix that can reproduce the issue. Note that on osx, you will > need a very up-to-date nix as chicken was just marked as working on osx. > > I'm guessing that at some point chicken-install wants to create a path in $HOME, > which is set to /homeless-shelter by nix during a build. Nix already sets > CHICKEN_INSTALL_PREFIX and CHICKEN_INSTALL_REPOSITORY, but is there any other > path that needs to be set/created? Thanks for any help! Maybe the cache created by chicken-install [1]? If you don't want it to use a directory in the user home directory, you can configure the CHICKEN_EGG_CACHE environment variable to point to another directory. [1] https://code.call-cc.org/cgi-bin/gitweb.cgi?p=chicken-core.git;a=blob;f=library.scm;h=d1b6ad229f2e9d3444973345c7778319b30a9c54;hb=HEAD#l6619 All the best. Mario -- http://parenteses.org/mario |
Hi,
On Sat, Nov 21, 2020 at 01:18:59PM +0100, Mario Domenech Goulart wrote: > Maybe the cache created by chicken-install [1]? > > If you don't want it to use a directory in the user home directory, you > can configure the CHICKEN_EGG_CACHE environment variable to point to > another directory. Thanks for the pointer, it made me realize that chicken-install is trying to fetch a package, which it shouldn't do in nix. Turns out that egg2nix doesn't extract the llrb-syntax dependency that is required to build llrb-tree. Making llrb-syntax a dependency in nix fixes the issue. Thanks! Thanks to everyone who's worked on chicken, I really enjoyed working with it! Kind Regards, Blake Sweeney |
Free forum by Nabble | Edit this page |