Skip to content

Fix Python stub installation with sanitizers enabled - #526

Open
jeongseok-meta wants to merge 3 commits into
mitsuba-renderer:masterfrom
jeongseok-meta:fix-sanitizer-stub-install
Open

jeongseok-meta wants to merge 3 commits into
mitsuba-renderer:masterfrom
jeongseok-meta:fix-sanitizer-stub-install

Conversation

@jeongseok-meta

@jeongseok-meta jeongseok-meta commented Jul 21, 2026

Copy link
Copy Markdown
Contributor

Motivation

Sanitizer builds deliberately skip Python stub generation, but the install rules still list the absent .pyi and py.typed files, so installation fails. These builds still need the empty runtime modules used by drjit, drjit.llvm, and drjit.auto.

The separate missing-output-directory issue was handled by #525.

Changes

  • Skip installation of absent stub and marker files when sanitizers disable stub generation.
  • Create and install the empty drjit.auto runtime modules for sanitizer builds.
  • Preserve normal stub generation and installation.

Testing

Validated again after merging current master:

  • GCC 15, CMake 4.4, Python 3.13, LLVM 20; CUDA and OptiX disabled.
  • Normal, ASan, and UBSan builds and installs complete successfully.
  • The normal install contains 12 .pyi files and 3 py.typed markers.
  • ASan and UBSan installs omit those generated typing files while retaining all 15 runtime .py modules.
  • drjit, drjit.llvm, and drjit.auto import from all three installs, with the corresponding sanitizer runtime preloaded.
  • git diff --check

@jeongseok-meta jeongseok-meta changed the title Fix installation with sanitizers enabled Fix Python stub installation with sanitizers enabled Jul 21, 2026
@wjakob
wjakob force-pushed the master branch 7 times, most recently from 60b72ec to 23ef9cd Compare August 22, 2026 03:50
@wjakob
wjakob force-pushed the master branch 2 times, most recently from 53c529f to 0a3063c Compare September 14, 2026 22:29
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant