HoudiniUsdBridge icon indicating copy to clipboard operation
HoudiniUsdBridge copied to clipboard

Build error - missing libraries in Houdini Install

Open trebconnell opened this issue 3 years ago • 5 comments

I'm trying to build against Houdini 19.0.657. I'm on commit bb8cee4fb9eb6edf06a28a5af37618759922fddd to match this version.

When I try to build I get errors that it can't find libraries: hboost_system-mt, libcurlwrap, and others.

As far as I can tell these libraries should be present in my install of Houdini, but they aren't. Interesting they are present in an old Houdini 16.5 install I have.

Any ideas why these libraries are missing and how I can resolve this? Thanks.

System:

Windows 11 Houdini Installed via the Launcher

trebconnell avatar Aug 03 '22 00:08 trebconnell

The list of libraries to link against should be coming from $HOUDINI_ROOT/toolkit/cmake/HoudiniConfig.cmake. Are you setting HOUDINI_ROOT to point to $HFS of your 19.0.657 installation? The libcurlwrap library was removed around version 19.0.591. And in HoudiniConfig.cmake, I see hboost_system-mt-x64.lib as a dependency, and that library exists in $HFS/custom/houdini/dsolib. What other libraries are claimed to be missing? And are they actually missing from $HFS/custom/houdini/dsolib?

marktucker avatar Aug 03 '22 03:08 marktucker

HoudiniConfig.cmake is being loaded correctly, but these libs are hardcoded in src/CMakeLists.txt for WIN32. Perhaps this is only an issue for WIN32?

It seems the steps that are happening in CMAKE are:

  1. The library is added to houdini_LINK_LIBS on this line of code: https://github.com/sideeffects/HoudiniUsdBridge/blob/houdini19.0/src/CMakeLists.txt#L40
  2. set(HUSD_LINK_LIBS ${houdini_LINK_LIBS})
  3. Most of the projects link against ${HUSD_LINK_LIBS} and fail to find this lib.

The lib is definitely missing on my machine. hboost_system-mt-x64.lib is there though.

trebconnell avatar Aug 03 '22 07:08 trebconnell

Ah, yes indeed, my mistake. The library names on Windows and Linux are different, and the needs of the linker are different. Could you please fix that list and submit a PR? Remove libcurlwrap, fix the hboost lib name, and make any other adjustments as required to make that list match up with the libraries that actually exist in $HFS/custom/houdini/dsolib. I suspect most of the required changes will be fairly obvious.

marktucker avatar Aug 03 '22 13:08 marktucker

I was able to get it to build. I'll work on getting a PR sent out shortly.

trebconnell avatar Aug 04 '22 00:08 trebconnell

Excellent! Thanks so much.

marktucker avatar Aug 04 '22 00:08 marktucker