Giter Club home page Giter Club logo

Comments (19)

bareya avatar bareya commented on June 16, 2024 1

Hi @Nek I am going to share more detailed explanation soon.

from hdblackbird.

bareya avatar bareya commented on June 16, 2024 1

Hi @Nek, currently I am assigned to other tasks that are on our priority list. I want to let you know that we had internal conversations to make hdCycles much easier to build. At this point I can not give you any time frame when it's going to happen, but this task is quite high on our priority list. We want everyone to contribute. For now I would have to ask you to be patient.

from hdblackbird.

Nek avatar Nek commented on June 16, 2024 1

@bareya makes total sense. Thanks for the update and for being open.

from hdblackbird.

bareya avatar bareya commented on June 16, 2024 1

Hi all,

I have a small update that I would like to share. I know current building system has not been working for many of you. I put some effort at personal time to make it more approachable. I haven’t tested it for Windows yet. Unfortunately, I have only Linux at home. It is still far from being perfect, but here is so far what I have accomplished:

  • I made a request to SideFx for missing headers that are required to build Cycles. Since Houdini 18.5.519(daily build) we can build Cycles based on libraries and headers that are distributed with Houdini. That means the dependencies can be reduced to very minimum: gflags, glog, cycles and hdcycles.

  • I made a bunch of changes in Cycles cmakes. Now it exports a few targets. Linking with Cycles::Cycles cmake interface has simplified HdCycles’ cmake significantly. There is a lot to be done, so I treat it as a temporary fix. I hope in the future we can make Cycles cmake more modern.

  • I removed rez dependencies from HdCycles repo (they are optional and rez picks them up depending on presence of rez environment variables).

  • I made a cmake script to compile gflags, glog, Cycles and HdCycles against Houdini. For now, I am going to push it to separate repo. Once following PRs are merged, I will be able to share the building script:

#100
tangent-opensource/coreBlackbird#18

Cheers,
Piotr

from hdblackbird.

bareya avatar bareya commented on June 16, 2024 1

Hi, I am closing this one and all install instructions will be updated in the Wiki. https://github.com/tangent-opensource/hdcycles/wiki

from hdblackbird.

Vochsel avatar Vochsel commented on June 16, 2024

There are currently build instructions in this repo on how to build it yourself, but if you're looking on a pre-built binary, we are looking to release an up to date solution, with Houdini 18.5 for windows soon.

from hdblackbird.

Nek avatar Nek commented on June 16, 2024

I'd be glad to compile more detailed compilation instructions but I have problems following the current one.
How do I find DUSD_ROOT (for Houdini 18.5) and DCYCLES_ROOT?

from hdblackbird.

Nek avatar Nek commented on June 16, 2024

Hello @bareya. Any news?

from hdblackbird.

ke10g avatar ke10g commented on June 16, 2024

I have also tried to build but have failed. I cannot understand the cmake instructions: Not sure about the root paths. Perhaps if more detailed instructions were provided, but do let me know if these binaries become available. Thanks for the excellent work!

from hdblackbird.

bareya avatar bareya commented on June 16, 2024

I promise it's coming soon. I might spend some personal time to update the README, or guide you here how to do it. I am slowly wrapping up with #67, then I can have a look to help you with the build process. Are you intending to use it with Solaris or without it? I am asking because building it against vanilla USD is much simpler.

from hdblackbird.

ke10g avatar ke10g commented on June 16, 2024

Hi. I'd be happy with any workflow improvements for rendering with Cycles from Houdini. But I assume that means Solaris.

from hdblackbird.

bareya avatar bareya commented on June 16, 2024

If you wish to test it, here I created the repo https://github.com/bareya/hdcycles_for_houdini. There are some requirements to build it:

  • git
  • cmake-3.18+
  • gcc-6
  • patch command installed
  • houdini-18.5.519+

To build it we have to clone the repo, and pass the compiler with install directory to the building system. I assumed Houdini on Linux is install under /opt/hfs18.5 and it is at least 18.5.519 build. If you wish to modify it, please make a PR!

git clone https://github.com/bareya/hdcycles_for_houdini
cd hdcycles_for_houdini
mkdir build && cd build
cmake .. -DCMAKE_INSTALL_PREFIX=/tmp/build -DCMAKE_CXX_COMPILER=g++-6 -DCMAKE_C_COMPILER=gcc-6 && make

After building is done we have to export environment variables, for Hydra to find the plugin:

export PXR_PLUGINPATH_NAME=/tmp/build/plugin/usd/hdCycles/resources/:/tmp/build/plugin/usd/ndrCycles/resources/:${PXR_PLUGINPATH_NAME}

