Autodesk / Autodesk/arnold-usd
Compiling against houdini 20.5 libraries doesn't work
- Dominant language
- Python
- Stars
- 284
- Forks
- 68
- Avg merge
- 2d 19h
- Merged PRs (30d)
- 14
Description
On windows, I'm trying to compile arnold-usd against Houdini 20.5.487 using scons (There's a similar error in cmake, but I didn't dig into that)
Houdini uses python 3.11, and its boost python lib is named `hboost_python311-mt-x64.lib`
There is no existing mechanism to tell the build system to look for `hboost_python311-mt-x64.lib` instead of `hboost_python-mt-x64.lib`, so I get linker errors.
I had to make that symlink in the houdini `custom/houdini/dsolib` folder. Your build system should either handle that, or the instructions should tell me that it is a requirement.
Side note: You should REALLY update the build instructions. You're still referencing python27
**To Reproduce**
Steps to reproduce the behavior:
Here's my custom.py. We install to some non-standard places, so please make sure to update ARNOLD_PATH, _houbase, and PREFIX.
```
from pathlib import Path
ARNOLD_PATH = r"C:\Arnold\standalone\7.3.3.0"
_houbase = Path(r"C:\Program Files\Side Effects Software\Houdini 20.5.487")
pydotver = '3.11'
pyver = pydotver.replace('.', '')
pymajor = pydotver.split('.')[0]
USD_PATH = str(_houbase / "bin")
USD_BIN = str(_houbase / "bin")
USD_INCLUDE = str(_houbase / "toolkit" / "include" ) # automatically appends "pxr"
USD_LIB = str(_houbase / "custom" / "houdini" / "dsolib")
USD_BUILD_MODE = "shared_libs"
USD_LIB_PREFIX = "libpxr_"
BOOST_INCLUDE = str(_houbase / "toolkit" / "include" / "hboost")
BOOST_LIB = str(_houbase / "custom" / "houdini" / "dsolib")
BOOST_LIB_NAME = "hboost_%s-mt-x64"
BOOST_ALL_NO_LIB = True
PYTHON_INCLUDE = str(_houbase / "toolkit" / "include" / f"python{pydotver}")
PYTHON_LIB = str(_houbase / f"python{pyver}" / "libs")
PYTHON_LIB_NAME = f"python{pyver}"
BUILD_SCHEMAS = False
BUILD_RENDER_DELEGATE = True
BUILD_PROCEDURAL = True
BUILD_TESTSUITE = False
BUILD_DOCS = False
PREFIX = r"C:\temp\arnold-usd\prefix"
```
**Expected behavior**
I'm able to compile while following the instructions in your readmes
**Used Software Versions**
- Arnold: [7.3.3.0]
- USD: Whatever comes with Houdini 20.5.487
- Compiler: Visual Studio 2022
- OS: Windows 10
Contributor guide
Research direction
Start with custom.py and the build instructions referenced in the issue, then trace how BOOST_LIB_NAME and the Python version are handled by the SCons and CMake builds. Reproduce the Windows Houdini 20.5.487 configuration and verify that compilation succeeds without a manually created symlink; update the instructions if Python 2.7 references remain.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cmake, python
- Domain
- build-system, documentation
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100