Skip to content

Add recipe for openusd package #29501

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

Open
wants to merge 6 commits into
base: main
Choose a base branch
from

Conversation

traversaro
Copy link
Contributor

@traversaro traversaro commented Mar 22, 2025

This PR adds a package for the C++ and Python library openusd, that is the reference implementation of the Universal Scene Description, a standard format used in Graphics, Robotics and Virtual Reality applications.

The library name used to be USD, and this is the name in which the package is available in many package managers (https://repology.org/project/usd/versions), but one year ago it has been renamed to openusd (see https://x.com/openusd/status/1669082474947969024), and has some package managers are starting to use this new name (https://repology.org/project/openusd/versions, https://repology.org/project/python%3Aopenusd/versions), I think it make sense to call the new conda-forge package openusd and not usd.

A reduced (without tools and plugins) version of this library is available in PyPI under the name usd-core. However, as the conda-forge package proposed in this PR contains the full USD distribution, and not just the python "core", I think it make sense to use a different name for the conda package. Nevertheless, in the recipe I included the necessary logic to ensure that pip list still lists usd-core as an installed PyPI package if one install the conda-forge openusd package.

The macOS build is skipped as the SDK 10.14 is actually required by openusd, the idea is to re-enabled it in the feedstock by raising the required SDK version from 10.13 to 10.14 .

The Windows build is skipped as the CI runs out of space (see #29501 (comment)), the idea is to re-enable it in the feedstock together with strategies to reduce the space used in CI.

The work on this was initially started in #16666 .

Checklist

  • Title of this PR is meaningful: e.g. "Adding my_nifty_package", not "updated meta.yaml".
  • License file is packaged (see here for an example).
  • Source is from official source.
  • Package does not vendor other packages. (If a package uses the source of another package, they should be separate packages or the licenses of all packages need to be packaged).
  • If static libraries are linked in, the license of the static library is packaged.
  • Package does not ship static libraries. If static libraries are needed, follow CFEP-18.
  • Build number is 0.
  • A tarball (url) rather than a repo (e.g. git_url) is used in your recipe (see here for more details).
  • GitHub users listed in the maintainer section have posted a comment confirming they are willing to be listed there.
  • When in trouble, please check our knowledge base documentation before pinging a team.

Copy link
Contributor

Hi! This is the staged-recipes linter and your PR looks excellent! 🚀

@conda-forge-admin
Copy link
Contributor

conda-forge-admin commented Mar 22, 2025

Hi! This is the friendly automated conda-forge-linting service.

I failed to even lint the recipe, probably because of a conda-smithy bug 😢. This likely indicates a problem in your meta.yaml, though. To get a traceback to help figure out what's going on, install conda-smithy and run conda smithy recipe-lint --conda-forge . from the recipe directory. You can also examine the workflow logs for more detail.

This message was generated by GitHub Actions workflow run https://github.com/conda-forge/conda-forge-webservices/actions/runs/14023163964. Examine the logs at this URL for more detail.

@conda-forge-admin
Copy link
Contributor

Hi! This is the friendly automated conda-forge-linting service.

I just wanted to let you know that I linted all conda-recipes in your PR (recipes/usd/recipe.yaml) and found it was in an excellent condition.

@traversaro traversaro force-pushed the patch-71 branch 2 times, most recently from bcd4060 to 7505fa3 Compare April 29, 2025 07:15
@traversaro traversaro mentioned this pull request Apr 29, 2025
9 tasks
@traversaro
Copy link
Contributor Author

Somehow there are 4 tests that still fail with linking problems:

190: Test command: /home/traversaro/staged-recipes/output/bld/rattler-build_usd_1745912459/host_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_plac/bin/python "/home/traversaro/staged-recipes/output/bld/rattler-build_usd_1745912459/work/cmake/macros/testWrapper.py" "--verbose" "--testenv-dir=/home/traversaro/staged-recipes/output/bld/rattler-build_usd_1745912459/host_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_plac/tests/ctest/testJsIO" "--diff-compare=plugInfo.json" "--baseline-dir=/home/traversaro/staged-recipes/output/bld/rattler-build_usd_1745912459/host_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_plac/tests/ctest/testJsIO/baseline" "--failures-dir=/home/traversaro/staged-recipes/output/bld/rattler-build_usd_1745912459/work/build/Testing/Failed-Diffs/<PXR_CTEST_RUN_ID>/testJsIO_PlugInfo" "--env-var=PYTHONPATH=/home/traversaro/staged-recipes/output/bld/rattler-build_usd_1745912459/host_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_plac/lib/python:" "/home/traversaro/staged-recipes/output/bld/rattler-build_usd_1745912459/host_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_plac/tests/testJsIO plugInfo.json.in plugInfo.json"
190: Working Directory: /home/traversaro/staged-recipes/output/bld/rattler-build_usd_1745912459/work/build/pxr/base/js
190: Test timeout computed to be: 9999879
190: /home/traversaro/staged-recipes/output/bld/rattler-build_usd_1745912459/host_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_plac/tests/testJsIO: symbol lookup error: /home/traversaro/staged-recipes/output/bld/rattler-build_usd_1745912459/host_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_plac/lib/libusd_python.so: undefined symbol: PyExc_ValueError
190: Error: return code 127 doesn't match expected 0 (EXPECTED_RETURN_CODE).chdir: /tmp/tmp45wsx7qb
190: copying testenv dir: /home/traversaro/staged-recipes/output/bld/rattler-build_usd_1745912459/host_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_plac/tests/ctest/testJsIO
190: cmd: ['/home/traversaro/staged-recipes/output/bld/rattler-build_usd_1745912459/host_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_plac/tests/testJsIO', 'plugInfo.json.in', 'plugInfo.json']
1/4 Test #190: testJsIO_PlugInfo ...................***Failed    0.02 sec
test 191
    Start 191: testJsIO_Values

191: Test command: /home/traversaro/staged-recipes/output/bld/rattler-build_usd_1745912459/host_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_plac/bin/python "/home/traversaro/staged-recipes/output/bld/rattler-build_usd_1745912459/work/cmake/macros/testWrapper.py" "--verbose" "--testenv-dir=/home/traversaro/staged-recipes/output/bld/rattler-build_usd_1745912459/host_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_plac/tests/ctest/testJsIO" "--diff-compare=values.json" "--baseline-dir=/home/traversaro/staged-recipes/output/bld/rattler-build_usd_1745912459/host_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_plac/tests/ctest/testJsIO/baseline" "--failures-dir=/home/traversaro/staged-recipes/output/bld/rattler-build_usd_1745912459/work/build/Testing/Failed-Diffs/<PXR_CTEST_RUN_ID>/testJsIO_Values" "--env-var=PYTHONPATH=/home/traversaro/staged-recipes/output/bld/rattler-build_usd_1745912459/host_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_plac/lib/python:" "/home/traversaro/staged-recipes/output/bld/rattler-build_usd_1745912459/host_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_plac/tests/testJsIO values.json.in values.json"
191: Working Directory: /home/traversaro/staged-recipes/output/bld/rattler-build_usd_1745912459/work/build/pxr/base/js
191: Test timeout computed to be: 9999879
191: /home/traversaro/staged-recipes/output/bld/rattler-build_usd_1745912459/host_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_plac/tests/testJsIO: symbol lookup error: /home/traversaro/staged-recipes/output/bld/rattler-build_usd_1745912459/host_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_plac/lib/libusd_python.so: undefined symbol: PyExc_ValueError
191: Error: return code 127 doesn't match expected 0 (EXPECTED_RETURN_CODE).chdir: /tmp/tmpi26go_80
191: copying testenv dir: /home/traversaro/staged-recipes/output/bld/rattler-build_usd_1745912459/host_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_plac/tests/ctest/testJsIO
191: cmd: ['/home/traversaro/staged-recipes/output/bld/rattler-build_usd_1745912459/host_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_plac/tests/testJsIO', 'values.json.in', 'values.json']
2/4 Test #191: testJsIO_Values .....................***Failed    0.02 sec
test 192
    Start 192: testJsIO_Errors_BadCommaPlacement

192: Test command: /home/traversaro/staged-recipes/output/bld/rattler-build_usd_1745912459/host_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_plac/bin/python "/home/traversaro/staged-recipes/output/bld/rattler-build_usd_1745912459/work/cmake/macros/testWrapper.py" "--verbose" "--stderr-redirect=testJsIO_Errors-Run1-stderr.txt" "--testenv-dir=/home/traversaro/staged-recipes/output/bld/rattler-build_usd_1745912459/host_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_plac/tests/ctest/testJsIO_Errors" "--diff-compare=testJsIO_Errors-Run1-stderr.txt" "--baseline-dir=/home/traversaro/staged-recipes/output/bld/rattler-build_usd_1745912459/host_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_plac/tests/ctest/testJsIO_Errors/baseline" "--failures-dir=/home/traversaro/staged-recipes/output/bld/rattler-build_usd_1745912459/work/build/Testing/Failed-Diffs/<PXR_CTEST_RUN_ID>/testJsIO_Errors_BadCommaPlacement" "--expected-return-code=2" "--env-var=PYTHONPATH=/home/traversaro/staged-recipes/output/bld/rattler-build_usd_1745912459/host_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_plac/lib/python:" "/home/traversaro/staged-recipes/output/bld/rattler-build_usd_1745912459/host_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_plac/tests/testJsIO bad-commaPlacement.json -"
192: Working Directory: /home/traversaro/staged-recipes/output/bld/rattler-build_usd_1745912459/work/build/pxr/base/js
192: Test timeout computed to be: 9999879
192: Error: return code 127 doesn't match expected 2 (EXPECTED_RETURN_CODE).chdir: /tmp/tmpaq4geum5
192: copying testenv dir: /home/traversaro/staged-recipes/output/bld/rattler-build_usd_1745912459/host_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_plac/tests/ctest/testJsIO_Errors
192: cmd: ['/home/traversaro/staged-recipes/output/bld/rattler-build_usd_1745912459/host_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_plac/tests/testJsIO', 'bad-commaPlacement.json', '-']
3/4 Test #192: testJsIO_Errors_BadCommaPlacement ...***Failed    0.02 sec
test 193
    Start 193: testJsIO_Errors_MismatchedBraces

193: Test command: /home/traversaro/staged-recipes/output/bld/rattler-build_usd_1745912459/host_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_plac/bin/python "/home/traversaro/staged-recipes/output/bld/rattler-build_usd_1745912459/work/cmake/macros/testWrapper.py" "--verbose" "--stderr-redirect=testJsIO_Errors-Run2-stderr.txt" "--testenv-dir=/home/traversaro/staged-recipes/output/bld/rattler-build_usd_1745912459/host_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_plac/tests/ctest/testJsIO_Errors" "--diff-compare=testJsIO_Errors-Run2-stderr.txt" "--baseline-dir=/home/traversaro/staged-recipes/output/bld/rattler-build_usd_1745912459/host_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_plac/tests/ctest/testJsIO_Errors/baseline" "--failures-dir=/home/traversaro/staged-recipes/output/bld/rattler-build_usd_1745912459/work/build/Testing/Failed-Diffs/<PXR_CTEST_RUN_ID>/testJsIO_Errors_MismatchedBraces" "--expected-return-code=2" "--env-var=PYTHONPATH=/home/traversaro/staged-recipes/output/bld/rattler-build_usd_1745912459/host_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_plac/lib/python:" "/home/traversaro/staged-recipes/output/bld/rattler-build_usd_1745912459/host_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_plac/tests/testJsIO bad-mismatchedBraces.json -"
193: Working Directory: /home/traversaro/staged-recipes/output/bld/rattler-build_usd_1745912459/work/build/pxr/base/js
193: Test timeout computed to be: 9999879
193: Error: return code 127 doesn't match expected 2 (EXPECTED_RETURN_CODE).chdir: /tmp/tmprmiyupud
193: copying testenv dir: /home/traversaro/staged-recipes/output/bld/rattler-build_usd_1745912459/host_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_plac/tests/ctest/testJsIO_Errors
193: cmd: ['/home/traversaro/staged-recipes/output/bld/rattler-build_usd_1745912459/host_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_plac/tests/testJsIO', 'bad-mismatchedBraces.json', '-']
4/4 Test #193: testJsIO_Errors_MismatchedBraces ....***Failed    0.02 sec

So the fix in PixarAnimationStudios/OpenUSD#3577 somehow is not working just for those 4 tests.

@traversaro
Copy link
Contributor Author

Windows is failing

Somehow there are 4 tests that still fail with linking problems:

190: Test command: /home/traversaro/staged-recipes/output/bld/rattler-build_usd_1745912459/host_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_plac/bin/python "/home/traversaro/staged-recipes/output/bld/rattler-build_usd_1745912459/work/cmake/macros/testWrapper.py" "--verbose" "--testenv-dir=/home/traversaro/staged-recipes/output/bld/rattler-build_usd_1745912459/host_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_plac/tests/ctest/testJsIO" "--diff-compare=plugInfo.json" "--baseline-dir=/home/traversaro/staged-recipes/output/bld/rattler-build_usd_1745912459/host_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_plac/tests/ctest/testJsIO/baseline" "--failures-dir=/home/traversaro/staged-recipes/output/bld/rattler-build_usd_1745912459/work/build/Testing/Failed-Diffs/<PXR_CTEST_RUN_ID>/testJsIO_PlugInfo" "--env-var=PYTHONPATH=/home/traversaro/staged-recipes/output/bld/rattler-build_usd_1745912459/host_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_plac/lib/python:" "/home/traversaro/staged-recipes/output/bld/rattler-build_usd_1745912459/host_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_plac/tests/testJsIO plugInfo.json.in plugInfo.json"
190: Working Directory: /home/traversaro/staged-recipes/output/bld/rattler-build_usd_1745912459/work/build/pxr/base/js
190: Test timeout computed to be: 9999879
190: /home/traversaro/staged-recipes/output/bld/rattler-build_usd_1745912459/host_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_plac/tests/testJsIO: symbol lookup error: /home/traversaro/staged-recipes/output/bld/rattler-build_usd_1745912459/host_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_plac/lib/libusd_python.so: undefined symbol: PyExc_ValueError
190: Error: return code 127 doesn't match expected 0 (EXPECTED_RETURN_CODE).chdir: /tmp/tmp45wsx7qb
190: copying testenv dir: /home/traversaro/staged-recipes/output/bld/rattler-build_usd_1745912459/host_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_plac/tests/ctest/testJsIO
190: cmd: ['/home/traversaro/staged-recipes/output/bld/rattler-build_usd_1745912459/host_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_plac/tests/testJsIO', 'plugInfo.json.in', 'plugInfo.json']
1/4 Test #190: testJsIO_PlugInfo ...................***Failed    0.02 sec
test 191
    Start 191: testJsIO_Values

191: Test command: /home/traversaro/staged-recipes/output/bld/rattler-build_usd_1745912459/host_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_plac/bin/python "/home/traversaro/staged-recipes/output/bld/rattler-build_usd_1745912459/work/cmake/macros/testWrapper.py" "--verbose" "--testenv-dir=/home/traversaro/staged-recipes/output/bld/rattler-build_usd_1745912459/host_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_plac/tests/ctest/testJsIO" "--diff-compare=values.json" "--baseline-dir=/home/traversaro/staged-recipes/output/bld/rattler-build_usd_1745912459/host_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_plac/tests/ctest/testJsIO/baseline" "--failures-dir=/home/traversaro/staged-recipes/output/bld/rattler-build_usd_1745912459/work/build/Testing/Failed-Diffs/<PXR_CTEST_RUN_ID>/testJsIO_Values" "--env-var=PYTHONPATH=/home/traversaro/staged-recipes/output/bld/rattler-build_usd_1745912459/host_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_plac/lib/python:" "/home/traversaro/staged-recipes/output/bld/rattler-build_usd_1745912459/host_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_plac/tests/testJsIO values.json.in values.json"
191: Working Directory: /home/traversaro/staged-recipes/output/bld/rattler-build_usd_1745912459/work/build/pxr/base/js
191: Test timeout computed to be: 9999879
191: /home/traversaro/staged-recipes/output/bld/rattler-build_usd_1745912459/host_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_plac/tests/testJsIO: symbol lookup error: /home/traversaro/staged-recipes/output/bld/rattler-build_usd_1745912459/host_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_plac/lib/libusd_python.so: undefined symbol: PyExc_ValueError
191: Error: return code 127 doesn't match expected 0 (EXPECTED_RETURN_CODE).chdir: /tmp/tmpi26go_80
191: copying testenv dir: /home/traversaro/staged-recipes/output/bld/rattler-build_usd_1745912459/host_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_plac/tests/ctest/testJsIO
191: cmd: ['/home/traversaro/staged-recipes/output/bld/rattler-build_usd_1745912459/host_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_plac/tests/testJsIO', 'values.json.in', 'values.json']
2/4 Test #191: testJsIO_Values .....................***Failed    0.02 sec
test 192
    Start 192: testJsIO_Errors_BadCommaPlacement

192: Test command: /home/traversaro/staged-recipes/output/bld/rattler-build_usd_1745912459/host_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_plac/bin/python "/home/traversaro/staged-recipes/output/bld/rattler-build_usd_1745912459/work/cmake/macros/testWrapper.py" "--verbose" "--stderr-redirect=testJsIO_Errors-Run1-stderr.txt" "--testenv-dir=/home/traversaro/staged-recipes/output/bld/rattler-build_usd_1745912459/host_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_plac/tests/ctest/testJsIO_Errors" "--diff-compare=testJsIO_Errors-Run1-stderr.txt" "--baseline-dir=/home/traversaro/staged-recipes/output/bld/rattler-build_usd_1745912459/host_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_plac/tests/ctest/testJsIO_Errors/baseline" "--failures-dir=/home/traversaro/staged-recipes/output/bld/rattler-build_usd_1745912459/work/build/Testing/Failed-Diffs/<PXR_CTEST_RUN_ID>/testJsIO_Errors_BadCommaPlacement" "--expected-return-code=2" "--env-var=PYTHONPATH=/home/traversaro/staged-recipes/output/bld/rattler-build_usd_1745912459/host_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_plac/lib/python:" "/home/traversaro/staged-recipes/output/bld/rattler-build_usd_1745912459/host_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_plac/tests/testJsIO bad-commaPlacement.json -"
192: Working Directory: /home/traversaro/staged-recipes/output/bld/rattler-build_usd_1745912459/work/build/pxr/base/js
192: Test timeout computed to be: 9999879
192: Error: return code 127 doesn't match expected 2 (EXPECTED_RETURN_CODE).chdir: /tmp/tmpaq4geum5
192: copying testenv dir: /home/traversaro/staged-recipes/output/bld/rattler-build_usd_1745912459/host_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_plac/tests/ctest/testJsIO_Errors
192: cmd: ['/home/traversaro/staged-recipes/output/bld/rattler-build_usd_1745912459/host_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_plac/tests/testJsIO', 'bad-commaPlacement.json', '-']
3/4 Test #192: testJsIO_Errors_BadCommaPlacement ...***Failed    0.02 sec
test 193
    Start 193: testJsIO_Errors_MismatchedBraces

193: Test command: /home/traversaro/staged-recipes/output/bld/rattler-build_usd_1745912459/host_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_plac/bin/python "/home/traversaro/staged-recipes/output/bld/rattler-build_usd_1745912459/work/cmake/macros/testWrapper.py" "--verbose" "--stderr-redirect=testJsIO_Errors-Run2-stderr.txt" "--testenv-dir=/home/traversaro/staged-recipes/output/bld/rattler-build_usd_1745912459/host_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_plac/tests/ctest/testJsIO_Errors" "--diff-compare=testJsIO_Errors-Run2-stderr.txt" "--baseline-dir=/home/traversaro/staged-recipes/output/bld/rattler-build_usd_1745912459/host_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_plac/tests/ctest/testJsIO_Errors/baseline" "--failures-dir=/home/traversaro/staged-recipes/output/bld/rattler-build_usd_1745912459/work/build/Testing/Failed-Diffs/<PXR_CTEST_RUN_ID>/testJsIO_Errors_MismatchedBraces" "--expected-return-code=2" "--env-var=PYTHONPATH=/home/traversaro/staged-recipes/output/bld/rattler-build_usd_1745912459/host_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_plac/lib/python:" "/home/traversaro/staged-recipes/output/bld/rattler-build_usd_1745912459/host_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_plac/tests/testJsIO bad-mismatchedBraces.json -"
193: Working Directory: /home/traversaro/staged-recipes/output/bld/rattler-build_usd_1745912459/work/build/pxr/base/js
193: Test timeout computed to be: 9999879
193: Error: return code 127 doesn't match expected 2 (EXPECTED_RETURN_CODE).chdir: /tmp/tmprmiyupud
193: copying testenv dir: /home/traversaro/staged-recipes/output/bld/rattler-build_usd_1745912459/host_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_plac/tests/ctest/testJsIO_Errors
193: cmd: ['/home/traversaro/staged-recipes/output/bld/rattler-build_usd_1745912459/host_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_plac/tests/testJsIO', 'bad-mismatchedBraces.json', '-']
4/4 Test #193: testJsIO_Errors_MismatchedBraces ....***Failed    0.02 sec

So the fix in PixarAnimationStudios/OpenUSD#3577 somehow is not working just for those 4 tests.

This was fixed by traversaro/USD@f65e12b, see the comment there for the details, basically in some specific cases the PixarAnimationStudios/OpenUSD#3577 fix does not work, so to play safe we link the Python3::Python in the tests.

@traversaro
Copy link
Contributor Author

The Windows build is failing due to missing space in CI:

 │ │ [3897/5315] Copying pch.h
 │ │ [3898/5315] Generating pypch.cpp
 │ │ [3899/5315] Building CXX object pxr\base\tf\CMakeFiles\testTfPyDllLinkImplementationGood.dir\testenv\testTfPyDllLinkImplementationGood.cpp.obj
 │ │ [3900/5315] Building CXX object pxr\usdValidation\usdUtilsValidators\CMakeFiles\usdUtilsValidators.dir\pch.cpp.obj
 │ │ [3901/5315] Building CXX object pxr\base\gf\CMakeFiles\_gf.dir\pypch.cpp.obj
 │ │ [3902/5315] Building CXX object pxr\base\trace\CMakeFiles\_trace.dir\pypch.cpp.obj
 │ │ [3903/5315] Building CXX object pxr\base\tf\CMakeFiles\_tf.dir\pypch.cpp.obj
 │ │ [3904/5315] Building CXX object pxr\base\work\CMakeFiles\_work.dir\pypch.cpp.obj
 │ │ [3905/5315] Building CXX object pxr\base\vt\CMakeFiles\_vt.dir\pypch.cpp.obj
 │ │ [3906/5315] Building CXX object pxr\base\plug\CMakeFiles\_plug.dir\pypch.cpp.obj
 │ │ [3907/5315] Building CXX object pxr\base\ts\CMakeFiles\_ts.dir\pypch.cpp.obj
 │ │ [3908/5315] Building CXX object pxr\usd\kind\CMakeFiles\_kind.dir\pypch.cpp.obj
 │ │ [3909/5315] Building CXX object pxr\usd\ar\CMakeFiles\_ar.dir\pypch.cpp.obj
##[warning]Free disk space on D:\ is lower than 5%; Currently used: 97.68%
##[warning]Free disk space on D:\ is lower than 5%; Currently used: 97.68%
 │ │ [3910/5315] Building CXX object pxr\usd\sdf\CMakeFiles\_sdf.dir\pypch.cpp.obj
 │ │ [3911/5315] Building CXX object pxr\usd\ndr\CMakeFiles\_ndr.dir\pypch.cpp.obj
 │ │ [3912/5315] Building CXX object pxr\usd\sdr\CMakeFiles\_sdr.dir\pypch.cpp.obj
 │ │ [3913/5315] Building CXX object pxr\usd\pcp\CMakeFiles\_pcp.dir\pypch.cpp.obj
 │ │ FAILED: pxr/usd/pcp/CMakeFiles/_pcp.dir/pypch.cpp.obj 
 │ │ C:\PROGRA~1\MICROS~2\2022\ENTERP~1\VC\Tools\MSVC\1429~1.301\bin\HostX64\x64\cl.exe  /nologo /TP -DBOOST_ALL_DYN_LINK -DBOOST_ALL_NO_LIB -DGLX_GLXEXT_PROTOTYPES -DGL_GLEXT_PROTOTYPES -DMFB_ALT_PACKAGE_NAME=pcp -DMFB_PACKAGE_MODULE=Pcp -DMFB_PACKAGE_NAME=pcp -DNOMINMAX -DOPENEXR_DLL -DPXR_BOOST_PYTHON_NO_PY_SIGNATURES -DPXR_GL_SUPPORT_ENABLED -DWIN32_LEAN_AND_MEAN -D_CRT_SECURE_NO_WARNINGS -D_SCL_SECURE_NO_WARNINGS -D_pcp_EXPORTS -I%SRC_DIR%\build\pxr\usd\pcp -I%SRC_DIR%\pxr\usd\pcp -I%SRC_DIR%\build\include -external:I%PREFIX%\Include -external:I%PREFIX%\Library\include -external:W0 /EHsc /Zc:rvalueCast /Zc:strictStrings /Zc:__cplusplus /Zc:inline- /W3 /bigobj /Zi /MP /Gm- /FS /wd4003 /wd4244 /wd4305 /wd4267 /wd4506 /wd4091 /wd4273 /wd4180 /wd4334 /DWIN32 /D_WINDOWS /EHsc /O2 /Ob2 /DNDEBUG -std:c++17 -MD /Yc"pxr/usd/_pcp/pypch.h" /FI"pxr/usd/_pcp/pypch.h" /Fp"%SRC_DIR%/build/include/pxr/usd/_pcp/Release/pypch.pch" /showIncludes /Fopxr\usd\pcp\CMakeFiles\_pcp.dir\pypch.cpp.obj /Fdpxr\usd\pcp\CMakeFiles\_pcp.dir\ /FS -c %SRC_DIR%\build\pxr\usd\pcp\pypch.cpp
 │ │ %SRC_DIR%\build\pxr\usd\pcp\pypch.cpp(1): error C2471: cannot update program database '%SRC_DIR%\build\pxr\usd\pcp\CMakeFiles\_pcp.dir\vc140.pdb'
 │ │ [3914/5315] Building CXX object pxr\usd\usd\CMakeFiles\_usd.dir\pypch.cpp.obj
 │ │ FAILED: pxr/usd/usd/CMakeFiles/_usd.dir/pypch.cpp.obj 
 │ │ C:\PROGRA~1\MICROS~2\2022\ENTERP~1\VC\Tools\MSVC\1429~1.301\bin\HostX64\x64\cl.exe  /nologo /TP -DBOOST_ALL_DYN_LINK -DBOOST_ALL_NO_LIB -DGLX_GLXEXT_PROTOTYPES -DGL_GLEXT_PROTOTYPES -DMFB_ALT_PACKAGE_NAME=usd -DMFB_PACKAGE_MODULE=Usd -DMFB_PACKAGE_NAME=usd -DNOMINMAX -DOPENEXR_DLL -DPXR_BOOST_PYTHON_NO_PY_SIGNATURES -DPXR_GL_SUPPORT_ENABLED -DWIN32_LEAN_AND_MEAN -D_CRT_SECURE_NO_WARNINGS -D_SCL_SECURE_NO_WARNINGS -D_usd_EXPORTS -I%SRC_DIR%\build\pxr\usd\usd -I%SRC_DIR%\pxr\usd\usd -I%SRC_DIR%\build\include -external:I%PREFIX%\Include -external:I%PREFIX%\Library\include -external:W0 /EHsc /Zc:rvalueCast /Zc:strictStrings /Zc:__cplusplus /Zc:inline- /W3 /bigobj /Zi /MP /Gm- /FS /wd4003 /wd4244 /wd4305 /wd4267 /wd4506 /wd4091 /wd4273 /wd4180 /wd4334 /DWIN32 /D_WINDOWS /EHsc /O2 /Ob2 /DNDEBUG -std:c++17 -MD /Yc"pxr/usd/_usd/pypch.h" /FI"pxr/usd/_usd/pypch.h" /Fp"%SRC_DIR%/build/include/pxr/usd/_usd/Release/pypch.pch" /showIncludes /Fopxr\usd\usd\CMakeFiles\_usd.dir\pypch.cpp.obj /Fdpxr\usd\usd\CMakeFiles\_usd.dir\ /FS -c %SRC_DIR%\build\pxr\usd\usd\pypch.cpp
 │ │ %SRC_DIR%\build\pxr\usd\usd\pypch.cpp: fatal error C1085: Cannot write precompiled header file: '%SRC_DIR%/build/include/pxr/usd/_usd/Release/pypch.pch': There is not enough space on the disk.
 │ │ [3915/5315] Building CXX object pxr\usd\usdGeom\CMakeFiles\_usdGeom.dir\pypch.cpp.obj
 │ │ FAILED: pxr/usd/usdGeom/CMakeFiles/_usdGeom.dir/pypch.cpp.obj 
 │ │ C:\PROGRA~1\MICROS~2\2022\ENTERP~1\VC\Tools\MSVC\1429~1.301\bin\HostX64\x64\cl.exe  /nologo /TP -DBOOST_ALL_DYN_LINK -DBOOST_ALL_NO_LIB -DGLX_GLXEXT_PROTOTYPES -DGL_GLEXT_PROTOTYPES -DMFB_ALT_PACKAGE_NAME=usdGeom -DMFB_PACKAGE_MODULE=UsdGeom -DMFB_PACKAGE_NAME=usdGeom -DNOMINMAX -DOPENEXR_DLL -DPXR_BOOST_PYTHON_NO_PY_SIGNATURES -DPXR_GL_SUPPORT_ENABLED -DWIN32_LEAN_AND_MEAN -D_CRT_SECURE_NO_WARNINGS -D_SCL_SECURE_NO_WARNINGS -D_usdGeom_EXPORTS -I%SRC_DIR%\build\pxr\usd\usdGeom -I%SRC_DIR%\pxr\usd\usdGeom -I%SRC_DIR%\build\include -external:I%PREFIX%\Include -external:I%PREFIX%\Library\include -external:W0 /EHsc /Zc:rvalueCast /Zc:strictStrings /Zc:__cplusplus /Zc:inline- /W3 /bigobj /Zi /MP /Gm- /FS /wd4003 /wd4244 /wd4305 /wd4267 /wd4506 /wd4091 /wd4273 /wd4180 /wd4334 /DWIN32 /D_WINDOWS /EHsc /O2 /Ob2 /DNDEBUG -std:c++17 -MD /Yc"pxr/usd/_usdGeom/pypch.h" /FI"pxr/usd/_usdGeom/pypch.h" /Fp"%SRC_DIR%/build/include/pxr/usd/_usdGeom/Release/pypch.pch" /showIncludes /Fopxr\usd\usdGeom\CMakeFiles\_usdGeom.dir\pypch.cpp.obj /Fdpxr\usd\usdGeom\CMakeFiles\_usdGeom.dir\ /FS -c %SRC_DIR%\build\pxr\usd\usdGeom\pypch.cpp
 │ │ C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Tools\MSVC\14.29.30133\include\type_traits(1387): fatal error C1088: Cannot flush compiler intermediate file: '%SRC_DIR%/build/include/pxr/usd/_usdGeom/Release/pypch.pch': No space left on device
 │ │ C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Tools\MSVC\14.29.30133\include\utility(186): note: see reference to function template instantiation '_Ty std::forward<_Other2>(const unsigned char &) noexcept' being compiled
 │ │         with
 │ │         [
 │ │             _Ty=const unsigned char &,
 │ │             _Other2=const unsigned char &
 │ │         ]
 │ │ C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Tools\MSVC\14.29.30133\include\memory_resource(563): note: see reference to function template instantiation 'std::pair<std::_Vector_iterator<std::_Vector_val<std::_Simple_types<_Ty>>>,unsigned char>::pair<_FwdIt,const unsigned char&,0>(_Other1 &&,_Other2) noexcept' being compiled
 │ │         with
  File "D:\Miniforge\Lib\subprocess.py", line 571, in run
    raise CalledProcessError(retcode, process.args,
subprocess.CalledProcessError: Command '['rattler-build', 'build', '--recipe-dir', 'D:\\a\\1\\s\\recipes', '--target-platform', 'win-64', '-c', 'D:\\bld', '-c', 'conda-forge', '--variant-config', 'C:\\Users\\VSSADM~1\\AppData\\Local\\Temp\\tmpycfy7tx3']' returned non-zero exit status 1.
##[error]Cmd.exe exited with code '1'.

We will enable it again in the feedstock, where we can enable the free_disk_space Azure option.

@conda-forge-admin
Copy link
Contributor

Hi! This is the friendly automated conda-forge-linting service.

I wanted to let you know that I linted all conda-recipes in your PR (recipes/openusd/recipe.yaml) and found some lint.

Here's what I've got...

For recipes/openusd/recipe.yaml:

  • ❌ Selectors in comment form no longer work in v1 recipes. Instead, if / then / else maps must be used. See lines [74].

This message was generated by GitHub Actions workflow run https://github.com/conda-forge/conda-forge-webservices/actions/runs/14731005367. Examine the logs at this URL for more detail.

@traversaro traversaro changed the title [draft] Add recipe for usd package Add recipe for openusd package Apr 29, 2025
@conda-forge-admin
Copy link
Contributor

Hi! This is the friendly automated conda-forge-linting service.

I just wanted to let you know that I linted all conda-recipes in your PR (recipes/openusd/recipe.yaml) and found it was in an excellent condition.

@traversaro
Copy link
Contributor Author

There are a few failures:

 │ │         Start 190: testJsIO_PlugInfo
 │ │ 190/879 Test #190: testJsIO_PlugInfo ................................................***Failed    0.06 sec
 │ │ chdir: /tmp/tmp0vor85sc
 │ │ copying testenv dir: $PREFIX/tests/ctest/testJsIO
 │ │ cmd: ['$PREFIX/tests/testJsIO', 'plugInfo.json.in', 'plugInfo.json']
 │ │ $PREFIX/tests/testJsIO: symbol lookup error: $PREFIX/lib/libusd_python.so: undefined symbol: PyExc_ValueError
 │ │ Error: return code 127 doesn't match expected 0 (EXPECTED_RETURN_CODE).
 │ │         Start 191: testJsIO_Values
 │ │ 191/879 Test #191: testJsIO_Values ..................................................***Failed    0.06 sec
 │ │ chdir: /tmp/tmpmzzr61fg
 │ │ copying testenv dir: $PREFIX/tests/ctest/testJsIO
 │ │ cmd: ['$PREFIX/tests/testJsIO', 'values.json.in', 'values.json']
 │ │ $PREFIX/tests/testJsIO: symbol lookup error: $PREFIX/lib/libusd_python.so: undefined symbol: PyExc_ValueError
 │ │ Error: return code 127 doesn't match expected 0 (EXPECTED_RETURN_CODE).
 │ │         Start 192: testJsIO_Errors_BadCommaPlacement
 │ │ 192/879 Test #192: testJsIO_Errors_BadCommaPlacement ................................***Failed    0.06 sec
 │ │ chdir: /tmp/tmpob8e70dc
 │ │ copying testenv dir: $PREFIX/tests/ctest/testJsIO_Errors
 │ │ cmd: ['$PREFIX/tests/testJsIO', 'bad-commaPlacement.json', '-']
 │ │ Error: return code 127 doesn't match expected 2 (EXPECTED_RETURN_CODE).
 │ │         Start 193: testJsIO_Errors_MismatchedBraces
 │ │ 193/879 Test #193: testJsIO_Errors_MismatchedBraces .................................***Failed    0.06 sec
 │ │ chdir: /tmp/tmpqoqzoa54
 │ │ copying testenv dir: $PREFIX/tests/ctest/testJsIO_Errors
 │ │ cmd: ['$PREFIX/tests/testJsIO', 'bad-mismatchedBraces.json', '-']
 │ │ Error: return code 127 doesn't match expected 2 (EXPECTED_RETURN_CODE).
 │ │         Start 194: testJsConverter

somehow the fix in #29501 (comment) is not working.

While this is new:

 │ │ 226/879 Test #226: testWorkThreadLimits3 ............................................***Failed   10.85 sec
 │ │ chdir: /tmp/tmp7gqbk9_o
 │ │ cmd: ['$PREFIX/tests/testWorkThreadLimits']
 │ │ ##################################################################
 │ │ #  PXR_WORK_THREAD_LIMIT is overridden to '3'.  Default is '0'.  #
 │ │ ##################################################################
 │ │ ----------------------- testWorkThreadLimits terminated ------------------------
 │ │ testWorkThreadLimits crashed. FATAL ERROR: Failed axiom: ' _GetConcurrencyLimit() == _ExpectedLimit(envVal, numCores) '
 │ │ in _TestArguments at line 120 of $SRC_DIR/pxr/base/work/testenv/testWorkThreadLimits.cpp
 │ │ writing crash report to [ f8f17ac1e85a:/var/tmp/st_testWorkThreadLimits.14739 ] ... done.
 │ │ --------------------------------------------------------------------------------
 │ │ Error: return code 134 doesn't match expected 0 (EXPECTED_RETURN_CODE).

however, this is probably failing just as the CI machine does not have a lot of core, as I could not experience this failure locally. I think it make sense to just skip this test.

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

Successfully merging this pull request may close these issues.

2 participants