New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conflict with Houdini USD and MoonRay USD? #72
Comments
Made some progress by symlinking all the "libusd" libraries to the "libpxr" ones that come with Houdini. That eliminated 99% of the errors. Still not working though. Now we're left with:
Honestly this is all kind of bananas. Is there anybody at DreamWorks who could lend a helping hand? I don't think this should be this complicated and I feel like we're all flying blind out here. Thanks! |
@BrianHanke
makes me think of an API mismatch between libraries. My first suggestion would be to look at which version of USD Houdini is using. For example, 19.5 is on 22.05: https://www.sidefx.com/docs/houdini/licenses/index.html . openmoonray/building/CMakeLists.txt Line 205 in 9b629e0
In that case, I think that it would be good to have a dedicated guide on how to build Moonray as a DCC plugin, since in that scenario it would be safer/easier to rely on the USD and OCIO offered by the DCC, instead of having the build script compile and link to a different USD. As long as openmoonray and the DCC are on the same VFX reference platform year, most of the versions of these big libraries should be in line (even though sadly that beast of USD isn't yet on the VFX ref platform, afaik..) |
Yes indeed, that's my conclusion too. I tried one more test, symlinking all the Houdini libraries before the final MR build step. No library errors when doing that, but I started getting syntax/API problems. SideFX recommended that I build against the Houdini USD libraries and the professional coders I've talked to agree. It's obviously a big task and above my skill level. Not much to do until DreamWorks throws us a bone... |
There are a couple of possible solutions. You should be able to get USD from the sidefx repo (https://github.com/sideeffects/USD) instead of pxr by changing the location in the dependency CMake project. You'll have to change the git tag, but you can use symbolic tags like 'v22.05a' -- there also seem to be tags for some specific Houdini versions on that repo. Another way, that is more involved, is to use the USD libs and headers shipped with Houdini. To do this, you need a pxrConfig.cmake that targets these. I've uploaded a tar file with a modified set of config files and a README to: https://docs.openmoonray.org/assets/build_extras/moonray_houdini_pxr_config.tar -- I think you should be able to access this. You'll have to modify the CMake preset used to build MoonRay itself to get this working. |
@rgwilson68 Excellent, thanks! Will check this out over the next few days. |
Made a new build with the changes in option number 2 above. Build went fine, but still no rendering. Houdini crashes after clicking on MoonRay with the following log. usdview throws even more errors, a sample of which I put further down. It's just the same few ones over and over, but hundreds if not thousands of lines.
|
Is it possible that the pxr USD build is still on the system, and being picked up by cmake? You might need to check under /installs and /usr/local for pxrConfig.cmake, and remove it... |
Ah ok, I deleted all that and all the libusd* files, but I didn't see pxrConfig.cmake. Trying again! |
Do I need to delete PXR_USD_LOCATION and PXR_INCLUDE_DIRS under both container-environment and dwa-environment? |
No, dwa-environment is only used by internal dwa builds, so you don't need to change it. |
Thanks so much for your amazing help Rob, much appreciated! |
@BrianHanke congratulations... |
@nospitters Definitely. I'm working on a guide right now, will probably be ready this weekend. Check out my GitHub to stay updated. |
Crash report from yu; Houdini FX Version 19.5.534 [linux-x86_64-gcc9.3] Traceback from 6705 ThreadId=0x7f4e87fff700 Traceback from 6705 ThreadId=0x7f4eb51aaf40 Error Log. |
I'm splitting this off from our previous discussion since I've narrowed down the problem a lot.
System info: CentOS 7, MoonRay compiled using default settings from build guide, using Python 3.9.10 to match Houdini, Houdini FX 19.5.534.
See attached video. First is a quick test of moonray_gui to confirm the renderer is working. Then, launching
usdview
fromhython
, Karma works but as you can see MoonRay throws a ton of errors about "multiple debug symbol" and "already defined C++ type."It looks to me (as a non-coder) like the system is trying to load both MoonRay and Houdini USD libraries? Any ideas how to resolve this?
moonray.mp4
The text was updated successfully, but these errors were encountered: