dreamworksanimation / openmoonray

MoonRay is DreamWorks’ open-source, award-winning, state-of-the-art production MCRT renderer.
https://openmoonray.org/
Apache License 2.0
4.28k stars 248 forks source link

Dependency build failing on M-Series MacBook Pro with Sonoma #164

Open Brithub77 opened 1 month ago

Brithub77 commented 1 month ago

I'm struggling building dependencies for MoonRay on my MacBook Pro. I keep getting errors during the Boost build but don't know why it's not working on this Mac. It fits all of the requirements, yet somehow the issue lies with the architecture not being supported by Boost? I don't get it.

Here is a snippet of the error at hand:

clang-darwin.compile.c++ bin.v2/libs/system/build/clang-darwin-15/release/threading-multi/visibility-hidden/error_code.o clang-darwin.link.dll bin.v2/libs/iostreams/build/clang-darwin-15/release/threading-multi/visibility-hidden/libboost_iostreams.dylib ld: warning: -single_module is obsolete ld: warning: ignoring file '/usr/local/lib/liblzma.5.dylib': fat file missing arch 'arm64', file has 'i386,x86_64' Undefined symbols for architecture arm64: "_lzma_code", referenced from: boost::iostreams::detail::lzma_base::deflate(int) in lzma.o boost::iostreams::detail::lzma_base::inflate(int) in lzma.o "_lzma_easy_encoder", referenced from: boost::iostreams::detail::lzma_base::init_stream(bool) in lzma.o "_lzma_end", referenced from: boost::iostreams::detail::lzma_base::reset(bool, bool) in lzma.o "_lzma_stream_decoder", referenced from: boost::iostreams::detail::lzma_base::init_stream(bool) in lzma.o ld: symbol(s) not found for architecture arm64 clang: error: linker command failed with exit code 1 (use -v to see invocation)

Later in the build:

...failed updating 1 target... ...skipped 3 targets... ...updated 16997 targets... make[2]: [Boost-prefix/src/Boost-stamp/Boost-build] Error 1 make[1]: [CMakeFiles/Boost.dir/all] Error 2 make: *** [all] Error 2

troberstones commented 1 month ago

I successfully built the dependencies 2 days ago. No issues. Looking on my system for '/usr/local/lib/liblzma.5.dylib' shows that I don't have such a dylib in the /usr/local/lib directory. Further searching on my system shows a number of liblzma.5.dylib files, and grepping in these files shows they at least have arm64 string in them. wonder if there is something funny about your build environment. The error basically says that the version of liblzma doesn't support the arm64 architecture, and thats why its failing.