Fix openusd materialx stdlib path - #452
Conversation
|
The fix is clearly required, the proposed solution has a couple of issues:
Unfortunately in this case in which in
Would it make sense for the ci-vfxall build container to set / append the These images should be as useful as possible, so this change could be merged as is, with perhaps a FIXME addition to the comment to indicate that the full fix might require patching OpenUSD itself for better relocatable build support. |
|
I have adopted your suggestion and updated the PR to set PXR_MTLX_STDLIB_SEARCH_PATHS=${ASWF_INSTALL_PREFIX}/share/MaterialX/libraries in ci-vfxall. The Conan recipe change has been removed. We no longer pass ASWF_INSTALL_PREFIX into the build. The generated Dockerfiles and generator tests pass. Are you ok with this version ? |
jfpanisset
left a comment
There was a problem hiding this comment.
The ability to add arbitrary ENV environment variables to container images is generally useful and a good workaround to the issue of the openusd package baking in the Conan build path to the MaterialX library.
Have you been able to verify that this works for the current ci-vfxall:2027 image by injecting the env var from the command line:
docker run -e PXR_MTLX_STDLIB_SEARCH_PATHS=/usr/local/share/MaterialX/libraries -it --rm aswf/ci-vfxall:2027 /bin/bash
|
It looks like the DCO check is failing, all (most?) ASWF projects require commits to be signed with You can follow the instructions here to retroactively sign your commits: https://github.com/AcademySoftwareFoundation/aswf-docker/pull/452/checks?check_run_id=89726303728 |
OpenUSD bakes the Conan package path into PXR_MATERIALX_STDLIB_DIR, but ci-vfxall deploys packages under /usr/local. Allow image.yaml to declare runtime environment variables and set PXR_MTLX_STDLIB_SEARCH_PATHS to the deployed MaterialX standard-library directory for ci-vfxall. Signed-off-by: Nicolas Popravka <nicolaspopravka@gmail.com>
82e66c4 to
fd694c2
Compare
|
Yes. I verified this against the published |
02322c0
into
AcademySoftwareFoundation:main
Fixes #451.
OpenUSD compiles the MaterialX standard-library directory from the Conan package directory into PXR_MATERIALX_STDLIB_DIR. That path no longer exists after the packages are installed into the ci-vfxall image.
Add support for per-image environment variables in generated Dockerfiles and set PXR_MTLX_STDLIB_SEARCH_PATHS to ${ASWF_INSTALL_PREFIX}/share/MaterialX/libraries in ci-vfxall/image.yaml, as a runtime workaround.
Assisted-by: OpenAI Codex / GPT-5