NixOS / nixpkgs

Nix Packages collection & NixOS
MIT License
18.32k stars 14.29k forks source link

`tensoflow-bin: unsupported configuration: x86_64-darwin_312` / `beets-2.0.0` evaluation error #356030

Open JeffersonBledsoe opened 1 week ago

JeffersonBledsoe commented 1 week ago

Describe the bug

Prefacing this with saying I'm pretty new to nix so apologies if I've missed something obvious or this isn't the correct place for this issue.

I'm using nix-darwin. After an update to the nixpkgs via flake, the following error appears when trying to build

error: tensoflow-bin: unsupported configuration: x86_64-darwin_312

And a bit further up the stack trace:

… while evaluating derivation 'beets-2.0.0'

It looks like my platform was removed from the supported versions of tensorflow-bin in a previous commit : https://github.com/NixOS/nixpkgs/commit/8d3667ace8b1d2aa36bfc24aa8eb3731e9f48444 , but the beets package still seems to assume it will work. Full stack trace below...

error:
       … while calling the 'derivationStrict' builtin
         at <nix/derivation-internal.nix>:34:12:
           33|
           34|   strict = derivationStrict drvAttrs;
             |            ^
           35|

       … while evaluating derivation 'darwin-system-24.11.20241107.85f7e66+darwin4.b379bd4'
         whose name attribute is located at /nix/store/gg86rfp39vc7chqsszk32q7995hz4943-source/pkgs/stdenv/generic/make-derivation.nix:336:7

       … while evaluating attribute 'activationScript' of derivation 'darwin-system-24.11.20241107.85f7e66+darwin4.b379bd4'
         at /nix/store/3pqw3dc415mhsd9q9jffqxvhaji0zbjc-source/modules/system/default.nix:95:7:
           94|
           95|       activationScript = cfg.activationScripts.script.text;
             |       ^
           96|       activationUserScript = cfg.activationScripts.userScript.text;

       … from call site
         at /nix/store/3pqw3dc415mhsd9q9jffqxvhaji0zbjc-source/modules/system/default.nix:95:26:
           94|
           95|       activationScript = cfg.activationScripts.script.text;
             |                          ^
           96|       activationUserScript = cfg.activationScripts.userScript.text;

       … while calling anonymous lambda
         at /nix/store/gg86rfp39vc7chqsszk32q7995hz4943-source/lib/attrsets.nix:1204:18:
         1203|         mapAttrs
         1204|           (name: value:
             |                  ^
         1205|             if isAttrs value && cond value

       … from call site
         at /nix/store/gg86rfp39vc7chqsszk32q7995hz4943-source/lib/attrsets.nix:1207:18:
         1206|             then recurse (path ++ [ name ]) value
         1207|             else f (path ++ [ name ]) value);
             |                  ^
         1208|     in

       … while calling anonymous lambda
         at /nix/store/gg86rfp39vc7chqsszk32q7995hz4943-source/lib/modules.nix:254:72:
          253|           # For definitions that have an associated option
          254|           declaredConfig = mapAttrsRecursiveCond (v: ! isOption v) (_: v: v.value) options;
             |                                                                        ^
          255|

       … while evaluating the attribute 'value'
         at /nix/store/gg86rfp39vc7chqsszk32q7995hz4943-source/lib/modules.nix:816:9:
          815|     in warnDeprecation opt //
          816|       { value = addErrorContext "while evaluating the option `${showOption loc}':" value;
             |         ^
          817|         inherit (res.defsFinal') highestPrio;

       … while evaluating the option `system.activationScripts.script.text':

       … while evaluating the attribute 'mergedValue'
         at /nix/store/gg86rfp39vc7chqsszk32q7995hz4943-source/lib/modules.nix:851:5:
          850|     # Type-check the remaining definitions, and merge them. Or throw if no definitions.
          851|     mergedValue =
             |     ^
          852|       if isDefined then

       … while evaluating a branch condition
         at /nix/store/gg86rfp39vc7chqsszk32q7995hz4943-source/lib/modules.nix:852:7:
          851|     mergedValue =
          852|       if isDefined then
             |       ^
          853|         if all (def: type.check def.value) defsFinal then type.merge loc defsFinal

       … while evaluating the attribute 'values'
         at /nix/store/gg86rfp39vc7chqsszk32q7995hz4943-source/lib/modules.nix:845:9:
          844|       in {
          845|         values = defs''';
             |         ^
          846|         inherit (defs'') highestPrio;

       … while evaluating a branch condition
         at /nix/store/gg86rfp39vc7chqsszk32q7995hz4943-source/lib/modules.nix:841:11:
          840|           # Avoid sorting if we don't have to.
          841|           if any (def: def.value._type or "" == "order") defs''.values
             |           ^
          842|           then sortProperties defs''.values

       … while calling the 'any' builtin
         at /nix/store/gg86rfp39vc7chqsszk32q7995hz4943-source/lib/modules.nix:841:14:
          840|           # Avoid sorting if we don't have to.
          841|           if any (def: def.value._type or "" == "order") defs''.values
             |              ^
          842|           then sortProperties defs''.values

       … while evaluating the attribute 'values'
         at /nix/store/gg86rfp39vc7chqsszk32q7995hz4943-source/lib/modules.nix:944:7:
          943|     in {
          944|       values = concatMap (def: if getPrio def == highestPrio then [(strip def)] else []) defs;
             |       ^
          945|       inherit highestPrio;

       … while calling the 'concatMap' builtin
         at /nix/store/gg86rfp39vc7chqsszk32q7995hz4943-source/lib/modules.nix:944:16:
          943|     in {
          944|       values = concatMap (def: if getPrio def == highestPrio then [(strip def)] else []) defs;
             |                ^
          945|       inherit highestPrio;

       … while calling the 'concatMap' builtin
         at /nix/store/gg86rfp39vc7chqsszk32q7995hz4943-source/lib/modules.nix:831:17:
          830|         # Process mkMerge and mkIf properties.
          831|         defs' = concatMap (m:
             |                 ^
          832|           map (value: { inherit (m) file; inherit value; }) (addErrorContext "while evaluating definitions from `${m.file}':" (dischargeProperties m.value))

       … while calling anonymous lambda
         at /nix/store/gg86rfp39vc7chqsszk32q7995hz4943-source/lib/modules.nix:831:28:
          830|         # Process mkMerge and mkIf properties.
          831|         defs' = concatMap (m:
             |                            ^
          832|           map (value: { inherit (m) file; inherit value; }) (addErrorContext "while evaluating definitions from `${m.file}':" (dischargeProperties m.value))

       … while calling the 'map' builtin
         at /nix/store/gg86rfp39vc7chqsszk32q7995hz4943-source/lib/modules.nix:832:11:
          831|         defs' = concatMap (m:
          832|           map (value: { inherit (m) file; inherit value; }) (addErrorContext "while evaluating definitions from `${m.file}':" (dischargeProperties m.value))
             |           ^
          833|         ) defs;

       … while evaluating definitions from `/nix/store/3pqw3dc415mhsd9q9jffqxvhaji0zbjc-source/modules/system/activation-scripts.nix':

       … from call site
         at /nix/store/gg86rfp39vc7chqsszk32q7995hz4943-source/lib/modules.nix:832:128:
          831|         defs' = concatMap (m:
          832|           map (value: { inherit (m) file; inherit value; }) (addErrorContext "while evaluating definitions from `${m.file}':" (dischargeProperties m.value))
             |                                                                                                                                ^
          833|         ) defs;

       … while calling 'dischargeProperties'
         at /nix/store/gg86rfp39vc7chqsszk32q7995hz4943-source/lib/modules.nix:903:25:
          902|   */
          903|   dischargeProperties = def:
             |                         ^
          904|     if def._type or "" == "merge" then

       … while evaluating a branch condition
         at /nix/store/gg86rfp39vc7chqsszk32q7995hz4943-source/lib/modules.nix:904:5:
          903|   dischargeProperties = def:
          904|     if def._type or "" == "merge" then
             |     ^
          905|       concatMap dischargeProperties def.contents

       … while evaluating the attribute 'value'
         at /nix/store/gg86rfp39vc7chqsszk32q7995hz4943-source/lib/modules.nix:614:53:
          613|                 (n: value:
          614|                   [{ inherit (module) file; inherit value; }]
             |                                                     ^
          615|                 )

       … from call site
         at /nix/store/3pqw3dc415mhsd9q9jffqxvhaji0zbjc-source/modules/system/activation-scripts.nix:75:9:
           74|
           75|       ${cfg.activationScripts.postActivation.text}
             |         ^
           76|

       … while calling anonymous lambda
         at /nix/store/gg86rfp39vc7chqsszk32q7995hz4943-source/lib/attrsets.nix:1204:18:
         1203|         mapAttrs
         1204|           (name: value:
             |                  ^
         1205|             if isAttrs value && cond value

       … from call site
         at /nix/store/gg86rfp39vc7chqsszk32q7995hz4943-source/lib/attrsets.nix:1207:18:
         1206|             then recurse (path ++ [ name ]) value
         1207|             else f (path ++ [ name ]) value);
             |                  ^
         1208|     in

       … while calling anonymous lambda
         at /nix/store/gg86rfp39vc7chqsszk32q7995hz4943-source/lib/modules.nix:254:72:
          253|           # For definitions that have an associated option
          254|           declaredConfig = mapAttrsRecursiveCond (v: ! isOption v) (_: v: v.value) options;
             |                                                                        ^
          255|

       … while evaluating the attribute 'value'
         at /nix/store/gg86rfp39vc7chqsszk32q7995hz4943-source/lib/modules.nix:816:9:
          815|     in warnDeprecation opt //
          816|       { value = addErrorContext "while evaluating the option `${showOption loc}':" value;
             |         ^
          817|         inherit (res.defsFinal') highestPrio;

       … while evaluating the option `system.activationScripts.postActivation.text':

       (10 duplicate frames omitted)

       … while evaluating definitions from `<unknown-file>':

       … from call site
         at /nix/store/gg86rfp39vc7chqsszk32q7995hz4943-source/lib/modules.nix:832:128:
          831|         defs' = concatMap (m:
          832|           map (value: { inherit (m) file; inherit value; }) (addErrorContext "while evaluating definitions from `${m.file}':" (dischargeProperties m.value))
             |                                                                                                                                ^
          833|         ) defs;

       … while calling 'dischargeProperties'
         at /nix/store/gg86rfp39vc7chqsszk32q7995hz4943-source/lib/modules.nix:903:25:
          902|   */
          903|   dischargeProperties = def:
             |                         ^
          904|     if def._type or "" == "merge" then

       … while evaluating a branch condition
         at /nix/store/gg86rfp39vc7chqsszk32q7995hz4943-source/lib/modules.nix:904:5:
          903|   dischargeProperties = def:
          904|     if def._type or "" == "merge" then
             |     ^
          905|       concatMap dischargeProperties def.contents

       … while evaluating the attribute 'value'
         at /nix/store/gg86rfp39vc7chqsszk32q7995hz4943-source/lib/modules.nix:614:53:
          613|                 (n: value:
          614|                   [{ inherit (module) file; inherit value; }]
             |                                                     ^
          615|                 )

       … while calling the 'concatStringsSep' builtin
         at /nix/store/bnwq0xfkxzfqzd2679a3j8pihpis4rks-source/nix-darwin/default.nix:15:54:
           14|     (mkIf (cfg.users != { }) {
           15|       system.activationScripts.postActivation.text = concatStringsSep "\n"
             |                                                      ^
           16|         (mapAttrsToList (username: usercfg: ''

       … while calling anonymous lambda
         at /nix/store/gg86rfp39vc7chqsszk32q7995hz4943-source/lib/attrsets.nix:1095:10:
         1094|     attrs:
         1095|     map (name: f name attrs.${name}) (attrNames attrs);
             |          ^
         1096|

       … from call site
         at /nix/store/gg86rfp39vc7chqsszk32q7995hz4943-source/lib/attrsets.nix:1095:16:
         1094|     attrs:
         1095|     map (name: f name attrs.${name}) (attrNames attrs);
             |                ^
         1096|

       … while calling anonymous lambda
         at /nix/store/bnwq0xfkxzfqzd2679a3j8pihpis4rks-source/nix-darwin/default.nix:16:36:
           15|       system.activationScripts.postActivation.text = concatStringsSep "\n"
           16|         (mapAttrsToList (username: usercfg: ''
             |                                    ^
           17|           echo Activating home-manager configuration for ${username}

       … while calling the 'getAttr' builtin
         at <nix/derivation-internal.nix>:44:19:
           43|       value = commonAttrs // {
           44|         outPath = builtins.getAttr outputName strict;
             |                   ^
           45|         drvPath = strict.drvPath;

       … while calling the 'derivationStrict' builtin
         at <nix/derivation-internal.nix>:34:12:
           33|
           34|   strict = derivationStrict drvAttrs;
             |            ^
           35|

       … while evaluating derivation 'activation-jefferson'
         whose name attribute is located at /nix/store/gg86rfp39vc7chqsszk32q7995hz4943-source/pkgs/stdenv/generic/make-derivation.nix:336:7

       … while evaluating attribute 'text' of derivation 'activation-jefferson'
         at /nix/store/gg86rfp39vc7chqsszk32q7995hz4943-source/pkgs/build-support/trivial-builders/default.nix:102:17:
          101|       ({
          102|         inherit text executable checkPhase allowSubstitutes preferLocalBuild;
             |                 ^
          103|         passAsFile = [ "text" ]

       … while calling the 'getAttr' builtin
         at <nix/derivation-internal.nix>:44:19:
           43|       value = commonAttrs // {
           44|         outPath = builtins.getAttr outputName strict;
             |                   ^
           45|         drvPath = strict.drvPath;

       … while calling the 'derivationStrict' builtin
         at <nix/derivation-internal.nix>:34:12:
           33|
           34|   strict = derivationStrict drvAttrs;
             |            ^
           35|

       … while evaluating derivation 'home-manager-generation'
         whose name attribute is located at /nix/store/gg86rfp39vc7chqsszk32q7995hz4943-source/pkgs/stdenv/generic/make-derivation.nix:336:7

       … while evaluating attribute 'buildCommand' of derivation 'home-manager-generation'
         at /nix/store/gg86rfp39vc7chqsszk32q7995hz4943-source/pkgs/build-support/trivial-builders/default.nix:59:17:
           58|         enableParallelBuilding = true;
           59|         inherit buildCommand name;
             |                 ^
           60|         passAsFile = [ "buildCommand" ]

       … while calling the 'getAttr' builtin
         at <nix/derivation-internal.nix>:44:19:
           43|       value = commonAttrs // {
           44|         outPath = builtins.getAttr outputName strict;
             |                   ^
           45|         drvPath = strict.drvPath;

       … while calling the 'derivationStrict' builtin
         at <nix/derivation-internal.nix>:34:12:
           33|
           34|   strict = derivationStrict drvAttrs;
             |            ^
           35|

       … while evaluating derivation 'activation-script'
         whose name attribute is located at /nix/store/gg86rfp39vc7chqsszk32q7995hz4943-source/pkgs/stdenv/generic/make-derivation.nix:336:7

       … while evaluating attribute 'text' of derivation 'activation-script'
         at /nix/store/gg86rfp39vc7chqsszk32q7995hz4943-source/pkgs/build-support/trivial-builders/default.nix:102:17:
          101|       ({
          102|         inherit text executable checkPhase allowSubstitutes preferLocalBuild;
             |                 ^
          103|         passAsFile = [ "text" ]

       … while calling the 'concatStringsSep' builtin
         at /nix/store/bnwq0xfkxzfqzd2679a3j8pihpis4rks-source/modules/home-environment.nix:673:13:
          672|           if sortedCommands ? result then
          673|             concatStringsSep "\n" (map mkCmd sortedCommands.result)
             |             ^
          674|           else

       … while calling 'mkCmd'
         at /nix/store/bnwq0xfkxzfqzd2679a3j8pihpis4rks-source/modules/home-environment.nix:666:17:
          665|       let
          666|         mkCmd = res: ''
             |                 ^
          667|             _iNote "Activating %s" "${res.name}"

       … while evaluating the attribute 'data'
         at /nix/store/bnwq0xfkxzfqzd2679a3j8pihpis4rks-source/modules/lib/dag.nix:89:43:
           88|     in if sorted ? result then {
           89|       result = map (v: { inherit (v) name data; }) sorted.result;
             |                                           ^
           90|     } else

       … while evaluating the attribute 'data'
         at /nix/store/bnwq0xfkxzfqzd2679a3j8pihpis4rks-source/modules/lib/dag.nix:83:9:
           82|         name = n;
           83|         data = v.data;
             |         ^
           84|         after = v.after ++ dagBefore dag n;

       … from call site
         at /nix/store/bnwq0xfkxzfqzd2679a3j8pihpis4rks-source/modules/lib/dag.nix:83:16:
           82|         name = n;
           83|         data = v.data;
             |                ^
           84|         after = v.after ++ dagBefore dag n;

       … while calling anonymous lambda
         at /nix/store/gg86rfp39vc7chqsszk32q7995hz4943-source/lib/attrsets.nix:1204:18:
         1203|         mapAttrs
         1204|           (name: value:
             |                  ^
         1205|             if isAttrs value && cond value

       … from call site
         at /nix/store/gg86rfp39vc7chqsszk32q7995hz4943-source/lib/attrsets.nix:1207:18:
         1206|             then recurse (path ++ [ name ]) value
         1207|             else f (path ++ [ name ]) value);
             |                  ^
         1208|     in

       … while calling anonymous lambda
         at /nix/store/gg86rfp39vc7chqsszk32q7995hz4943-source/lib/modules.nix:254:72:
          253|           # For definitions that have an associated option
          254|           declaredConfig = mapAttrsRecursiveCond (v: ! isOption v) (_: v: v.value) options;
             |                                                                        ^
          255|

       … while evaluating the attribute 'value'
         at /nix/store/gg86rfp39vc7chqsszk32q7995hz4943-source/lib/modules.nix:816:9:
          815|     in warnDeprecation opt //
          816|       { value = addErrorContext "while evaluating the option `${showOption loc}':" value;
             |         ^
          817|         inherit (res.defsFinal') highestPrio;

       … while evaluating the option `home-manager.users.jefferson.home.activation.checkFilesChanged.data':

       (10 duplicate frames omitted)

       … while evaluating definitions from `/nix/store/bnwq0xfkxzfqzd2679a3j8pihpis4rks-source/modules/files.nix':

       … from call site
         at /nix/store/gg86rfp39vc7chqsszk32q7995hz4943-source/lib/modules.nix:832:128:
          831|         defs' = concatMap (m:
          832|           map (value: { inherit (m) file; inherit value; }) (addErrorContext "while evaluating definitions from `${m.file}':" (dischargeProperties m.value))
             |                                                                                                                                ^
          833|         ) defs;

       … while calling 'dischargeProperties'
         at /nix/store/gg86rfp39vc7chqsszk32q7995hz4943-source/lib/modules.nix:903:25:
          902|   */
          903|   dischargeProperties = def:
             |                         ^
          904|     if def._type or "" == "merge" then

       … while evaluating a branch condition
         at /nix/store/gg86rfp39vc7chqsszk32q7995hz4943-source/lib/modules.nix:904:5:
          903|   dischargeProperties = def:
          904|     if def._type or "" == "merge" then
             |     ^
          905|       concatMap dischargeProperties def.contents

       … while evaluating the attribute 'value'
         at /nix/store/gg86rfp39vc7chqsszk32q7995hz4943-source/lib/modules.nix:614:53:
          613|                 (n: value:
          614|                   [{ inherit (module) file; inherit value; }]
             |                                                     ^
          615|                 )

       … from call site
         at /nix/store/bnwq0xfkxzfqzd2679a3j8pihpis4rks-source/modules/files.nix:256:12:
          255|         declare -A changedFiles
          256|       '' + concatMapStrings (v:
             |            ^
          257|         let

       … while calling 'concatMapStrings'
         at /nix/store/gg86rfp39vc7chqsszk32q7995hz4943-source/lib/strings.nix:95:25:
           94|   */
           95|   concatMapStrings = f: list: concatStrings (map f list);
             |                         ^
           96|

       … while calling the 'concatStringsSep' builtin
         at /nix/store/gg86rfp39vc7chqsszk32q7995hz4943-source/lib/strings.nix:95:31:
           94|   */
           95|   concatMapStrings = f: list: concatStrings (map f list);
             |                               ^
           96|

       … while calling the 'map' builtin
         at /nix/store/gg86rfp39vc7chqsszk32q7995hz4943-source/lib/strings.nix:95:46:
           94|   */
           95|   concatMapStrings = f: list: concatStrings (map f list);
             |                                              ^
           96|

       … while calling the 'filter' builtin
         at /nix/store/bnwq0xfkxzfqzd2679a3j8pihpis4rks-source/modules/files.nix:264:14:
          263|             || changedFiles[${targetArg}]=1
          264|         '') (filter (v: v.onChange != "") (attrValues cfg))
             |              ^
          265|       + ''

       … while calling anonymous lambda
         at /nix/store/bnwq0xfkxzfqzd2679a3j8pihpis4rks-source/modules/files.nix:264:22:
          263|             || changedFiles[${targetArg}]=1
          264|         '') (filter (v: v.onChange != "") (attrValues cfg))
             |                      ^
          265|       + ''

       … from call site
         at /nix/store/bnwq0xfkxzfqzd2679a3j8pihpis4rks-source/modules/files.nix:264:25:
          263|             || changedFiles[${targetArg}]=1
          264|         '') (filter (v: v.onChange != "") (attrValues cfg))
             |                         ^
          265|       + ''

       … while calling anonymous lambda
         at /nix/store/gg86rfp39vc7chqsszk32q7995hz4943-source/lib/attrsets.nix:1204:18:
         1203|         mapAttrs
         1204|           (name: value:
             |                  ^
         1205|             if isAttrs value && cond value

       … from call site
         at /nix/store/gg86rfp39vc7chqsszk32q7995hz4943-source/lib/attrsets.nix:1207:18:
         1206|             then recurse (path ++ [ name ]) value
         1207|             else f (path ++ [ name ]) value);
             |                  ^
         1208|     in

       … while calling anonymous lambda
         at /nix/store/gg86rfp39vc7chqsszk32q7995hz4943-source/lib/modules.nix:254:72:
          253|           # For definitions that have an associated option
          254|           declaredConfig = mapAttrsRecursiveCond (v: ! isOption v) (_: v: v.value) options;
             |                                                                        ^
          255|

       … while evaluating the attribute 'value'
         at /nix/store/gg86rfp39vc7chqsszk32q7995hz4943-source/lib/modules.nix:816:9:
          815|     in warnDeprecation opt //
          816|       { value = addErrorContext "while evaluating the option `${showOption loc}':" value;
             |         ^
          817|         inherit (res.defsFinal') highestPrio;

       … while evaluating the option `home-manager.users.jefferson.home.file."Library/Fonts/.home-manager-fonts-version".onChange':

       (10 duplicate frames omitted)

       … while evaluating definitions from `/nix/store/bnwq0xfkxzfqzd2679a3j8pihpis4rks-source/modules/targets/darwin/fonts.nix':

       … from call site
         at /nix/store/gg86rfp39vc7chqsszk32q7995hz4943-source/lib/modules.nix:832:128:
          831|         defs' = concatMap (m:
          832|           map (value: { inherit (m) file; inherit value; }) (addErrorContext "while evaluating definitions from `${m.file}':" (dischargeProperties m.value))
             |                                                                                                                                ^
          833|         ) defs;

       … while calling 'dischargeProperties'
         at /nix/store/gg86rfp39vc7chqsszk32q7995hz4943-source/lib/modules.nix:903:25:
          902|   */
          903|   dischargeProperties = def:
             |                         ^
          904|     if def._type or "" == "merge" then

       … while evaluating a branch condition
         at /nix/store/gg86rfp39vc7chqsszk32q7995hz4943-source/lib/modules.nix:904:5:
          903|   dischargeProperties = def:
          904|     if def._type or "" == "merge" then
             |     ^
          905|       concatMap dischargeProperties def.contents

       … while evaluating the attribute 'value'
         at /nix/store/gg86rfp39vc7chqsszk32q7995hz4943-source/lib/modules.nix:614:53:
          613|                 (n: value:
          614|                   [{ inherit (module) file; inherit value; }]
             |                                                     ^
          615|                 )

       … from call site
         at /nix/store/bnwq0xfkxzfqzd2679a3j8pihpis4rks-source/modules/targets/darwin/fonts.nix:22:13:
           21|         run ${pkgs.rsync}/bin/rsync $VERBOSE_ARG -acL --chmod=u+w --delete \
           22|           ${escapeShellArgs [ "${fonts}/" installDir ]}
             |             ^
           23|       '';

       … while calling 'concatMapStringsSep'
         at /nix/store/gg86rfp39vc7chqsszk32q7995hz4943-source/lib/strings.nix:232:5:
          231|     f:
          232|     list: concatStringsSep sep (map f list);
             |     ^
          233|

       … while calling the 'concatStringsSep' builtin
         at /nix/store/gg86rfp39vc7chqsszk32q7995hz4943-source/lib/strings.nix:232:11:
          231|     f:
          232|     list: concatStringsSep sep (map f list);
             |           ^
          233|

       … while calling 'escapeShellArg'
         at /nix/store/gg86rfp39vc7chqsszk32q7995hz4943-source/lib/strings.nix:1056:20:
         1055|   */
         1056|   escapeShellArg = arg:
             |                    ^
         1057|     let

       … while evaluating a branch condition
         at /nix/store/gg86rfp39vc7chqsszk32q7995hz4943-source/lib/strings.nix:1060:7:
         1059|     in
         1060|       if match "[[:alnum:],._+:@%/-]+" string == null
             |       ^
         1061|       then "'${replaceStrings ["'"] ["'\\''"] string}'"

       … while calling the 'match' builtin
         at /nix/store/gg86rfp39vc7chqsszk32q7995hz4943-source/lib/strings.nix:1060:10:
         1059|     in
         1060|       if match "[[:alnum:],._+:@%/-]+" string == null
             |          ^
         1061|       then "'${replaceStrings ["'"] ["'\\''"] string}'"

       … while evaluating the second argument passed to builtins.match

       … while calling the 'toString' builtin
         at /nix/store/gg86rfp39vc7chqsszk32q7995hz4943-source/lib/strings.nix:1058:16:
         1057|     let
         1058|       string = toString arg;
             |                ^
         1059|     in

       … while calling the 'getAttr' builtin
         at <nix/derivation-internal.nix>:44:19:
           43|       value = commonAttrs // {
           44|         outPath = builtins.getAttr outputName strict;
             |                   ^
           45|         drvPath = strict.drvPath;

       … while calling the 'derivationStrict' builtin
         at <nix/derivation-internal.nix>:34:12:
           33|
           34|   strict = derivationStrict drvAttrs;
             |            ^
           35|

       … while evaluating derivation 'home-manager-fonts'
         whose name attribute is located at /nix/store/gg86rfp39vc7chqsszk32q7995hz4943-source/pkgs/stdenv/generic/make-derivation.nix:336:7

       … while evaluating attribute 'passAsFile' of derivation 'home-manager-fonts'
         at /nix/store/gg86rfp39vc7chqsszk32q7995hz4943-source/pkgs/build-support/trivial-builders/default.nix:60:9:
           59|         inherit buildCommand name;
           60|         passAsFile = [ "buildCommand" ]
             |         ^
           61|           ++ (derivationArgs.passAsFile or [ ]);

       … while evaluating the attribute 'passAsFile'
         at /nix/store/gg86rfp39vc7chqsszk32q7995hz4943-source/pkgs/build-support/buildenv/default.nix:87:5:
           86|     # XXX: The size is somewhat arbitrary
           87|     passAsFile = if builtins.stringLength pkgs >= 128*1024 then [ "pkgs" ] else [ ];
             |     ^
           88|   }

       … while evaluating a branch condition
         at /nix/store/gg86rfp39vc7chqsszk32q7995hz4943-source/pkgs/build-support/buildenv/default.nix:87:18:
           86|     # XXX: The size is somewhat arbitrary
           87|     passAsFile = if builtins.stringLength pkgs >= 128*1024 then [ "pkgs" ] else [ ];
             |                  ^
           88|   }

       … in the argument of the not operator
         at /nix/store/gg86rfp39vc7chqsszk32q7995hz4943-source/pkgs/build-support/buildenv/default.nix:87:48:
           86|     # XXX: The size is somewhat arbitrary
           87|     passAsFile = if builtins.stringLength pkgs >= 128*1024 then [ "pkgs" ] else [ ];
             |                                                ^
           88|   }

       … while calling the 'lessThan' builtin
         at /nix/store/gg86rfp39vc7chqsszk32q7995hz4943-source/pkgs/build-support/buildenv/default.nix:87:48:
           86|     # XXX: The size is somewhat arbitrary
           87|     passAsFile = if builtins.stringLength pkgs >= 128*1024 then [ "pkgs" ] else [ ];
             |                                                ^
           88|   }

       … while calling the 'stringLength' builtin
         at /nix/store/gg86rfp39vc7chqsszk32q7995hz4943-source/pkgs/build-support/buildenv/default.nix:87:21:
           86|     # XXX: The size is somewhat arbitrary
           87|     passAsFile = if builtins.stringLength pkgs >= 128*1024 then [ "pkgs" ] else [ ];
             |                     ^
           88|   }

       … while calling the 'toJSON' builtin
         at /nix/store/gg86rfp39vc7chqsszk32q7995hz4943-source/pkgs/build-support/buildenv/default.nix:82:12:
           81|             nativeBuildInputs buildInputs;
           82|     pkgs = builtins.toJSON chosenOutputs;
             |            ^
           83|     extraPathsFrom = lib.optional includeClosures (writeClosure pathsForClosure);

       … while evaluating list element at index 12

       … while evaluating attribute 'paths'
         at /nix/store/gg86rfp39vc7chqsszk32q7995hz4943-source/pkgs/build-support/buildenv/default.nix:57:5:
           56|   chosenOutputs = map (drv: {
           57|     paths =
             |     ^
           58|       # First add the usual output(s): respect if user has chosen explicitly,

       … while evaluating list element at index 0
         at /nix/store/gg86rfp39vc7chqsszk32q7995hz4943-source/pkgs/build-support/buildenv/default.nix:57:5:
           56|   chosenOutputs = map (drv: {
           57|     paths =
             |     ^
           58|       # First add the usual output(s): respect if user has chosen explicitly,

       … while evaluating the attribute 'out.outPath'
         at /nix/store/gg86rfp39vc7chqsszk32q7995hz4943-source/lib/customisation.nix:352:13:
          351|             drvPath = assert condition; drv.${outputName}.drvPath;
          352|             outPath = assert condition; drv.${outputName}.outPath;
             |             ^
          353|           } //

       … while calling the 'getAttr' builtin
         at <nix/derivation-internal.nix>:44:19:
           43|       value = commonAttrs // {
           44|         outPath = builtins.getAttr outputName strict;
             |                   ^
           45|         drvPath = strict.drvPath;

       … while calling the 'derivationStrict' builtin
         at <nix/derivation-internal.nix>:34:12:
           33|
           34|   strict = derivationStrict drvAttrs;
             |            ^
           35|

       … while evaluating derivation 'beets-2.0.0'
         whose name attribute is located at /nix/store/gg86rfp39vc7chqsszk32q7995hz4943-source/pkgs/stdenv/generic/make-derivation.nix:336:7

       … while evaluating attribute 'propagatedBuildInputs' of derivation 'beets-2.0.0'
         at /nix/store/gg86rfp39vc7chqsszk32q7995hz4943-source/pkgs/stdenv/generic/make-derivation.nix:390:7:
          389|       depsHostHostPropagated      = elemAt (elemAt propagatedDependencies 1) 0;
          390|       propagatedBuildInputs       = elemAt (elemAt propagatedDependencies 1) 1;
             |       ^
          391|       depsTargetTargetPropagated  = elemAt (elemAt propagatedDependencies 2) 0;

       … while evaluating the attribute 'out.outPath'
         at /nix/store/gg86rfp39vc7chqsszk32q7995hz4943-source/lib/customisation.nix:352:13:
          351|             drvPath = assert condition; drv.${outputName}.drvPath;
          352|             outPath = assert condition; drv.${outputName}.outPath;
             |             ^
          353|           } //

       … while evaluating the attribute 'out.outPath'
         at /nix/store/gg86rfp39vc7chqsszk32q7995hz4943-source/lib/customisation.nix:352:13:
          351|             drvPath = assert condition; drv.${outputName}.drvPath;
          352|             outPath = assert condition; drv.${outputName}.outPath;
             |             ^
          353|           } //

       … while calling the 'getAttr' builtin
         at <nix/derivation-internal.nix>:44:19:
           43|       value = commonAttrs // {
           44|         outPath = builtins.getAttr outputName strict;
             |                   ^
           45|         drvPath = strict.drvPath;

       … while calling the 'derivationStrict' builtin
         at <nix/derivation-internal.nix>:34:12:
           33|
           34|   strict = derivationStrict drvAttrs;
             |            ^
           35|

       … while evaluating derivation 'python3.12-librosa-0.10.2.post1'
         whose name attribute is located at /nix/store/gg86rfp39vc7chqsszk32q7995hz4943-source/pkgs/stdenv/generic/make-derivation.nix:336:7

       … while evaluating attribute 'propagatedBuildInputs' of derivation 'python3.12-librosa-0.10.2.post1'
         at /nix/store/gg86rfp39vc7chqsszk32q7995hz4943-source/pkgs/stdenv/generic/make-derivation.nix:390:7:
          389|       depsHostHostPropagated      = elemAt (elemAt propagatedDependencies 1) 0;
          390|       propagatedBuildInputs       = elemAt (elemAt propagatedDependencies 1) 1;
             |       ^
          391|       depsTargetTargetPropagated  = elemAt (elemAt propagatedDependencies 2) 0;

       … while evaluating the attribute 'out.outPath'
         at /nix/store/gg86rfp39vc7chqsszk32q7995hz4943-source/lib/customisation.nix:352:13:
          351|             drvPath = assert condition; drv.${outputName}.drvPath;
          352|             outPath = assert condition; drv.${outputName}.outPath;
             |             ^
          353|           } //

       … while calling the 'getAttr' builtin
         at <nix/derivation-internal.nix>:44:19:
           43|       value = commonAttrs // {
           44|         outPath = builtins.getAttr outputName strict;
             |                   ^
           45|         drvPath = strict.drvPath;

       … while calling the 'derivationStrict' builtin
         at <nix/derivation-internal.nix>:34:12:
           33|
           34|   strict = derivationStrict drvAttrs;
             |            ^
           35|

       … while evaluating derivation 'python3.12-soxr-0.5.0.post1'
         whose name attribute is located at /nix/store/gg86rfp39vc7chqsszk32q7995hz4943-source/pkgs/stdenv/generic/make-derivation.nix:336:7

       … while evaluating attribute 'nativeBuildInputs' of derivation 'python3.12-soxr-0.5.0.post1'
         at /nix/store/gg86rfp39vc7chqsszk32q7995hz4943-source/pkgs/stdenv/generic/make-derivation.nix:380:7:
          379|       depsBuildBuild              = elemAt (elemAt dependencies 0) 0;
          380|       nativeBuildInputs           = elemAt (elemAt dependencies 0) 1;
             |       ^
          381|       depsBuildTarget             = elemAt (elemAt dependencies 0) 2;

       … while evaluating the attribute 'out.outPath'
         at /nix/store/gg86rfp39vc7chqsszk32q7995hz4943-source/lib/customisation.nix:352:13:
          351|             drvPath = assert condition; drv.${outputName}.drvPath;
          352|             outPath = assert condition; drv.${outputName}.outPath;
             |             ^
          353|           } //

       … while calling the 'getAttr' builtin
         at <nix/derivation-internal.nix>:44:19:
           43|       value = commonAttrs // {
           44|         outPath = builtins.getAttr outputName strict;
             |                   ^
           45|         drvPath = strict.drvPath;

       … while calling the 'derivationStrict' builtin
         at <nix/derivation-internal.nix>:34:12:
           33|
           34|   strict = derivationStrict drvAttrs;
             |            ^
           35|

       … while evaluating derivation 'python3.12-nanobind-2.1.0'
         whose name attribute is located at /nix/store/gg86rfp39vc7chqsszk32q7995hz4943-source/pkgs/stdenv/generic/make-derivation.nix:336:7

       … while evaluating attribute 'nativeBuildInputs' of derivation 'python3.12-nanobind-2.1.0'
         at /nix/store/gg86rfp39vc7chqsszk32q7995hz4943-source/pkgs/stdenv/generic/make-derivation.nix:380:7:
          379|       depsBuildBuild              = elemAt (elemAt dependencies 0) 0;
          380|       nativeBuildInputs           = elemAt (elemAt dependencies 0) 1;
             |       ^
          381|       depsBuildTarget             = elemAt (elemAt dependencies 0) 2;

       … while evaluating the attribute 'out.outPath'
         at /nix/store/gg86rfp39vc7chqsszk32q7995hz4943-source/lib/customisation.nix:352:13:
          351|             drvPath = assert condition; drv.${outputName}.drvPath;
          352|             outPath = assert condition; drv.${outputName}.outPath;
             |             ^
          353|           } //

       … while calling the 'getAttr' builtin
         at <nix/derivation-internal.nix>:44:19:
           43|       value = commonAttrs // {
           44|         outPath = builtins.getAttr outputName strict;
             |                   ^
           45|         drvPath = strict.drvPath;

       … while calling the 'derivationStrict' builtin
         at <nix/derivation-internal.nix>:34:12:
           33|
           34|   strict = derivationStrict drvAttrs;
             |            ^
           35|

       … while evaluating derivation 'python3.12-tensorflow-2.18.0'
         whose name attribute is located at /nix/store/gg86rfp39vc7chqsszk32q7995hz4943-source/pkgs/stdenv/generic/make-derivation.nix:336:7

       … while evaluating attribute '__impureHostDeps' of derivation 'python3.12-tensorflow-2.18.0'
         at /nix/store/gg86rfp39vc7chqsszk32q7995hz4943-source/pkgs/stdenv/generic/make-derivation.nix:451:7:
          450|       __propagatedSandboxProfile = unique (computedPropagatedSandboxProfile ++ [ propagatedSandboxProfile ]);
          451|       __impureHostDeps = computedImpureHostDeps ++ computedPropagatedImpureHostDeps ++ __propagatedImpureHostDeps ++ __impureHostDeps ++ stdenv.__extraImpureHostDeps ++ [
             |       ^
          452|         "/dev/zero"

       … while calling the 'foldl'' builtin
         at /nix/store/gg86rfp39vc7chqsszk32q7995hz4943-source/pkgs/stdenv/generic/make-derivation.nix:435:11:
          434|         computedImpureHostDeps =
          435|           unique (concatMap (input: input.__propagatedImpureHostDeps or [])
             |           ^
          436|             (stdenv.extraNativeBuildInputs

       … while calling the 'concatMap' builtin
         at /nix/store/gg86rfp39vc7chqsszk32q7995hz4943-source/pkgs/stdenv/generic/make-derivation.nix:435:19:
          434|         computedImpureHostDeps =
          435|           unique (concatMap (input: input.__propagatedImpureHostDeps or [])
             |                   ^
          436|             (stdenv.extraNativeBuildInputs

       … while calling the 'concatLists' builtin
         at /nix/store/gg86rfp39vc7chqsszk32q7995hz4943-source/pkgs/stdenv/generic/make-derivation.nix:421:27:
          420|       let
          421|         allDependencies = concatLists (concatLists dependencies);
             |                           ^
          422|         allPropagatedDependencies = concatLists (concatLists propagatedDependencies);

       … while calling the 'map' builtin
         at /nix/store/gg86rfp39vc7chqsszk32q7995hz4943-source/pkgs/stdenv/generic/make-derivation.nix:307:8:
          306|       (map (drv: getDev drv.__spliced.buildBuild or drv) (checkDependencyList "depsBuildBuild" depsBuildBuild))
          307|       (map (drv: getDev drv.__spliced.buildHost or drv) (checkDependencyList "nativeBuildInputs" nativeBuildInputs'))
             |        ^
          308|       (map (drv: getDev drv.__spliced.buildTarget or drv) (checkDependencyList "depsBuildTarget" depsBuildTarget))

       … from call site
         at /nix/store/gg86rfp39vc7chqsszk32q7995hz4943-source/pkgs/stdenv/generic/make-derivation.nix:307:58:
          306|       (map (drv: getDev drv.__spliced.buildBuild or drv) (checkDependencyList "depsBuildBuild" depsBuildBuild))
          307|       (map (drv: getDev drv.__spliced.buildHost or drv) (checkDependencyList "nativeBuildInputs" nativeBuildInputs'))
             |                                                          ^
          308|       (map (drv: getDev drv.__spliced.buildTarget or drv) (checkDependencyList "depsBuildTarget" depsBuildTarget))

       … while calling 'checkDependencyList''
         at /nix/store/gg86rfp39vc7chqsszk32q7995hz4943-source/pkgs/stdenv/generic/make-derivation.nix:279:43:
          278|   checkDependencyList = checkDependencyList' [];
          279|   checkDependencyList' = positions: name: deps:
             |                                           ^
          280|     imap1

       … from call site
         at /nix/store/gg86rfp39vc7chqsszk32q7995hz4943-source/pkgs/stdenv/generic/make-derivation.nix:280:5:
          279|   checkDependencyList' = positions: name: deps:
          280|     imap1
             |     ^
          281|       (index: dep:

       … while calling 'imap1'
         at /nix/store/gg86rfp39vc7chqsszk32q7995hz4943-source/lib/lists.nix:334:14:
          333|   */
          334|   imap1 = f: list: genList (n: f (n + 1) (elemAt list n)) (length list);
             |              ^
          335|

       … while calling the 'genList' builtin
         at /nix/store/gg86rfp39vc7chqsszk32q7995hz4943-source/lib/lists.nix:334:20:
          333|   */
          334|   imap1 = f: list: genList (n: f (n + 1) (elemAt list n)) (length list);
             |                    ^
          335|

       … while evaluating the second argument passed to builtins.genList

       … while calling the 'length' builtin
         at /nix/store/gg86rfp39vc7chqsszk32q7995hz4943-source/lib/lists.nix:334:60:
          333|   */
          334|   imap1 = f: list: genList (n: f (n + 1) (elemAt list n)) (length list);
             |                                                            ^
          335|

       … from call site
         at /nix/store/gg86rfp39vc7chqsszk32q7995hz4943-source/pkgs/development/interpreters/python/mk-python-derivation.nix:242:10:
          241|       pythonRemoveBinBytecodeHook
          242|     ] ++ optionals (hasSuffix "zip" (attrs.src.name or "")) [
             |          ^
          243|       unzip

       … while calling 'optionals'
         at /nix/store/gg86rfp39vc7chqsszk32q7995hz4943-source/lib/lists.nix:820:5:
          819|     cond:
          820|     elems: if cond then elems else [];
             |     ^
          821|

       … while evaluating a branch condition
         at /nix/store/gg86rfp39vc7chqsszk32q7995hz4943-source/lib/lists.nix:820:12:
          819|     cond:
          820|     elems: if cond then elems else [];
             |            ^
          821|

       … from call site
         at /nix/store/gg86rfp39vc7chqsszk32q7995hz4943-source/pkgs/development/interpreters/python/mk-python-derivation.nix:242:21:
          241|       pythonRemoveBinBytecodeHook
          242|     ] ++ optionals (hasSuffix "zip" (attrs.src.name or "")) [
             |                     ^
          243|       unzip

       … while calling 'hasSuffix'
         at /nix/store/gg86rfp39vc7chqsszk32q7995hz4943-source/lib/strings.nix:759:5:
          758|     suffix:
          759|     content:
             |     ^
          760|     let

       … from call site
         at /nix/store/gg86rfp39vc7chqsszk32q7995hz4943-source/lib/strings.nix:766:5:
          765|     # to strings and comparing. This was surprising and confusing.
          766|     warnIf
             |     ^
          767|       (isPath suffix)

       … while calling anonymous lambda
         at /nix/store/gg86rfp39vc7chqsszk32q7995hz4943-source/lib/trivial.nix:798:50:
          797|   */
          798|   warnIf = cond: msg: if cond then warn msg else x: x;
             |                                                  ^
          799|

       … in the left operand of the AND (&&) operator
         at /nix/store/gg86rfp39vc7chqsszk32q7995hz4943-source/lib/strings.nix:775:9:
          774|         lenContent >= lenSuffix
          775|         && substring (lenContent - lenSuffix) lenContent content == suffix
             |         ^
          776|       );

       … in the argument of the not operator
         at /nix/store/gg86rfp39vc7chqsszk32q7995hz4943-source/lib/strings.nix:774:20:
          773|       (
          774|         lenContent >= lenSuffix
             |                    ^
          775|         && substring (lenContent - lenSuffix) lenContent content == suffix

       … while calling the 'lessThan' builtin
         at /nix/store/gg86rfp39vc7chqsszk32q7995hz4943-source/lib/strings.nix:774:20:
          773|       (
          774|         lenContent >= lenSuffix
             |                    ^
          775|         && substring (lenContent - lenSuffix) lenContent content == suffix

       … while calling the 'stringLength' builtin
         at /nix/store/gg86rfp39vc7chqsszk32q7995hz4943-source/lib/strings.nix:761:20:
          760|     let
          761|       lenContent = stringLength content;
             |                    ^
          762|       lenSuffix = stringLength suffix;

       … while evaluating the attribute 'src.name'
         at /nix/store/gg86rfp39vc7chqsszk32q7995hz4943-source/pkgs/development/python-modules/tensorflow/bin.nix:62:3:
           61|
           62|   src =
             |   ^
           63|     let

       … while calling a functor (an attribute set with a '__functor' attribute)
         at /nix/store/gg86rfp39vc7chqsszk32q7995hz4943-source/pkgs/development/python-modules/tensorflow/bin.nix:69:5:
           68|     in
           69|     fetchurl (packages.${key} or (throw "tensoflow-bin: unsupported configuration: ${key}"));
             |     ^
           70|

       … from call site
         at /nix/store/gg86rfp39vc7chqsszk32q7995hz4943-source/lib/trivial.nix:966:7:
          965|     { # TODO: Should we add call-time "type" checking like built in?
          966|       __functor = self: f;
             |       ^
          967|       __functionArgs = args;

       … while calling the 'throw' builtin
         at /nix/store/gg86rfp39vc7chqsszk32q7995hz4943-source/pkgs/development/python-modules/tensorflow/bin.nix:69:35:
           68|     in
           69|     fetchurl (packages.${key} or (throw "tensoflow-bin: unsupported configuration: ${key}"));
             |                                   ^
           70|

       error: tensoflow-bin: unsupported configuration: x86_64-darwin_312

Metadata

Notify maintainers

@aszlig @doronbehar @lovesegfault @pjones


Note for maintainers: Please tag this issue in your PR.


Add a :+1: reaction to issues you find important.

doronbehar commented 1 week ago

First of all, welcome to the Nix world. To be really accurate, what you are experiencing is an evaluation error, and not a build error. The Nix expressions Nixpkgs defines do not allow Nix to even try building the attribute python312Packages.tensorflow-bin.

Now to the subject, on the community's Darwin builder, I tried to:

nix build -Lf. python312Packages.tensorflow-bin

And got a different error:

error:
       _ while evaluating the attribute 'drvPath'
         at /Users/doronbehar/nixpkgs/lib/customisation.nix:365:7:
          364|     in commonAttrs // {
          365|       drvPath = assert condition; drv.drvPath;
             |       ^
          366|       outPath = assert condition; drv.outPath;

       _ while evaluating the attribute 'drvPath'
         at /Users/doronbehar/nixpkgs/lib/customisation.nix:365:7:
          364|     in commonAttrs // {
          365|       drvPath = assert condition; drv.drvPath;
             |       ^
          366|       outPath = assert condition; drv.outPath;

       _ while calling the 'derivationStrict' builtin
         at <nix/derivation-internal.nix>:34:12:
           33|
           34|   strict = derivationStrict drvAttrs;
             |            ^
           35|

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

       error: Package _python3.12-jaraco-path-3.7.1_ in /Users/doronbehar/nixpkgs/pkgs/development/python-modules/jaraco-path/default.nix:30 is marked as broken, refusing to evaluate.

       a) To temporarily allow broken packages, you can use an environment variable
          for a single invocation of the nix tools.

            $ export NIXPKGS_ALLOW_BROKEN=1

          Note: When using `nix shell`, `nix build`, `nix develop`, etc with a flake,
                then pass `--impure` in order to allow use of environment variables.

       b) For `nixos-rebuild` you can set
         { nixpkgs.config.allowBroken = true; }
       in configuration.nix to override this.

       c) For `nix-env`, `nix-build`, `nix-shell` or any other Nix command you can add
         { allowBroken = true; }
       to ~/.config/nixpkgs/config.nix.

And on a Linux machine I ran:

nix why-depends --all --derivation --precise .\#python312Packages.{tensorflow-bin,jaraco-path}

And got:

/nix/store/i8m9a892if52493vpfmardz1wplwv2jl-python3.12-tensorflow-2.18.0.drv
└───/: ….2.0.drv",["out"]),("/nix/store/l3pglkx17nrqy1qqpr0jpxlb2c4hx5s2-python3.12-distutils-75.1.0.drv…
    → /nix/store/l3pglkx17nrqy1qqpr0jpxlb2c4hx5s2-python3.12-distutils-75.1.0.drv
    └───/: …14.0.drv",["out"]),("/nix/store/c2g8dw12zqb8jlxwmf41h2p0gd7ry879-python3.12-jaraco-path-3.7.1.dr…
        → /nix/store/c2g8dw12zqb8jlxwmf41h2p0gd7ry879-python3.12-jaraco-path-3.7.1.drv

Let's ask what @dotlambda thinks about it, they already perform alot of changes in #354627 .

dotlambda commented 1 week ago

What's the problem with that dependency graph? EDIT: Oh, I see. I can look into jaraco-path on Darwin before the aforementioned PR is merged.

dotlambda commented 1 week ago

on the community's Darwin builder

You don't even need a Darwin machine to find eval errors.

doronbehar commented 1 week ago

on the community's Darwin builder

You don't even need a Darwin machine to find eval errors.

Hmm nice, are you talking about using Hydra's eval errors?

dotlambda commented 1 week ago

Hmm nice, are you talking about using Hydra's eval errors?

No, you can just run nix build --system x86_64-darwin on any machine. nix-instantiate also does the trick.

doronbehar commented 1 week ago

Hmm nice, are you talking about using Hydra's eval errors?

No, you can just run nix build --system x86_64-darwin on any machine. nix-instantiate also does the trick.

Hmm are you sure? First of all, there are no docs for that in nix build --help, 2ndly:

nix build --system x86_64-darwin -Lf. python312Packages.tensorflow-bin

Doesn't return me that eval error with jaraco-path, but rather:

error:
       … while evaluating the attribute 'drvPath'
         at /home/doron/repos/nixpkgs/lib/customisation.nix:365:7:
          364|     in commonAttrs // {
          365|       drvPath = assert condition; drv.drvPath;
             |       ^
          366|       outPath = assert condition; drv.outPath;

       … while evaluating the attribute 'drvPath'
         at /home/doron/repos/nixpkgs/lib/customisation.nix:365:7:
          364|     in commonAttrs // {
          365|       drvPath = assert condition; drv.drvPath;
             |       ^
          366|       outPath = assert condition; drv.outPath;

       … in the condition of the assert statement
         at /home/doron/repos/nixpkgs/lib/customisation.nix:365:17:
          364|     in commonAttrs // {
          365|       drvPath = assert condition; drv.drvPath;
             |                 ^
          366|       outPath = assert condition; drv.outPath;

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

       error: Package ‘python3.12-tensorflow-2.18.0’ in /home/doron/repos/nixpkgs/pkgs/development/python-modules/tensorflow/bin.nix:227 is not available on the requested hostPlatform:
         hostPlatform.config = "x86_64-apple-darwin"
         package.meta.platforms = [
           "aarch64-linux"
           "armv5tel-linux"
           "armv6l-linux"
           "armv7a-linux"
           "armv7l-linux"
           "i686-linux"
           "loongarch64-linux"
           "m68k-linux"
           "microblaze-linux"
           "microblazeel-linux"
           "mips-linux"
           "mips64-linux"
           "mips64el-linux"
           "mipsel-linux"
           "powerpc64-linux"
           "powerpc64le-linux"
           "riscv32-linux"
           "riscv64-linux"
           "s390-linux"
           "s390x-linux"
           "x86_64-linux"
           "x86_64-darwin"
           "i686-darwin"
           "aarch64-darwin"
           "armv7a-darwin"
           "i686-cygwin"
           "x86_64-cygwin"
           "aarch64-windows"
           "x86_64-windows"
           "i686-windows"
           "i686-freebsd"
           "x86_64-freebsd"
         ]
         package.meta.badPlatforms = [
           "x86_64-darwin"
         ]
       , refusing to evaluate.

       a) To temporarily allow packages that are unsupported for this system, you can use an environment variable
          for a single invocation of the nix tools.

            $ export NIXPKGS_ALLOW_UNSUPPORTED_SYSTEM=1

          Note: When using `nix shell`, `nix build`, `nix develop`, etc with a flake,
                then pass `--impure` in order to allow use of environment variables.

       b) For `nixos-rebuild` you can set
         { nixpkgs.config.allowUnsupportedSystem = true; }
       in configuration.nix to override this.

       c) For `nix-env`, `nix-build`, `nix-shell` or any other Nix command you can add
         { allowUnsupportedSystem = true; }
       to ~/.config/nixpkgs/config.nix.
dotlambda commented 1 week ago

Doesn't return me that eval error with jaraco-path, but rather:

That's because you got the error on aarch64-darwin instead.

doronbehar commented 1 week ago

For reference: https://github.com/NixOS/nix/issues/11903

doronbehar commented 1 week ago

Also, I just encountered this comment at https://github.com/NixOS/nixpkgs/pull/327844 :

Note: As the binaries seem to be missing, I have disabled x86_64-darwin support.

JeffersonBledsoe commented 1 week ago

Thanks for all the explanations and discussion both, it's alot of help in learning!

dotlambda commented 1 week ago

Also, I just encountered this comment at #327844 :

Note: As the binaries seem to be missing, I have disabled x86_64-darwin support.

That they are missing is intentional:

Caution: TensorFlow 2.16 was the last TensorFlow release that supported macOS x86

@GaetanLepage Should we keep tensorflow at 2.16 on x86_64-darwin?

GaetanLepage commented 6 days ago

@GaetanLepage Should we keep tensorflow at 2.16 on x86_64-darwin?

Well, I would argue that we shouldn't really bother with pinning tensorflow for the sole purpose of preserving x86_64-darwin compatibility. Is that what you were suggesting @dotlambda ? If upstream drop supports for a platform, I think that we should simply acknowledge it and update meta.platforms accordingly.

dotlambda commented 6 days ago

No, I was thinking of leaving it on 2.16 on x86_64-darwin but use the latest version on other platforms.

GaetanLepage commented 6 days ago

No, I was thinking of leaving it on 2.16 on x86_64-darwin but use the latest version on other platforms.

Is that a common process in nixpkgs ? Having different version of a given package depending on the platform ? Anyway, I have no problem with you doing that if you want.

dotlambda commented 5 days ago

Anyway, I have no problem with you doing that if you want.

I'll leave it to someone who cares about either Darwin or TensorFlow.

nixos-discourse commented 1 day ago

This issue has been mentioned on NixOS Discourse. There might be relevant details there:

https://discourse.nixos.org/t/how-to-install-an-older-version-of-a-package/56560/1