mitsuba-renderer / mitsuba3

Mitsuba 3: A Retargetable Forward and Inverse Renderer
https://www.mitsuba-renderer.org/
Other
2.1k stars 246 forks source link

Won't compile without at least one _ad variant #1311

Open Panjaksli opened 2 months ago

Panjaksli commented 2 months ago

Summary

The project won't compile (cryptic compile and linking errors) without specifying at least one ad variant in mitsuba.config.

It wouldn't be a problem by itself, but NOWHERE in the docs, it is ever mentioned, that one ad variant is mandatory. Not in "read the docs" online, and neither in the actual config itself... You only specify, that only mandatory variant is "scalar_rgb" and with regards to ad variants, those are only "recommended". Please make the instructions more explicit, because I've just wasted 20 hours of my life trying to make normal PT work on multiple platforms and compilers, just because I didn't need any differentiation when compiling.

njroussel commented 2 months ago

Hi @Panjaksli

I've tried this myself, the lastest release does compile when only specifying scalar_rgb. Can you tell me more about your environement? Were you using master ? As mentionned in the README, master is undergoing a lot of undocumented changed - it's unstable. That being said, I'll change the documentation such that it gives cloning instruction for the latest release rather than master.

On master you indeed currently need to compile at least one AD variant, we'll either fix this or make it a requirement for the next release.

Panjaksli commented 1 month ago

Hi @Panjaksli

I've tried this myself, the lastest release does compile when only specifying scalar_rgb. Can you tell me more about your environement? Were you using master ? As mentionned in the README, master is undergoing a lot of undocumented changed - it's unstable. That being said, I'll change the documentation such that it gives cloning instruction for the latest release rather than master.

On master you indeed currently need to compile at least one AD variant, we'll either fix this or make it a requirement for the next release.

Hi, I was following instructions as posted here: https://mitsuba.readthedocs.io/en/stable/src/developer_guide/compiling.html I would supose the git clone part downloads the "master", so there exactly lies the problem. I tried it on Windows with VS2022 generator/compiler, and later on Arch Linux with Ninja/Clang, pretty much same linking errors, related to some drjit math functions.

I later tried 3.5.2 release, but always compiled it with at least one ad variant, as per previous bad experience with master release first. Will try later, if it compiles without ad.