In Stage context you can find Cycles as a new Hydra delegate.

Screenshot from 2021-03-21 14-55-27

from hdblackbird.

alex3dpl avatar alex3dpl commented on June 16, 2024

@bareya
Very exciting project. I look hopefully at the houdini blender combo. I am trying to build hdcycles. Must be gcc-6? Thx for your work. Linux Suse Tumbleweed.

[ 78%] Linking CXX executable stl_logging_unittest /usr/lib64/gcc/x86_64-suse-linux/10/../../../../x86_64-suse-linux/bin/ld: CMakeFiles/utilities_unittest.dir/src/utilities_unittest.cc.o: in function utilities_sync_val_compare_and_swap_Test::TestBody()':
utilities_unittest.cc:(.text+0x18a): undefined reference to testing::internal::GetBoolAssertionFailureMessage(testing::AssertionResult const&, char const*, char const*, char const*)' /usr/lib64/gcc/x86_64-suse-linux/10/../../../../x86_64-suse-linux/bin/ld: utilities_unittest.cc:(.text+0x27b): undefined reference to testing::internal::GetBoolAssertionFailureMessage(testing::AssertionResult const&, char const*, char const*, char const*)'
/usr/lib64/gcc/x86_64-suse-linux/10/../../../../x86_64-suse-linux/bin/ld: utilities_unittest.cc:(.text+0x36f): undefined reference to testing::internal::GetBoolAssertionFailureMessage(testing::AssertionResult const&, char const*, char const*, char const*)' collect2: error: ld returned 1 exit status gmake[5]: *** [CMakeFiles/utilities_unittest.dir/build.make:108: utilities_unittest] Error 1 gmake[4]: *** [CMakeFiles/Makefile2:164: CMakeFiles/utilities_unittest.dir/all] Error 2 gmake[4]: *** Waiting for unfinished jobs.... /usr/lib64/gcc/x86_64-suse-linux/10/../../../../x86_64-suse-linux/bin/ld: CMakeFiles/symbolize_unittest.dir/src/symbolize_unittest.cc.o: in function Symbolize_Symbolize_Test::TestBody()':
symbolize_unittest.cc:(.text+0x348): undefined reference to testing::internal::GetBoolAssertionFailureMessage(testing::AssertionResult const&, char const*, char const*, char const*)' /usr/lib64/gcc/x86_64-suse-linux/10/../../../../x86_64-suse-linux/bin/ld: symbolize_unittest.cc:(.text+0x436): undefined reference to testing::internal::GetBoolAssertionFailureMessage(testing::AssertionResult const&, char const*, char const*, char const*)'
collect2: error: ld returned 1 exit status
gmake[5]: *** [CMakeFiles/symbolize_unittest.dir/build.make:108: symbolize_unittest] Error 1
gmake[4]: *** [CMakeFiles/Makefile2:218: CMakeFiles/symbolize_unittest.dir/all] Error 2
/usr/lib64/gcc/x86_64-suse-linux/10/../../../../x86_64-suse-linux/bin/ld: CMakeFiles/demangle_unittest.dir/src/demangle_unittest.cc.o: in function Demangle_CornerCases_Test::TestBody()': demangle_unittest.cc:(.text+0x1e9): undefined reference to testing::internal::GetBoolAssertionFailureMessage(testing::AssertionResult const&, char const*, char const*, char const*)'
/usr/lib64/gcc/x86_64-suse-linux/10/../../../../x86_64-suse-linux/bin/ld: demangle_unittest.cc:(.text+0x3ce): undefined reference to testing::internal::GetBoolAssertionFailureMessage(testing::AssertionResult const&, char const*, char const*, char const*)' /usr/lib64/gcc/x86_64-suse-linux/10/../../../../x86_64-suse-linux/bin/ld: demangle_unittest.cc:(.text+0x5b6): undefined reference to testing::internal::GetBoolAssertionFailureMessage(testing::AssertionResult const&, char const*, char const*, char const*)'
/usr/lib64/gcc/x86_64-suse-linux/10/../../../../x86_64-suse-linux/bin/ld: demangle_unittest.cc:(.text+0x6cd): undefined reference to testing::internal::GetBoolAssertionFailureMessage(testing::AssertionResult const&, char const*, char const*, char const*)' /usr/lib64/gcc/x86_64-suse-linux/10/../../../../x86_64-suse-linux/bin/ld: demangle_unittest.cc:(.text+0x7c9): undefined reference to testing::internal::GetBoolAssertionFailureMessage(testing::AssertionResult const&, char const*, char const*, char const*)'
/usr/lib64/gcc/x86_64-suse-linux/10/../../../../x86_64-suse-linux/bin/ld: CMakeFiles/demangle_unittest.dir/src/demangle_unittest.cc.o:demangle_unittest.cc:(.text+0x8c0): more undefined references to testing::internal::GetBoolAssertionFailureMessage(testing::AssertionResult const&, char const*, char const*, char const*)' follow /usr/lib64/gcc/x86_64-suse-linux/10/../../../../x86_64-suse-linux/bin/ld: CMakeFiles/demangle_unittest.dir/src/demangle_unittest.cc.o: in function testing::internal::PrintTo(std::string const&, std::ostream*)':
demangle_unittest.cc:(.text._ZN7testing8internal7PrintToERKSsPSo[_ZN7testing8internal7PrintToERKSsPSo]+0x1f): undefined reference to testing::internal::PrintStringTo(std::string const&, std::ostream*)' /usr/lib64/gcc/x86_64-suse-linux/10/../../../../x86_64-suse-linux/bin/ld: CMakeFiles/demangle_unittest.dir/src/demangle_unittest.cc.o: in function testing::AssertionResult::AppendMessage(testing::Message const&)':
demangle_unittest.cc:(.text._ZN7testing15AssertionResult13AppendMessageERKNS_7MessageE[_ZN7testing15AssertionResult13AppendMessageERKNS_7MessageE]+0x77): undefined reference to testing::Message::GetString() const' /usr/lib64/gcc/x86_64-suse-linux/10/../../../../x86_64-suse-linux/bin/ld: CMakeFiles/demangle_unittest.dir/src/demangle_unittest.cc.o: in function testing::AssertionResult testing::internal::CmpHelperEQFailure<std::string, char const*>(char const*, char const*, std::string const&, char const* const&)':
demangle_unittest.cc:(.text.ZN7testing8internal18CmpHelperEQFailureISsPKcEENS_15AssertionResultES3_S3_RKT_RKT0[ZN7testing8internal18CmpHelperEQFailureISsPKcEENS_15AssertionResultES3_S3_RKT_RKT0]+0x6c): undefined reference to testing::internal::EqFailure(char const*, char const*, std::string const&, std::string const&, bool)' /usr/lib64/gcc/x86_64-suse-linux/10/../../../../x86_64-suse-linux/bin/ld: CMakeFiles/logging_unittest.dir/src/logging_unittest.cc.o: in function main':
logging_unittest.cc:(.text+0x2e7b): undefined reference to testing::internal::GetBoolAssertionFailureMessage(testing::AssertionResult const&, char const*, char const*, char const*)' /usr/lib64/gcc/x86_64-suse-linux/10/../../../../x86_64-suse-linux/bin/ld: CMakeFiles/logging_unittest.dir/src/logging_unittest.cc.o: in function TestCustomLoggerDeletionOnShutdown()':
logging_unittest.cc:(.text+0xcdb8): undefined reference to testing::internal::GetBoolAssertionFailureMessage(testing::AssertionResult const&, char const*, char const*, char const*)' /usr/lib64/gcc/x86_64-suse-linux/10/../../../../x86_64-suse-linux/bin/ld: CMakeFiles/logging_unittest.dir/src/logging_unittest.cc.o: in function google::BenchmarkRegisterer::BenchmarkRegisterer(char const*, void ()(int))':
logging_unittest.cc:(.text._ZN6google19BenchmarkRegistererC2EPKcPFviE[_ZN6google19BenchmarkRegistererC5EPKcPFviE]+0xa8): undefined reference to testing::internal::GetBoolAssertionFailureMessage(testing::AssertionResult const&, char const*, char const*, char const*)' /usr/lib64/gcc/x86_64-suse-linux/10/../../../../x86_64-suse-linux/bin/ld: CMakeFiles/logging_unittest.dir/src/logging_unittest.cc.o: in function testing::AssertionResult testing::internal::CmpHelperEQFailure<int, int>(char const
, char const*, int const&, int const&)':
logging_unittest.cc:(.text.ZN7testing8internal18CmpHelperEQFailureIiiEENS_15AssertionResultEPKcS4_RKT_RKT0[ZN7testing8internal18CmpHelperEQFailureIiiEENS_15AssertionResultEPKcS4_RKT_RKT0]+0x6c): undefined reference to testing::internal::EqFailure(char const*, char const*, std::string const&, std::string const&, bool)' /usr/lib64/gcc/x86_64-suse-linux/10/../../../../x86_64-suse-linux/bin/ld: CMakeFiles/logging_unittest.dir/src/logging_unittest.cc.o: in function testing::AssertionResult testing::internal::CmpHelperEQFailure<void*, void*>(char const*, char const*, void* const&, void* const&)':
logging_unittest.cc:(.text.ZN7testing8internal18CmpHelperEQFailureIPvS2_EENS_15AssertionResultEPKcS5_RKT_RKT0[ZN7testing8internal18CmpHelperEQFailureIPvS2_EENS_15AssertionResultEPKcS5_RKT_RKT0]+0x6c): undefined reference to testing::internal::EqFailure(char const*, char const*, std::string const&, std::string const&, bool)' collect2: error: ld returned 1 exit status gmake[5]: *** [CMakeFiles/demangle_unittest.dir/build.make:108: demangle_unittest] Error 1 gmake[4]: *** [CMakeFiles/Makefile2:191: CMakeFiles/demangle_unittest.dir/all] Error 2 /usr/lib64/gcc/x86_64-suse-linux/10/../../../../x86_64-suse-linux/bin/ld: CMakeFiles/stl_logging_unittest.dir/src/stl_logging_unittest.cc.o: in function TestSTLLogging()':
stl_logging_unittest.cc:(.text+0x880): undefined reference to testing::internal::GetBoolAssertionFailureMessage(testing::AssertionResult const&, char const*, char const*, char const*)' /usr/lib64/gcc/x86_64-suse-linux/10/../../../../x86_64-suse-linux/bin/ld: stl_logging_unittest.cc:(.text+0x9c9): undefined reference to testing::internal::GetBoolAssertionFailureMessage(testing::AssertionResult const&, char const*, char const*, char const*)'
/usr/lib64/gcc/x86_64-suse-linux/10/../../../../x86_64-suse-linux/bin/ld: stl_logging_unittest.cc:(.text+0xb12): undefined reference to testing::internal::GetBoolAssertionFailureMessage(testing::AssertionResult const&, char const*, char const*, char const*)' /usr/lib64/gcc/x86_64-suse-linux/10/../../../../x86_64-suse-linux/bin/ld: stl_logging_unittest.cc:(.text+0xf1b): undefined reference to testing::internal::GetBoolAssertionFailureMessage(testing::AssertionResult const&, char const*, char const*, char const*)'
/usr/lib64/gcc/x86_64-suse-linux/10/../../../../x86_64-suse-linux/bin/ld: stl_logging_unittest.cc:(.text+0x1064): undefined reference to testing::internal::GetBoolAssertionFailureMessage(testing::AssertionResult const&, char const*, char const*, char const*)' /usr/lib64/gcc/x86_64-suse-linux/10/../../../../x86_64-suse-linux/bin/ld: CMakeFiles/stl_logging_unittest.dir/src/stl_logging_unittest.cc.o:stl_logging_unittest.cc:(.text+0x11ad): more undefined references to testing::internal::GetBoolAssertionFailureMessage(testing::AssertionResult const&, char const*, char const*, char const*)' follow
/usr/lib64/gcc/x86_64-suse-linux/10/../../../../x86_64-suse-linux/bin/ld: CMakeFiles/stl_logging_unittest.dir/src/stl_logging_unittest.cc.o: in function testing::internal::PrintTo(std::string const&, std::ostream*)': stl_logging_unittest.cc:(.text._ZN7testing8internal7PrintToERKSsPSo[_ZN7testing8internal7PrintToERKSsPSo]+0x1f): undefined reference to testing::internal::PrintStringTo(std::string const&, std::ostream*)'
/usr/lib64/gcc/x86_64-suse-linux/10/../../../../x86_64-suse-linux/bin/ld: CMakeFiles/stl_logging_unittest.dir/src/stl_logging_unittest.cc.o: in function testing::AssertionResult testing::internal::CmpHelperEQFailure<std::string, char [9]>(char const*, char const*, std::string const&, char const (&) [9])': stl_logging_unittest.cc:(.text._ZN7testing8internal18CmpHelperEQFailureISsA9_cEENS_15AssertionResultEPKcS5_RKT_RKT0_[_ZN7testing8internal18CmpHelperEQFailureISsA9_cEENS_15AssertionResultEPKcS5_RKT_RKT0_]+0x6c): undefined reference to testing::internal::EqFailure(char const*, char const*, std::string const&, std::string const&, bool)'
/usr/lib64/gcc/x86_64-suse-linux/10/../../../../x86_64-suse-linux/bin/ld: CMakeFiles/stl_logging_unittest.dir/src/stl_logging_unittest.cc.o: in function testing::AssertionResult testing::internal::CmpHelperEQFailure<std::string, char [36]>(char const*, char const*, std::string const&, char const (&) [36])': stl_logging_unittest.cc:(.text._ZN7testing8internal18CmpHelperEQFailureISsA36_cEENS_15AssertionResultEPKcS5_RKT_RKT0_[_ZN7testing8internal18CmpHelperEQFailureISsA36_cEENS_15AssertionResultEPKcS5_RKT_RKT0_]+0x6c): undefined reference to testing::internal::EqFailure(char const*, char const*, std::string const&, std::string const&, bool)'
collect2: error: ld returned 1 exit status
/usr/lib64/gcc/x86_64-suse-linux/10/../../../../x86_64-suse-linux/bin/ld: CMakeFiles/stl_logging_unittest.dir/src/stl_logging_unittest.cc.o: in function testing::AssertionResult testing::internal::CmpHelperEQFailure<unsigned long, int>(char const*, char const*, unsigned long const&, int const&)': stl_logging_unittest.cc:(.text._ZN7testing8internal18CmpHelperEQFailureImiEENS_15AssertionResultEPKcS4_RKT_RKT0_[_ZN7testing8internal18CmpHelperEQFailureImiEENS_15AssertionResultEPKcS4_RKT_RKT0_]+0x6c): undefined reference to testing::internal::EqFailure(char const*, char const*, std::string const&, std::string const&, bool)'
gmake[5]: *** [CMakeFiles/logging_unittest.dir/build.make:108: logging_unittest] Error 1
gmake[4]: *** [CMakeFiles/Makefile2:245: CMakeFiles/logging_unittest.dir/all] Error 2
collect2: error: ld returned 1 exit status
gmake[5]: *** [CMakeFiles/stl_logging_unittest.dir/build.make:108: stl_logging_unittest] Error 1
gmake[4]: *** [CMakeFiles/Makefile2:812: CMakeFiles/stl_logging_unittest.dir/all] Error 2
gmake[3]: *** [Makefile:182: all] Error 2
make[2]: *** [CMakeFiles/glog.dir/build.make:93: glog-prefix/src/glog-stamp/glog-install] Error 2
make[1]: *** [CMakeFiles/Makefile2:155: CMakeFiles/glog.dir/all] Error 2
make: *** [Makefile:103: all] Error 2
`

from hdblackbird.

bareya avatar bareya commented on June 16, 2024

Hi @alex3dpl, If you wish to use it with Houdini then yes gcc-6 is necessary. Also, I disabled GTEST for you
bareya/hdcycles_for_houdini@577691a
bareya/hdcycles_for_houdini@20efc3c

You can give it a try, it might work. I disabled new ABI here

from hdblackbird.

alex3dpl avatar alex3dpl commented on June 16, 2024

Thank you @bareya. I was able to build hdcycles plugins with gcc 10 in tmp/... directories. Houdini works fine on Suse Thumbleweed, but doesn't see hdcycles plugins.
A few questions :)
How can I diagnose what is the real cause? The command should be entered in the linux console?
export PXR_PLUGINPATH_NAME=/tmp/build/plugin/usd/hdCycles/resources/:/tmp/build/plugin/usd/ndrCycles/resources/:${PXR_PLUGINPATH_NAME}
Thx for the help.

from hdblackbird.

bareya avatar bareya commented on June 16, 2024

I think it compiles with gcc-10, but it might not work with Houdini that is compiled with gcc-6. Use

export TF_DEBUG="*" 

To get the details why plug is not being loaded.

from hdblackbird.

alex3dpl avatar alex3dpl commented on June 16, 2024

@bareya export TF_DEBUG="*" unfortunately shows nothing :) What distro are you using for hdcycles, Red Hat, CentOS? It's a very interesting project. Gcc 6.3 is a bit too old to build on Suse Thumbleweed. I'll try to build it myself, but can you share any linux build, like as was with hdcycles for Windows?

from hdblackbird.

bareya avatar bareya commented on June 16, 2024

@alex3dpl TF_DEBUG comes from USD and is an environment variable that controls Tf behaviour.

So far it worked for me on Windows-10, Ubuntu-20.04, and CentOS-7. Those are the setups that I use on daily basis.

It's difficult to upload the build because it statically links with Cycles, so the binaries are about 150MB. Here is one of my dev branches: https://we.tl/t-Geu2pkGEbh. Some parts might be built in debug mode - it might be slow.

from hdblackbird.

alex3dpl avatar alex3dpl commented on June 16, 2024

@bareya thank you very much (dzięki wielkie Piotrze). I will try. Maybe there is something wrong with my USD. I watched the Nvidia GTC conference - hdcycles will be part of blackbird renderer or a separate plugin?
I have high hopes for the blender houdini pipeline.

from hdblackbird.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.