Compiling latest branch on MacOS fails (undefined symbol)

I can confirm the build still fails as @nantille said.

[100%] Linking CXX executable ../../bin/Blender.app/Contents/MacOS/Blender
Undefined symbols for architecture x86_64:
  "___isPlatformVersionAtLeast", referenced from:
      _py_posix_spawn in libpython3.9.a(posixmodule.o)
      _posixmodule_exec in libpython3.9.a(posixmodule.o)
  "_preadv", referenced from:
      _os_preadv in libpython3.9.a(posixmodule.o)
  "_pwritev", referenced from:
      _os_pwritev in libpython3.9.a(posixmodule.o)
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make[3]: *** [bin/Blender.app/Contents/MacOS/Blender] Error 1
make[2]: *** [source/creator/CMakeFiles/blender.dir/all] Error 2
make[1]: *** [all] Error 2
make: *** [all] Error 2
1 Like

@dupoxy @nantille @ErikK Itā€™s not recommended that you use binaries from anyone on the Internet.
https://developer.blender.org/F9865901
Replace blender/ā€¦/lib/darwin/python folder with this one and it may fix the build error.
After the libraries land in svn, remove that python folder, and run make update to start using official ones.

@ankitm thanks for your answer but youā€™re puzzling me. Of course using binaries from anyone is unsafe. If I understand correctly, you give us a general warning but you give us binaries assuming we trust you so that we fix the issue as you said? Nothing wrong with it but I want to confirm I got it right.

Is it a temporary fix (meaning we can wait for the lib to land) or is it something that we will have to do even after the libraries land in svn?

I built the libraries to see if they work. They worked for macOS 10.14.6 at least (2 more people confirmed in chat)ā€¦ then figured it might take until next week to get SVN libs landed. So I shared them here too in case something important is stuck.

Itā€™s a temporary fix.

1 Like

Perfect, thanks!

Also thanks for mentioning this thread in Blender 2.9 CUDA on Mac. I also have this CUDA issue, worth having a look if this can be solved (but less important).

It does work with the temporary binaries you proposed. Thanks @ankitm

1 Like

I can confirm this works for macOS 10.13.6 also with https://developer.blender.org/F9865901 temporary fix. Thanks @ankitm.

1 Like

@sebbas any update ?
Iā€™m unable to build on macOS 10.13.6 with the provided Libraries.

3 Likes

Platform maintainers decided to build all intel dependencies on an older macOS, or at least with an older Xcode version to avoid such issues with any other dependency. Thereā€™s no time frame about it AFAIK.
A maniphest task to track the progress would indeed be good.

1 Like

Thanks for sharing. I was wondering when Iā€™d be able to build Blender 2.93 again. (Build failed a couple of minutes ago.)
So Iā€™ll wait.

Out of curiosity, the experimental builds are running fine on my system (macOS 10.13.6). I was under the impression that the git-version is the one used to compile them as well. (The build failed a couple of minutes ago with the error that started this thread.)

Apparently itā€™s only a build issue, not a runtime issue.

@sebbas @all Is this still in progress ??

@dupoxy It certainly doesnā€™t seem to be fixed.

Specifically, I still see the same linker errors about ___isPlatformVersionAtLeast etc when building from head, using XCode 10.3 (on OSX 10.14.6, FWIW).

If I replace the python libraries with the libraries that @ankitm supplied then the build succeeds.

1 Like

Just curious, just in case I start building my own versionsā€¦
Are these errors happening because of some trying to build for old versions of MacOS?
Iā€™m assuming that the current and working builds for BIG Sur, like on Blenderā€™s download page, arenā€™t having these issues.

Tim

@dupoxy I just updated the macOS Python libs (https://developer.blender.org/rBL62615). Can you try compiling with those?

2 Likes

@sebbas :+1: Yes, running make update then make to use the updated macOS Python libs, worked for me.

@dupoxy Glad to hear that. Thanks for trying it out!

@dupoxy out of curiosity, do the regular build bot builds work on 10.13? Or do you specifically need to take one off the 10.13 builder?

@LazyDodo Yes the regular builds work fine on 10.13 .

1 Like