Skip to content
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

Building Moonray for Houdini 20 (GCC11.2) #136

Open
adro79 opened this issue Dec 27, 2023 · 6 comments
Open

Building Moonray for Houdini 20 (GCC11.2) #136

adro79 opened this issue Dec 27, 2023 · 6 comments

Comments

@adro79
Copy link

adro79 commented Dec 27, 2023

Hi there!

I'm spending this vacations to try build Moonray for Houdini 20. There's an error I previously reported when trying to build for Arch Linux but it was suggested to use gcc9 instead.

I would need some hint for this since I'm not used to code.

Here's the error log:

[  0%] Building CXX object arras/arras4_core/arras4_message_api/lib/message_api/CMakeFiles/message_api.dir/messageapi_names.cc.o
In file included from /mnt/proj/Moonray/DCC/Houdini20-1.4/src/deps/include/c++/11.2.0/memory:76,
                 from /mnt/proj/Moonray/DCC/Houdini20-1.4/src/openmoonray/arras/arras4_core/arras4_log/lib/arras4_log/Logger.cc:11:
/mnt/proj/Moonray/DCC/Houdini20-1.4/src/deps/include/c++/11.2.0/bits/unique_ptr.h: In instantiation of ‘constexpr std::unique_ptr<_Tp, _Dp>::unique_ptr() [with _Del = std::default_delete<std::__cxx11::basic_string<char> >; <template-parameter-2-2> = void; _Tp = std::__cxx11::basic_string<char>; _Dp = std::default_delete<std::__cxx11::basic_string<char> >]’:
/mnt/proj/Moonray/DCC/Houdini20-1.4/src/openmoonray/arras/arras4_core/arras4_log/lib/arras4_log/Logger.cc:28:55:   required from here
/mnt/proj/Moonray/DCC/Houdini20-1.4/src/deps/include/c++/11.2.0/bits/unique_ptr.h:270:11: error: no matching function for call to ‘std::__uniq_ptr_data<std::__cxx11::basic_string<char>, std::default_delete<std::__cxx11::basic_string<char> >, true, true>::__uniq_ptr_data()’
  270 |         : _M_t()
      |           ^~~~~~
/mnt/proj/Moonray/DCC/Houdini20-1.4/src/deps/include/c++/11.2.0/bits/unique_ptr.h:210:40: note: candidate: ‘template<class _Del> std::__uniq_ptr_data<std::__cxx11::basic_string<char>, std::default_delete<std::__cxx11::basic_string<char> >, true, true>::__uniq_ptr_data(std::__uniq_ptr_impl<std::__cxx11::basic_string<char>, std::default_delete<std::__cxx11::basic_string<char> > >::pointer, _Del&&) [inherited from std::__uniq_ptr_impl<std::__cxx11::basic_string<char>, std::default_delete<std::__cxx11::basic_string<char> > >]’
  210 |       using __uniq_ptr_impl<_Tp, _Dp>::__uniq_ptr_impl;
      |                                        ^~~~~~~~~~~~~~~
/mnt/proj/Moonray/DCC/Houdini20-1.4/src/deps/include/c++/11.2.0/bits/unique_ptr.h:210:40: note:   template argument deduction/substitution failed:
/mnt/proj/Moonray/DCC/Houdini20-1.4/src/deps/include/c++/11.2.0/bits/unique_ptr.h:270:11: note:   candidate expects 2 arguments, 0 provided
  270 |         : _M_t()
      |           ^~~~~~
/mnt/proj/Moonray/DCC/Houdini20-1.4/src/deps/include/c++/11.2.0/bits/unique_ptr.h:210:40: note: candidate: ‘std::__uniq_ptr_data<std::__cxx11::basic_string<char>, std::default_delete<std::__cxx11::basic_string<char> >, true, true>::__uniq_ptr_data(std::__uniq_ptr_impl<std::__cxx11::basic_string<char>, std::default_delete<std::__cxx11::basic_string<char> > >::pointer) [inherited from std::__uniq_ptr_impl<std::__cxx11::basic_string<char>, std::default_delete<std::__cxx11::basic_string<char> > >]’
  210 |       using __uniq_ptr_impl<_Tp, _Dp>::__uniq_ptr_impl;
      |                                        ^~~~~~~~~~~~~~~
