cachix / devenv

Fast, Declarative, Reproducible, and Composable Developer Environments
https://devenv.sh
Apache License 2.0
4.46k stars 335 forks source link

Bug devenv up not working with spaces in filenames #1107

Open eftichis0202 opened 7 months ago

eftichis0202 commented 7 months ago

devenv up throws the following error. The folders in the path contains spaces.

`❯ devenv up • Building processes ... • Using Cachix: nixpkgs-python, devenv error: builder for '/nix/store/flrnh49wxhdi1mn9gmf731f76r243h99-python3-3.12.2-env.drv' failed with exit code 1; last 25 log lines:

:81:6: error: makeCWrapper: Unknown argument Repos/zz-data-pipeline/.devenv/profile/lib:/nix/store/8x03s8ap4k07j7w96yjvag3ln512liwv-clang-16.0.6-lib/lib #error makeCWrapper: Unknown argument Repos/zz-data-pipeline/.devenv/profile/lib:/nix/store/8x03s8ap4k07j7w96yjvag3ln512liwv-clang-16.0.6-lib/lib ^ :83:6: error: makeCWrapper: Unknown argument M.I.K.E #error makeCWrapper: Unknown argument M.I.K.E ^ :84:6: error: makeCWrapper: Unknown argument Dropbox/Felix #error makeCWrapper: Unknown argument Dropbox/Felix ^ :85:6: error: makeCWrapper: Unknown argument Schneider/06 #error makeCWrapper: Unknown argument Schneider/06 ^ :86:6: error: makeCWrapper: Unknown argument Websites/03 #error makeCWrapper: Unknown argument Websites/03 ^ :87:6: error: makeCWrapper: Unknown argument Zuschuss #error makeCWrapper: Unknown argument Zuschuss ^ :88:6: error: makeCWrapper: Unknown argument Zentrale/_NEW #error makeCWrapper: Unknown argument Zentrale/_NEW ^ :89:6: error: makeCWrapper: Unknown argument Repos/zz-data-pipeline/.devenv/profile/lib:/nix/store/8x03s8ap4k07j7w96yjvag3ln512liwv-clang-16.0.6-lib/lib #error makeCWrapper: Unknown argument Repos/zz-data-pipeline/.devenv/profile/lib:/nix/store/8x03s8ap4k07j7w96yjvag3ln512liwv-clang-16.0.6-lib/lib ^ 14 errors generated. For full logs, run 'nix-store -l /nix/store/flrnh49wxhdi1mn9gmf731f76r243h99-python3-3.12.2-env.drv'. error: 1 dependencies of derivation '/nix/store/0a3gz7gvf9ml2kf73jb5869sy6i4jhna-devenv-profile.drv' failed to build error: 1 dependencies of derivation '/nix/store/3yfak2lnfldch86v2nml9dajsm96r448-process-compose.yaml.drv' failed to build error: error: 1 dependencies of derivation '/nix/store/1n8bc9ki62n5wg35hhf0l218y5fzqpvs-devenv-up.drv' failed to build

✖ Command produced the following output:

✔ Building processes in 20.9s. Error: × Command /nix/store/hzi718k8wank3icd1liizx3apnxkhw0i-nix-2.21-devenv/bin/nix --show-trace --extra-experimental-features nix-command --extra-experimental-features flakes │ --option warn-dirty false --option eval-cache false --keep-going --max-jobs 6 build --no-link --print-out-paths .#procfileScript --option extra-substituters https://nixpkgs- │ python.cachix.org https://devenv.cachix.org --option extra-trusted-public-keys nixpkgs-python.cachix.org-1:hxjI7pFxTyuTHn2NkvWCrAUcNZLNS3ZAvfYNuYifcEU= devenv.cachix.org- │ 1:w1cLUi8dv3hnoSPGAuibQv+f9TZLr6cv/Hm9XgU50cw= failed with with exit code 1`

Make sure to include full logs and what you expected to happen.

Version

devenv 1.0.2 (x86_64-darwin)

domenkozar commented 7 months ago

Can you provide devenv.nix to reproduce?

eftichis0202 commented 7 months ago

Hi @domenkozar ,

this is the devenv.nix:

{ pkgs, ... }:

{ dotenv.enable = true;

languages.python.enable = true; languages.python.version = "3.12.2"; languages.python.venv.enable = true; languages.python.venv.requirements = ./requirements.txt;

services.postgres = { enable = true; listen_addresses = "127.0.0.1"; port = 65432; package = pkgs.postgresql_16; extensions = extensions: [ extensions.pgvector ]; };

enterShell = "echo 'Welcome to the ultimate data pipeline experience!'"; }

