Solved - Only 1 build error: macOS High Sierra 10.13.6

Command history:

mkdir ~/blender-git
cd ~/blender-git
git clone http://git.blender.org/blender.git
cd blender
make update
make full

Getting the linker error below. Missing library?
I get exactly the same error on a mac running mojave. Will try later on a windows machine.
One related question I assume this is the master branch I am building - which is the latest code. If I want to build the 2.8 release build I will need to checkout that branch?

Undefined symbols for architecture x86_64:
“_opus_multistream_decode”, referenced from:
_libopus_decode in libavcodec.a(libopusdec.o)
“_opus_multistream_decode_float”, referenced from:
_libopus_decode in libavcodec.a(libopusdec.o)
“_opus_multistream_decoder_create”, referenced from:
_libopus_decode_init in libavcodec.a(libopusdec.o)
“_opus_multistream_decoder_ctl”, referenced from:
_libopus_decode_init in libavcodec.a(libopusdec.o)
_libopus_flush in libavcodec.a(libopusdec.o)
“_opus_multistream_decoder_destroy”, referenced from:
_libopus_decode_close in libavcodec.a(libopusdec.o)
“_opus_multistream_encode”, referenced from:
_libopus_encode in libavcodec.a(libopusenc.o)
“_opus_multistream_encode_float”, referenced from:
_libopus_encode in libavcodec.a(libopusenc.o)
“_opus_multistream_encoder_create”, referenced from:
_libopus_encode_init in libavcodec.a(libopusenc.o)
“_opus_multistream_encoder_ctl”, referenced from:
_libopus_encode_init in libavcodec.a(libopusenc.o)
“_opus_multistream_encoder_destroy”, referenced from:
_libopus_encode_init in libavcodec.a(libopusenc.o)
_libopus_encode_close in libavcodec.a(libopusenc.o)
“_opus_multistream_surround_encoder_create”, referenced from:
_libopus_encode_init in libavcodec.a(libopusenc.o)
“_opus_strerror”, referenced from:
_libopus_decode_init in libavcodec.a(libopusdec.o)
_libopus_decode in libavcodec.a(libopusdec.o)
_libopus_encode_init in libavcodec.a(libopusenc.o)
_libopus_encode in libavcodec.a(libopusenc.o)

you forgot to make deps before make or use install_deps.sh script to populate blender source to need library (i think on MacOS is similar to Linux build)

If you’re on master I believe a merge is coming in soon from 2.81 to master that ensures you can build on MacOS again.

OK thank you both. I just checked out blender-v2.81-release head that built fine. Very pleased. I need to do a bit of googling to try and get an understanding of the difference between the various heads, and the tags.

Well end to a good weekend managed to build in Xcode, and hit a breakpoint. Instructions are there, but not the easiest to follow - but in the end I got there.

Good, good. Feel free to ask more dev related questions when you have them :slight_smile:

Regarding the instructions, could you point out what part was not obvious or hard to follow? It’d be great if we could improve those a bit based on your experiences…

I fully accept that it is very hard to keep documentation up to date with a moving target. I would say there were 2 aspects that caused problems:

  1. Software dependencies
  2. Repo organisation

BTW only referring to the Mac instructions.

An easier way in for everyone for 1) is to limit choice. Pick one way - for example homebrew and explicitly state commands to install and update homebrew, and commands to install required software. I had to install cmake - but got into a real mess since I also needed to install the cMake GUI for which you need to do
$brew cask install cmake
rather than
$bew install cmake
Also cMake GUI is called cMake App in the documentation. Call it the cMake GUI will help people googling.

For 2) I was building the master HEAD but had no idea what the master HEAD was, and was tripped up because the master can’t currently be built on Mac. The build instructions should change to check out the last point release head / something that is know to build on all platforms.

Please don’t read any criticism into the above. I am just trying to meet the ask of providing some feedback.

Thanks for the feedback.

With your comments and https://wiki.blender.org/wiki/Building_Blender/Mac side-by-side I believe the one correction that could make it clear would be to state that part of the quick setup is required. That at least should ensure you get primed for the advanced section. I have done that now.

Point 2 was an unfortunate moment where you got caught in a short in-between moment where things didn’t work. But that should be fixed already.