/mnt/proj/Moonray/DCC/Houdini20-1.4/src/deps/include/c++/11.2.0/bits/unique_ptr.h:210:40: note:   candidate expects 1 argument, 0 provided
/mnt/proj/Moonray/DCC/Houdini20-1.4/src/deps/include/c++/11.2.0/bits/unique_ptr.h:211:7: note: candidate: ‘std::__uniq_ptr_data<_Tp, _Dp, <anonymous>, <anonymous> >::__uniq_ptr_data(std::__uniq_ptr_data<_Tp, _Dp, <anonymous>, <anonymous> >&&) [with _Tp = std::__cxx11::basic_string<char>; _Dp = std::default_delete<std::__cxx11::basic_string<char> >; bool <anonymous> = true; bool <anonymous> = true]’
  211 |       __uniq_ptr_data(__uniq_ptr_data&&) = default;
      |       ^~~~~~~~~~~~~~~
/mnt/proj/Moonray/DCC/Houdini20-1.4/src/deps/include/c++/11.2.0/bits/unique_ptr.h:211:7: note:   candidate expects 1 argument, 0 provided

There's two more errors similar to this one. I'll upload the full log in a txt since it's a little bit large -> moonray-gcc11-errorlog.txt

Thanks in advance!!

@adro79
Copy link
Author

adro79 commented Dec 31, 2023

Was able to surpass this error with ABI_VERSION=0 as the Rocky Linux 9 Guide menitons.

@adro79
Copy link
Author

adro79 commented Jan 7, 2024

Hi, I finally got Moonray running on Houdini 20 by building it on a Rocky Linux 9 Docker Container!
image

At this moment, it crashes quite a lot and shader nodes appear empty when created. I'll create a guide once I get a decent build.

If you need some houdini logs let me know.

@adro79
Copy link
Author

adro79 commented Jan 10, 2024

Got this log in houdini, I don't know why this happens.

Traceback (most recent call last):
  File "/opt/hfs20.0.547/python/lib/python3.10/site-packages-forced/shiboken2/files.dir/shibokensupport/__feature__.py", line 142, in _import
    return original_import(name, *args, **kwargs)
ModuleNotFoundError: No module named 'pxr.MoonrayShaderParser'
Traceback (most recent call last):
  File "/opt/hfs20.0.547/python/lib/python3.10/site-packages-forced/shiboken2/files.dir/shibokensupport/__feature__.py", line 142, in _import
    return original_import(name, *args, **kwargs)
ModuleNotFoundError: No module named 'pxr.MoonrayShaderDiscovery'

These are my environment variables:

LD_LIBRARY_PATH: /mnt/proj/deps/moonrayHoudini/lib
MOONRAY_ROOT: /mnt/proj/deps/moonrayHoudini
PATH: /mnt/proj/deps/moonrayHoudini/bin:$PATH
ARRAS_SESSION_PATH: $MOONRAY_ROOT/sessions
MOONRAY_CLASS_PATH: $MOONRAY_ROOT/shader_json
PXR_PLUGINPATH_NAME: $MOONRAY_ROOT/plugin/usd:$PXR_PLUGINPATH_NAME
RDL2_DSO_PATH: $MOONRAY_ROOT/rdl2dso.proxy:$MOONRAY_ROOT/rdl2dso

@rgwilson68
Copy link
Contributor

No Python module is found for pxr.MoonrayShaderParser or pxr.MoonrayShaderDiscovery because these plugins don't have Python modules : not sure why USD/Hydra always reports this as an error, since in this case Python modules are not needed, but it does. The error shouldn't impact functionality, so it probably isn't the cause of the other problems you are seeing.

@adro79
Copy link
Author

adro79 commented Jan 12, 2024

Thanks for the reply, I got the materials working by reverting the HDAs from the otls folder to the initial commit version. Seems like this commit broke the HDAs or aren't compatible with my environment.

I think everything's working now, feel free to close this out.

I'll write a detailed guide soon, just like Brian did.

@adro79
Copy link
Author

adro79 commented Feb 19, 2024

Hi, sorry for the delay.

The guide is available now! You can check it here: adro79#2

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

No branches or pull requests

2 participants