Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Build failure: OpenUSD #325663

Closed
cig0 opened this issue Jul 8, 2024 · 9 comments · Fixed by #326041
Closed

Build failure: OpenUSD #325663

cig0 opened this issue Jul 8, 2024 · 9 comments · Fixed by #326041

Comments

@cig0
Copy link
Contributor

cig0 commented Jul 8, 2024

Describe the bug

A clear and concise description of what the bug is.

Steps To Reproduce

Steps to reproduce the behavior:

  1. Try to install the package python3.11-openusd-24.05
    This is a dependency of some other package, but I don't know which one.

Expected behavior

The package should install as usual.

Screenshots

If applicable, add screenshots to help explain your problem.

Additional context

error:
       … while calling the 'head' builtin

         at /nix/store/2nnisw4pxbifisbkg58hrnis9ycs5ah1-source/lib/attrsets.nix:1575:11:

         1574|         || pred here (elemAt values 1) (head values) then
         1575|           head values
             |           ^
         1576|         else

       … while evaluating the attribute 'value'

         at /nix/store/2nnisw4pxbifisbkg58hrnis9ycs5ah1-source/lib/modules.nix:809:9:

          808|     in warnDeprecation opt //
          809|       { value = builtins.addErrorContext "while evaluating the option `${showOption loc}':" value;
             |         ^
          810|         inherit (res.defsFinal') highestPrio;

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

       error: Python version mismatch in 'python3.11-openusd-24.05':

       The Python derivation 'python3.11-openusd-24.05' depends on a Python derivation
       named 'python3.12-materialx-1.38.10', but the two derivations use different versions
       of Python:

               'python3.11-openusd-24.05' uses /nix/store/hyppxdhgqx7nbg394j97yhmi6vizl074-python3-3.11.9
           'python3.12-materialx-1.38.10' uses /nix/store/z7xxy35k7620hs6fn6la5fg2lgklv72l-python3-3.12.4

       Possible solutions:

         * If 'python3.12-materialx-1.38.10' is a Python library, change the reference to 'python3.12-materialx-1.38.10'
           in the buildInputs of 'python3.11-openusd-24.05' to use a 'python3.12-materialx-1.38.10' built from the same
           version of Python

         * If 'python3.12-materialx-1.38.10' is used as a tool during the build, move the reference to
           'python3.12-materialx-1.38.10' in 'python3.11-openusd-24.05' from buildInputs to nativeBuildInputs

         * If 'python3.12-materialx-1.38.10' provides executables that are called at run time, pass its
           bin path to makeWrapperArgs:

               makeWrapperArgs = [ "--prefix PATH : ${lib.makeBinPath [ materialx ] }" ];

        at /nix/store/yzkx7gx2cn73dh3c7zg5rvgkp3yli1cd-source/pkgs/development/python-modules/openusd/default.nix:53:3
┏━ 1 Errors: 
┃ error:
┃        … while calling the 'head' builtin

┃          at /nix/store/2nnisw4pxbifisbkg58hrnis9ycs5ah1-source/lib/attrsets.nix:1575:11:

┃          1574|         || pred here (elemAt values 1) (head values) then
┃          1575|           head values
┃              |           ^
┃          1576|         else

┃        … while evaluating the attribute 'value'

┃          at /nix/store/2nnisw4pxbifisbkg58hrnis9ycs5ah1-source/lib/modules.nix:809:9:

┃           808|     in warnDeprecation opt //
┃           809|       { value = builtins.addErrorContext "while evaluating the option `${showOption loc}':" value;
┃              |         ^
┃           810|         inherit (res.defsFinal') highestPrio;

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

┃        error: Python version mismatch in 'python3.11-openusd-24.05':

┃        The Python derivation 'python3.11-openusd-24.05' depends on a Python derivation
┃        named 'python3.12-materialx-1.38.10', but the two derivations use different versions
┃        of Python:

┃                'python3.11-openusd-24.05' uses /nix/store/hyppxdhgqx7nbg394j97yhmi6vizl074-python3-3.11.9
┃            'python3.12-materialx-1.38.10' uses /nix/store/z7xxy35k7620hs6fn6la5fg2lgklv72l-python3-3.12.4

┃        Possible solutions:

┃          * If 'python3.12-materialx-1.38.10' is a Python library, change the reference to 'python3.12-materialx-1.38.10'
┃            in the buildInputs of 'python3.11-openusd-24.05' to use a 'python3.12-materialx-1.38.10' built from the same
┃            version of Python

┃          * If 'python3.12-materialx-1.38.10' is used as a tool during the build, move the reference to
┃            'python3.12-materialx-1.38.10' in 'python3.11-openusd-24.05' from buildInputs to nativeBuildInputs

┃          * If 'python3.12-materialx-1.38.10' provides executables that are called at run time, pass its
┃            bin path to makeWrapperArgs:

┃                makeWrapperArgs = [ "--prefix PATH : ${lib.makeBinPath [ materialx ] }" ];

┃         at /nix/store/yzkx7gx2cn73dh3c7zg5rvgkp3yli1cd-source/pkgs/development/python-modules/openusd/default.nix:53:3
┣━━━                                                             
┗━ ∑ ⚠ Exited with 1 errors reported by nix at 19:15:24 after 20s

Notify maintainers

@ShaddyDC

Metadata

Please run nix-shell -p nix-info --run "nix-info -m" and paste the result.

[user@system:~]$ nix-shell -p nix-info --run "nix-info -m"
 - system: `"x86_64-linux"`
 - host os: `Linux 6.9.7-xanmod1, NixOS, 24.05 (Uakari), 24.05.20240706.49ee0e9`
 - multi-user?: `yes`
 - sandbox: `yes`
 - version: `nix-env (Nix) 2.18.4`
 - nixpkgs: `/nix/store/as2lprmykdsqs41yijzdb19asn6iv4g9-source`

Add a 👍 reaction to issues you find important.

@Anifyuli

This comment was marked as duplicate.

@returnofblank
Copy link

returnofblank commented Jul 9, 2024

I did a little searching and I think the issue comes from the blender package, or blender-hip for me. Removing it from my packages got rid of that error, but now I'm getting a new one.

building the system configuration...
error:
       … while calling the 'head' builtin

         at /nix/store/yzkx7gx2cn73dh3c7zg5rvgkp3yli1cd-source/lib/attrsets.nix:1575:11:

         1574|         || pred here (elemAt values 1) (head values) then
         1575|           head values
             |           ^
         1576|         else

       … while evaluating the attribute 'value'

         at /nix/store/yzkx7gx2cn73dh3c7zg5rvgkp3yli1cd-source/lib/modules.nix:821:9:

          820|     in warnDeprecation opt //
          821|       { value = addErrorContext "while evaluating the option `${showOption loc}':" value;
             |         ^
          822|         inherit (res.defsFinal') highestPrio;

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

       error: sip-4.19.25 not supported for interpreter python3.12

image

@returnofblank
Copy link

Issue could be related to this #325682

Either way,
Ma, someone messed with the Python again!

@nbraud nbraud changed the title OpenUSD: Build failure: OpenUSD Jul 9, 2024
@ShaddyDC
Copy link
Contributor

ShaddyDC commented Jul 9, 2024

Both plain openusd and blender work for me on master (nix build .#openusd, nix build .#python3Packages.openusd and nix build .#blender).

It's possible that this requires #325292 to work properly, which hasn't propagated to nixos-unstable yet?

The python 3.11 version does indeed fail:

› nix build .#python311Packages.openusd -L --cores 10
error:
       … while evaluating the attribute 'drvPath'

         at /nix/store/idkl6f3jq1ah9xrznr02yqfbcymxkqp0-source/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 /nix/store/idkl6f3jq1ah9xrznr02yqfbcymxkqp0-source/lib/customisation.nix:365:7:

          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 trace)

       error: Python version mismatch in 'python3.11-openusd-24.05':

       The Python derivation 'python3.11-openusd-24.05' depends on a Python derivation
       named 'python3.12-materialx-1.38.10', but the two derivations use different versions
       of Python:

               'python3.11-openusd-24.05' uses /nix/store/hyppxdhgqx7nbg394j97yhmi6vizl074-python3-3.11.9
           'python3.12-materialx-1.38.10' uses /nix/store/z7xxy35k7620hs6fn6la5fg2lgklv72l-python3-3.12.4

       Possible solutions:

         * If 'python3.12-materialx-1.38.10' is a Python library, change the reference to 'python3.12-materialx-1.38.10'
           in the buildInputs of 'python3.11-openusd-24.05' to use a 'python3.12-materialx-1.38.10' built from the same
           version of Python

         * If 'python3.12-materialx-1.38.10' is used as a tool during the build, move the reference to
           'python3.12-materialx-1.38.10' in 'python3.11-openusd-24.05' from buildInputs to nativeBuildInputs

         * If 'python3.12-materialx-1.38.10' provides executables that are called at run time, pass its
           bin path to makeWrapperArgs:

               makeWrapperArgs = [ "--prefix PATH : ${lib.makeBinPath [ materialx ] }" ];

        at /nix/store/idkl6f3jq1ah9xrznr02yqfbcymxkqp0-source/pkgs/development/python-modules/openusd/default.nix:53:3

I think I'll leave that to people who understand how python derivations properly work here.

@returnofblank

This comment was marked as off-topic.

@ShaddyDC
Copy link
Contributor

ShaddyDC commented Jul 9, 2024

Probably. Sip4 has explicitly disabled python 3.12, though I don't know why: 544c197
There's some related discussion for cura in #186570

It looks like both the packaged version of cura and sip4 are pretty old. Maybe it's worth removing them from whatever depends on them if that's simple.

@l0b0

This comment was marked as off-topic.

@SuperSandro2000

This comment was marked as off-topic.

@SuperSandro2000
Copy link
Member

though I don't know why

See the comment: relies on distutils

distutils was dropped in Python 3.12.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

7 participants