zarelit commented 7 months ago

Sorry for the notification spam, I wasn't aware of automatic mentioning from the content of the repo. Anyhow, this is a minimal reproduction devenv, in rust instead of python, it might be related

domenkozar commented 7 months ago

Can you reproduce using https://github.com/cachix/devenv/pull/1113

zarelit commented 7 months ago

Can reproduce with the test, on the folder-with-spaces branch , I don't know if setting devenv input in devenv.yaml is enough to override though. Action output here: https://github.com/zarelit/devenv-issue-1107/actions/runs/8617635234

domenkozar commented 7 months ago

That one is quite hard to debug, if someone has time to look into what's breaking please let me know.

zarelit commented 7 months ago

@eftichis0202 I noticed that in recently released devenv 1.0.4 there are changes around .devenv/state directory being in a path with spaces and on v1.0.4 I'm unable to replicate your issue. Could you try to upgrade and report if it's solved?

zarelit commented 7 months ago

as for my rust issue the error is clearly tied to the linker, just calling "ld" with no arguments give me the same errors of nixos/nixpkgs#177952 (and indeed NIX_LD_FLAGS is wrong NIX_LDFLAGS=-rpath /home/zarel/code/white space test/outputs/out/lib) @domenkozar

eftichis0202 commented 6 months ago

@eftichis0202 I noticed that in recently released devenv 1.0.4 there are changes around .devenv/state directory being in a path with spaces and on v1.0.4 I'm unable to replicate your issue. Could you try to upgrade and report if it's solved?

i ran 'deven update' and then 'devenv build':

devenv update • Updating devenv.lock ... warning: updating lock file '/devenv.lock': • Updated input 'devenv': 'github:cachix/devenv/b26b52a4dac68bdc305f6b9df948c97f49b2c3ee?dir=src/modules' (2024-04-24) → 'github:cachix/devenv/21a278606259134e0ad80c75e862986f93f09ee0?dir=src/modules' (2024-05-04) • Updated input 'pre-commit-hooks': 'github:cachix/pre-commit-hooks.nix/6fb82e44254d6a0ece014ec423cb62d92435336f' (2024-04-24) → 'github:cachix/pre-commit-hooks.nix/2849da033884f54822af194400f8dff435ada242' (2024-04-30) • Updated input 'pre-commit-hooks/nixpkgs-stable': 'github:NixOS/nixpkgs/dd37924974b9202f8226ed5d74a252a9785aedf8' (2024-04-24) → 'github:NixOS/nixpkgs/651b4702e27a388f0f18e1b970534162dec09aff' (2024-05-04) ✔ Updating devenv.lock in 204.5s.

`devenv build error: error: flake 'git+file:///Users/eftichis0202/Avriofilms%20M.I.K.E%20Dropbox/Felix%20Schneider/06%20Websites/03%20Zuschuss%20Zentrale/_NEW%20Repos/oux-web' does not provide attribute 'packages.x86_64-darwin.default' or 'defaultPackage.x86_64-darwin'

✖ Command produced the following output:

Error: × Command /nix/store/ygbnlj4yj2alk132y0ikr29hf7vfvhv4-nix-2.21-devenv/bin/nix --show-trace --extra-experimental-features nix-command --extra-experimental-features flakes --option warn-dirty false │ --option eval-cache false --keep-going --max-jobs 6 build failed with with exit code 1`

eftichis0202 commented 6 months ago

@zarelit Could you help me with the error i am getting when i run the upgrade?

zarelit commented 6 months ago

@eftichis0202 it looks like you're having errors using "devenv build", update should be okay. Can you please provide the output for:

eftichis0202 commented 6 months ago

@zarelit sure:

❯ devenv version devenv 1.0.3 (x86_64-darwin)

❯ devenv up ✖ No 'processes' option defined: https://devenv.sh/processes/ Error: × No processes defined

Thank you for your help!

eftichis0202 commented 5 months ago

Still unresolved, stopped using devenv as noone was able to help

sandydoo commented 5 months ago

@eftichis0202, please, don't close the issue. the underlying issue is with Nix and it's not a straightforward fix. we will eventually get this fixed.

If you don't wish to receive notifications about this, then you can unsubscribe from the issue.