nix-community / dream2nix

Simplified nix packaging for various programming language ecosystems [maintainer=@DavHau]
https://dream2nix.dev
MIT License
933 stars 121 forks source link

error: infinite recursion encountered # nix run github:nix-community/dream2nix#__pythonEnv extract-msg #929

Open InLaw opened 3 months ago

InLaw commented 3 months ago

nix run github:nix-community/dream2nix#__pythonEnv extract-msg

🔒 Lock successful
Changes are written to pdm.lock.
warning: creating lock file '/tmp/tmp.A5UM59kIcP/flake.lock'
error:
       … while calling the 'derivationStrict' builtin

         at /builtin/derivation.nix:9:12: (source not available)

       … while evaluating derivation 'nix-shell'
         whose name attribute is located at /nix/store/5miwlcqwb8gzva4i1nch4vsg62f7d6p0-source/pkgs/stdenv/generic/make-derivation.nix:331:7

       … while evaluating attribute 'nativeBuildInputs' of derivation 'nix-shell'

         at /nix/store/5miwlcqwb8gzva4i1nch4vsg62f7d6p0-source/pkgs/stdenv/generic/make-derivation.nix:375:7:

          374|       depsBuildBuild              = elemAt (elemAt dependencies 0) 0;
          375|       nativeBuildInputs           = elemAt (elemAt dependencies 0) 1;
             |       ^
          376|       depsBuildTarget             = elemAt (elemAt dependencies 0) 2;

       (stack trace truncated; use '--show-trace' to show the full trace)

       error: infinite recursion encountered

       at «none»:0: (source not available)
purepani commented 2 months ago

I've also been getting this issue on my pdm environments that have previously worked; I'll try and look into this once I get time today

purepani commented 1 month ago

Looks like this is caused by a circular dependency between oletools and pcodedmp. Nixpkgs works around it by just removing oletools as a dependency from pcodedmp.

See https://github.com/decalage2/oletools/issues/820 and https://github.com/bontchev/pcodedmp/issues/24, as well as the nixpkgs workaround at https://github.com/NixOS/nixpkgs/blob/nixos-unstable/pkgs/development/python-modules/pcodedmp/default.nix