carl
2020-11-22 18:49
administrator
~0004016
Last edited: 2020-11-23 00:11
|
Need Xcode 12.2; possibly -target arm64-apple-macos11 ?
ARM mac will be running Big Sur.
lipo -archs <executable> should mention arm64 .
Presumably must be 11.0 SDK, so we'll need to build for 10.6 (x86 32/64), 10.9 (x86 64) and then 11.0 (x86_64/arm64) separately.
SDK is in Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/MacOSX11.0.sdk |
|
|
Add LSArchitecturePriority key to your app’s Info.plist file and list the arm64 architecture first to stop it running the x86 version on Rosetta. |
|
carl
2020-11-22 23:33
administrator
~0004020
Last edited: 2020-11-23 00:13
|
osx-environment needs to be cross-compiled, which could be entertaining: 11.0 branch. |
|
|
See catalina-arm-build VM. |
|
carl
2020-12-28 18:37
administrator
~0004083
Last edited: 2020-12-28 18:38
|
|
|
|
Build against 10.9 in new environment hangs on startup in High Sierra (10.13) with
* thread 0000001, queue = 'com.apple.main-thread', stop reason = signal SIGSTOP
* frame #0: 0x00007fff779b6a16 libsystem_kernel.dylib`__psynch_cvwait + 10
frame 0000001: 0x00007fff77b7f589 libsystem_pthread.dylib`_pthread_cond_wait + 732
frame 0000002: 0x000000010b404b86 libglib-2.0.dylib`g_cond_wait + 38
frame 0000003: 0x000000010b3db2fb libglib-2.0.dylib`g_once_init_enter + 91
frame 0000004: 0x000000010bad9855 libpango-1.0.dylib`pango_context_set_font_map + 37
frame 0000005: 0x000000010badc6c2 libpango-1.0.dylib`pango_font_map_create_context + 34
frame 0000006: 0x00000001057d101f libdcpomatic2.dylib`render_line(std::__1::list<StringText, std::__1::allocator<StringText> >, std::__1::list<boost::shared_ptr<dcpomatic::Font>, std::__1::allocator<boost::shared_ptr<dcpomatic::Font> > >, dcp::Size, dcpomatic::Time<dcpomatic::DCPTimeDifferentiator, dcpomatic::ContentTimeDifferentiator>, int) + 2703
frame 0000007: 0x00000001057d007b libdcpomatic2.dylib`render_text(std::__1::list<StringText, std::__1::allocator<StringText> >, std::__1::list<boost::shared_ptr<dcpomatic::Font>, std::__1::allocator<boost::shared_ptr<dcpomatic::Font> > >, dcp::Size, dcpomatic::Time<dcpomatic::DCPTimeDifferentiator, dcpomatic::ContentTimeDifferentiator>, int) + 939
frame 0000008: 0x000000010582bdb4 libdcpomatic2.dylib`dcpomatic_setup() + 1956
frame 0000009: 0x0000000104cccff0 dcpomatic2`App::OnInit() + 800
frame 0000010: 0x000000010a3e78fb libwx_osx_cocoau_core-3.0.0.4.0.dylib`wxApp::CallOnInit() + 155
frame 0000011: 0x000000010af47215 libwx_baseu-3.0.0.4.0.dylib`wxEntry(int&, wchar_t**) + 117
frame 0000012: 0x0000000104ccb3e4 dcpomatic2`main + 20
frame 0000013: 0x00007fff77866015 libdyld.dylib`start + 1
frame 0000014: 0x00007fff77866015 libdyld.dylib`start + 1
thread 0000002
frame #0: 0x00007fff779b728a libsystem_kernel.dylib`__workq_kernreturn + 10
frame 0000001: 0x00007fff77b7e009 libsystem_pthread.dylib`_pthread_wqthread + 1035
frame 0000002: 0x00007fff77b7dbe9 libsystem_pthread.dylib`start_wqthread + 13
thread 0000003, name = 'com.apple.NSEventThread'
frame #0: 0x00007fff779ad1fa libsystem_kernel.dylib`mach_msg_trap + 10
frame 0000001: 0x00007fff779ac714 libsystem_kernel.dylib`mach_msg + 60
frame 0000002: 0x00007fff4f882f65 CoreFoundation`__CFRunLoopServiceMachPort + 341
frame 0000003: 0x00007fff4f8822b7 CoreFoundation`__CFRunLoopRun + 1783
frame 0000004: 0x00007fff4f881927 CoreFoundation`CFRunLoopRunSpecific + 487
frame 0000005: 0x00007fff4cf4bfc4 AppKit`_NSEventThread + 184
frame 0000006: 0x00007fff77b7e661 libsystem_pthread.dylib`_pthread_body + 340
frame 0000007: 0x00007fff77b7e50d libsystem_pthread.dylib`_pthread_start + 377
frame 0000008: 0x00007fff77b7dbf9 libsystem_pthread.dylib`thread_start + 13 |
|
|
Also hangs on catalina, can't yet attach lldb but guessing it's the same thing. |
|
carl
2021-01-01 23:04
administrator
~0004086
Last edited: 2021-01-01 23:05
|
Looks like g_once_init_enter will g_cond_wait while value_location is on the g_once_init_list . |
|
|
On the console we have:
(process:980): GLib-GObject-WARNING **: 00:12:26.010: cannot register existing type 'PangoContext'
(process:980): GLib-CRITICAL **: 00:12:26.010: g_once_init_leave: assertion 'result != 0' failed
(process:980): GLib-GObject-CRITICAL **: 00:12:26.010: g_object_new_with_properties: assertion 'G_TYPE_IS_OBJECT (object_type)' failed |
|
|
That first warning is happening here:
* thread 0000001, queue = 'com.apple.main-thread', stop reason = breakpoint 1.1
* frame #0: 0x00000001066ab930 libglib-2.0.dylib`g_log
frame 0000001: 0x000000010660dcaa libgobject-2.0.dylib`check_type_name_I + 250
frame 0000002: 0x000000010660e82a libgobject-2.0.dylib`g_type_register_static + 74
frame 0000003: 0x000000010660e796 libgobject-2.0.dylib`g_type_register_static_simple + 102
frame 0000004: 0x0000000106dab661 libpango-1.0.dylib`pango_context_get_type_once + 65
frame 0000005: 0x0000000106dab695 libpango-1.0.dylib`pango_context_new + 37
frame 0000006: 0x0000000106dae6b4 libpango-1.0.dylib`pango_font_map_create_context + 20
frame 0000007: 0x0000000100bb001f libdcpomatic2.dylib`render_line(std::__1::list<StringText, std::__1::allocator<StringText> >, std::__1::list<boost::shared_ptr<dcpomatic::Font>, std::__1::allocator<boost::shared_ptr<dcpomatic::Font> > >, dcp::Size, dcpomatic::Time<dcpomatic::DCPTimeDifferentiator, dcpomatic::ContentTimeDifferentiator>, int) + 2703
frame 0000008: 0x0000000100baf07b libdcpomatic2.dylib`render_text(std::__1::list<StringText, std::__1::allocator<StringText> >, std::__1::list<boost::shared_ptr<dcpomatic::Font>, std::__1::allocator<boost::shared_ptr<dcpomatic::Font> > >, dcp::Size, dcpomatic::Time<dcpomatic::DCPTimeDifferentiator, dcpomatic::ContentTimeDifferentiator>, int) + 939
frame 0000009: 0x0000000100c0adb4 libdcpomatic2.dylib`dcpomatic_setup() + 1956
frame 0000010: 0x0000000100015ff0 dcpomatic2`App::OnInit() + 800
frame 0000011: 0x000000010570e8fb libwx_osx_cocoau_core-3.0.0.4.0.dylib`wxApp::CallOnInit() + 155
frame 0000012: 0x0000000106255215 libwx_baseu-3.0.0.4.0.dylib`wxEntry(int&, wchar_t**) + 117
frame 0000013: 0x00000001000143e4 dcpomatic2`main + 20
frame 0000014: 0x00007fff77866015 libdyld.dylib`start + 1 |
|
|
First call to pango_context_get_type_once is made as a result of DoM's Pango::init() call. |
|
carl
2021-01-01 23:40
administrator
~0004090
Last edited: 2021-01-02 19:02
|
Maybe because I'm using quite an old pangomm ; rebuilding environment with 2.42.2; seems to work. |
|
|
It's weird that I had a build not a million miles away from this running on Big Sur the other day. |
|
|
Builds and runs on x86; needs testing. |
|
|
Apparently it works... https://dcpomatic.com/forum/viewtopic.php?f=2&p=7154#p7154 |
|