Observed behavior
An unmodified OpenMoonRay v2026.29.1 build with
BUILD_MATERIALX_SHADERS=ON reaches shader generation, then shaders.py
cannot import the merged-build scene_rdl2 Python module.
The OpenMoonRay CMake setup checks for the merged-build module directory while
configuring materialx_shaders. At that point the scene_rdl2 build directory
does not yet exist, although scene_rdl2_module and __scene_rdl2__.so are
built later in the same superproject.
This was observed after the build had already compiled through approximately
95%, with the OpenUSD and other dependency configuration failures cleared.
Stack:
OpenMoonRay v2026.29.1
OpenUSD 25.05.01
ASWF ci-moonray:2025.7
BUILD_MATERIALX_SHADERS=ON
Current workaround
Before CMake configuration, the candidate image adds the expected merged-build
module directory to PYTHONPATH:
/opt/MoonRay/build/moonray/scene_rdl2/mod/python/py_scene_rdl2
The source tree remains unchanged and MaterialX shader generation completes.
Upstream candidate
Track an OpenMoonRay CMake correction that gives the MaterialX shader generator
the merged-build scene_rdl2 module path without requiring an externally
preseeded PYTHONPATH.
Acceptance is an unmodified superproject build with
BUILD_MATERIALX_SHADERS=ON, no environment workaround, successful shader
generation, and installed shader JSON output.
Observed behavior
An unmodified OpenMoonRay
v2026.29.1build withBUILD_MATERIALX_SHADERS=ONreaches shader generation, thenshaders.pycannot import the merged-build
scene_rdl2Python module.The OpenMoonRay CMake setup checks for the merged-build module directory while
configuring
materialx_shaders. At that point thescene_rdl2build directorydoes not yet exist, although
scene_rdl2_moduleand__scene_rdl2__.soarebuilt later in the same superproject.
This was observed after the build had already compiled through approximately
95%, with the OpenUSD and other dependency configuration failures cleared.
Stack:
Current workaround
Before CMake configuration, the candidate image adds the expected merged-build
module directory to
PYTHONPATH:The source tree remains unchanged and MaterialX shader generation completes.
Upstream candidate
Track an OpenMoonRay CMake correction that gives the MaterialX shader generator
the merged-build
scene_rdl2module path without requiring an externallypreseeded
PYTHONPATH.Acceptance is an unmodified superproject build with
BUILD_MATERIALX_SHADERS=ON, no environment workaround, successful shadergeneration, and installed shader JSON output.