You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
At some point I think it was possible to install Mitsuba by running pip install on a local copy of the repository, i.e.,pip install ./mitsuba3 would build and install Mitsuba from source.
This appears to no longer work. On my Linux machine I get a number of errors of the form:
.../mitsuba3/include/mitsuba/render/medium.h:134:1: error: no member named 'has_variant_override' in namespace 'drjit::detail'
MI_CALL_TEMPLATE_END(Medium)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~
.../mitsuba3/include/mitsuba/core/class.h:262:45: note: expanded from macro 'MI_CALL_TEMPLATE_END'
static_assert(is_detected_v<dr::detail::has_variant_override, CallSupport_>); \
When removing the static_assert here, I get other errors about missing Dr.Jit functions or members. So the issue might be less with this specific line and more with the build setup or some missing includes (?).
The reason I was looking into this was because I was updating the fastsweep package, which locally links against Dr.Jit. In the end I was able to do this by locally PIP-installing only Dr.Jit itself. Therefore, I am not blocked in any way. But this still might be worth fixing (e.g., eventually someone might want to build a Python package that has C++ code that depends on Mitsuba and not just Dr.Jit)
The text was updated successfully, but these errors were encountered:
This looks like a version mismatch, e.g. combining the Mitsuba commit that you have checked out together with an older DrJit. The errors you got are pointing to a change that was merged recently but are not yet part of a DrJit release.
Is it possible that when doing pip install ./mitsuba3, pip first installs the latest drjit package from PyPi (instead of your local checkout) and tries to compile Mitsuba against that?
I think you are right! I think I wrongly assumed that pip install ./mitsuba3 would also install the recursively included Dr.Jit, but that's not the case.
If I explicitly install the Dr.Jit in ext/drjit, I get further and it seems that the main compilation succeeds. However, I then still run into errors during stubgen:
ImportError: RuntimeError: nanobind.detail.bind("ObjectPtr"): element type "N7mitsuba6ObjectE" not found.
I don't really have time to investigate this further at the moment, but it appears to not quite work yet
Hi,
At some point I think it was possible to install Mitsuba by running
pip install
on a local copy of the repository, i.e.,pip install ./mitsuba3
would build and install Mitsuba from source.This appears to no longer work. On my Linux machine I get a number of errors of the form:
When removing the
static_assert
here, I get other errors about missing Dr.Jit functions or members. So the issue might be less with this specific line and more with the build setup or some missing includes (?).The reason I was looking into this was because I was updating the fastsweep package, which locally links against Dr.Jit. In the end I was able to do this by locally PIP-installing only Dr.Jit itself. Therefore, I am not blocked in any way. But this still might be worth fixing (e.g., eventually someone might want to build a Python package that has C++ code that depends on Mitsuba and not just Dr.Jit)
The text was updated successfully, but these errors were encountered: