Page MenuHome

macOS: upgrade minimum required version to 10.13 High Sierra
ClosedPublic

Authored by Brecht Van Lommel (brecht) on Jul 2 2020, 3:59 PM.

Details

Summary

C++17 does not work on 10.12, and Apple extended support ended for 10.12 in October 2019.

Ref T76184, T76783

This introduces a linker warning about _ff_cfhd_init_vlcs, which we ignore for now.

Diff Detail

Repository
rB Blender
Branch
master
Build Status
Buildable 8799
Build 8799: arc lint + arc unit

Event Timeline

Brecht Van Lommel (brecht) requested review of this revision.Jul 2 2020, 3:59 PM
Brecht Van Lommel (brecht) created this revision.

Wouldn't mind if we de-duplicate places where SDK version is used. But this project already goes deeper than we thought. So for now i'd rather go with the current patch and clean it up once we have everything else working.

FOr the spin lock i've created D8180 and D8182

Seems that this patch is missing something to silence the _ff_cfhd_init_vlcs.
Not sure what's the proper way around it though. Some people are using -Wl,-no_compact_unwind, some report crashes in this case and suggest -Wl,-keep_dwarf_unwind -Wl,-no_compact_unwind. Googinling for FFmpeg specific issue shows some results which adds -funwind-tables -fasynchronous-unwind-tables to CFLAGS.

The latter one seems related, and I've tested it. Without any luck, the warning is still there.

I used -Wl,-no_compact_unwind, but maybe that caused the Boost crash I was seeing and -Wl,-keep_dwarf_unwind -Wl,-no_compact_unwind is needed? I don't have my Mac here to test right now.

With -Wl,-no_compact_unwind added PLATFORM_LINKFLAGS I do have abort() in Boost. When I use -Wl,-keep_dwarf_unwind -Wl,-no_compact_unwind there is no linker warning and no abort(). However, it feels slower to link. Could be subjective though. Do you mind testing it on your side?

There is a difference. Before:

$ time ninja
real  0m14.185s
user  0m11.878s
sys 0m1.081s
$ du -hs bin/Blender.app/Contents/MacOS/Blender
247M	bin/Blender.app/Contents/MacOS/Blender

With -Wl,-keep_dwarf_unwind -Wl,-no_compact_unwind:

$ time ninja
real  0m15.882s
user  0m12.935s
sys 0m1.321s
$ du -hs bin/Blender.app/Contents/MacOS/Blender
260M	bin/Blender.app/Contents/MacOS/Blender

Maybe we just live with the warning for now.

Or maybe we can fix this in ffmpeg, there has to be something special about that one function that we can avoid.

Brecht Van Lommel (brecht) requested review of this revision.Jul 8 2020, 2:44 PM

We decide to just live with the warning for now, we can always updated libavcodec.a later solve it.

This revision was not accepted when it landed; it landed in state Needs Review.Jul 8 2020, 2:59 PM
This revision was automatically updated to reflect the committed changes.