Hello,
I've been struggling to compile arnold-usd to test in usdview. I have no expirience at all at compiling and the documentation in the Github page it isn't helpful for me.
Here's what the abuild responds:
scons: Reading SConscript files ...
ImportError: cannot import name 'izip':
File "D:\Documents\arnold-usd-arnold-7.0.0.0\SConstruct", line 29:
from utils import system, configure
File "D:\Documents\arnold-usd-arnold-7.0.0.0\tools\utils\__init__.py", line 14:
from . import build_tools, color, compiler, configure, dependencies, elf, git, \
File "D:\Documents\arnold-usd-arnold-7.0.0.0\tools\utils\build_tools.py", line 20:
from itertools import izip
I read that you can use the Houdini's Plugin since Solaris is USD based. If that's true, which files I should copy to the usd folder to get it working?
Thanks in advance.
All the same struggle here. If anyone could save us multiple weekends of trying to build all this and share some pre-built binaries for windows, that would be great !
I managed to build arnold-usd without abuild thanks to Richard from https://prism-pipeline.com/
I could do an extended tutorial some time in the future, but here's the command that you can use. Make sure you change the paths following the dependencies configuration https://github.com/Autodesk/arnold-usd/blob/master/docs/building.md
D:\Projects\Compiling\cmake-3.21.4-windows-x86_64\cmake-3.21.4-windows-x86_64\bin\cmake ^ -G "Visual Studio 15 2017 Win64" ^ -DCMAKE_INSTALL_PREFIX="C:\dist\arnold-usd" ^ -DARNOLD_LOCATION="D:\Projects\Compiling\arnold-usd\Arnold-7.0.0.0-windows" ^ -DUSD_INCLUDE_DIR="D:\Projects\Compiling\USD\build_21.08_2017\install\include" ^ -DUSD_LIBRARY_DIR="D:\Projects\Compiling\USD\build_21.08_2017\install\lib" ^ -DUSD_LIBRARIES="D:\Projects\Compiling\USD\build_21.08_2017\install\lib" ^ -DBUILD_DOCS=OFF ^ -DBUILD_SCHEMAS=OFF ^ -DTBB_FOUND=ON ^ -DTBB_INCLUDE_DIRS="D:\Projects\Compiling\USD\build_21.08_2017\install\include" ^ -DTBB_LIBRARIES="D:\Projects\Compiling\USD\build_21.08_2017\install\lib\tbb.lib" ^ -DBUILD_USE_CUSTOM_BOOST=ON ^ -DBoost_INCLUDE_DIRS="D:\Projects\Compiling\USD\build_21.08_2017\install\include\boost-1_70" ^ -DBoost_LIBRARIES="D:\Projects\Compiling\USD\build_21.08_2017\install\lib\boost_python37-vc141-mt-x64-1_70.lib" ^ -DBUILD_USE_PYTHON3=ON ^ -DPython3_ROOT_DIR="C:\Program Files\Python37" ^ D:\Projects\Tools\GitRepositories\arnold-usd
Then you can build it in the same Terminal with this command:
D:\Projects\Compiling\cmake-3.21.4-windows-x86_64\cmake-3.21.4-windows-x86_64\bin\cmake --build . --config Release --target install
Also it's worth mentioning that you should add the bin folder from arnold-sdk to PATH for this to work.
I hope arnold-usd developers take some time to work on the building documentation since this one is outdated.
Thank you !
With the command you shared I was able to get much further, now the building seems to stop after a few minutes and fails with this message at the end :
C:\Users\Mohamed\Desktop\WIP\GEAR_WORKS\DEV\TESTING\build-arnold-usd\arnold-usd-arnold-6.2.1.0\usd_imaging\usd_lux_light_filter_adapter.cpp(16): fatal error C1083: Cannot open include file: 'pxr/usd/usdLux/light.h': No such file or directory [C:\Users\Mohamed\Desktop\WIP\GEAR_WORKS\DEV\TESTING\build-arnold-usd\arnold-usd-build\usd_imaging\usdImagingArnold.vcxproj Generating Code...
For now I'm still trying to figure out how to use the HtoA or KtoA build to see arnold renders with usdview.
Which USD version are you targeting (hash?)? We build against 21.08 (for Houdini 19), including the USD imaging plugin, and did not see this error.
@Pal Mezei I used the current USD release v21.11
I should try build against the 21.08 version too instead.
Ok after hours of trying different things, I moved a bit further in the building steps,
cmake gives me errors that I have hard time debugging, so I continued with the abuild method with a custom.py file.
The content of my custom.py :
ARNOLD_PATH=r'C:\DEV\CGI_PIPELINE\USD\Arnold-7.0.0.0-windows' USD_PATH=r'C:\DEV\CGI_PIPELINE\USD\build-20.08' PYTHON_INCLUDE=r'C:\Users\Ilyas\AppData\Local\Programs\Python\Python37\include' PYTHON_LIB=r'C:\Users\Ilyas\AppData\Local\Programs\Python\Python37\libs' PYTHON_LIB_NAME='python37' PREFIX=r'C:\DEV\CGI_PIPELINE\USD\arnold-usd-build.7.0.0' BOOST_INCLUDE=r'C:\DEV\CGI_PIPELINE\USD\boost_1_66_0' BUILD_SCHEMAS=False BUILD_RENDER_DELEGATE=True BUILD_USD_WRITER=False BUILD_PROCEDURAL=False BUILD_TESTSUITE=False BUILD_DOCS=False
I now arrived to this error
LINK : fatal error LNK1181: cannot open input file 'usd_ms.lib' scons: *** [build\windows_x86_64\msvc_opt\usd-0.21.8_arnold-7.0.0.0\render_delegate\hdArnold.dll] Error 1181 scons: building terminated because of errors.
And I've got no clue how to fix this one.
Few notes that might benefit other people in the future :
Adding the bin directory of arnold sdk to path was necessary indeed.
The PYTHON_INCLUDE path must direct to include folder inside python directory for it to work with boost, unlike what's mentioned in the docs. Otherwise we get this error :
fatal error C1083: Cannot open include file: 'pyconfig.h': No such file or directory
If I don't put BUILD_DOCS to false, I get no attribute named `Doxygen` at line 524 of SConstruct, so I decided to disable everything I believe I don't need, all I need is really to render with arnold directly on usdview.
That's it for this weekend's arnold usd building adventure.