Thread Rating:
  • 2 Vote(s) - 4.5 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Bug / Crash  Doesn't build for latest XCode (11.4)
#1
Hi.

When including the Obi Rope plugin builds hang at "arm64 function not 4-byte aligned" for UnityFramework.

If you remove the plugin then building commences just fine.
Reply
#2
(28-03-2020, 12:19 AM)numandina Wrote: Hi.

When including the Obi Rope plugin builds hang at "arm64 function not 4-byte aligned" for UnityFramework.

If you remove the plugin then building commences just fine.

Hi there,

Just checked all function entries in Oni (Obi's physics lib), they're 4-byte aligned. So is all data (as we make heavy use of SIMD intrinsics, which need memory to be 4-byte aligned, or else they would just crash at runtime due to unaligned memory access). Moreover, this should be a linker warning, I see no reason for Xcode to hang at this.

I'm currently updating my OS from Mojave to Catalina, and installing Xcode 11.4. Will test soon.
Reply
#3
Hi,

Could reproduce the original issue. Xcode 11.4 indeed hangs when attempting to link against libOni.a. All previous Xcode versions work fine.

Still unsure of the cause. Will keep you updated to date.
Reply
#4
Thank you. I can't use previous Xcode versions because of an iTunesConnect bug. Please keep me up to date as it's somewhat important.
Reply
#5
XCode 11.4 just chokes on universal libraries. Tried linking an unrelated universal lib, same result. Really looks like a bug in Xcode.

Will investigate further.
Reply
#6
Almost 100% certain it is a Xcode bug at this point. Tried several static libs, most of them hang in the linking phase. I'm reporting this as a bug to Apple, as I'd expect linking tools to always finalize (with either an error message, or a successfully built binary).
Reply
#7
Done, sent a bug report to Apple:
[Image: DwhmEWS.png]
Reply
#8
OK now we wait I guess. On Xcode I go to view->Navigators->View Report to see more details. I don't have in depth knowledge of the compilation process but maybe you can identify something there. The hanging always occurs after the arm64 warning.
Reply
#9
(28-03-2020, 02:06 PM)numandina Wrote: OK now we wait I guess. On Xcode I go to view->Navigators->View Report to see more details. I don't have in depth knowledge of the compilation process but maybe you can identify something there. The hanging always occurs after the arm64 warning.

Tried changing the target architecture, building libOni again using Xcode 11.14 (as opposed to 11.3, which was used to build the lib that ships with Obi), tried building for the simulator, enabling/disabling LTO (link-time optimization) which has been known to cause linker hangs in the past, disabling compiler optimization entirely... all to no avail. As long as there's a static library linked, the damned thing hangs.  Triste

So yes, all we can do for now is wait for their feedback.
Reply
#10
(28-03-2020, 02:12 PM)josemendez Wrote: Tried changing the target architecture, building libOni again using Xcode 11.14 (as opposed to 11.3, which was used to build the lib that ships with Obi), tried building for the simulator, enabling/disabling LTO (link-time optimization) which has been known to cause linker hangs in the past, disabling compiler optimization entirely... all to no avail. As long as there's a static library linked, the damned thing hangs.  Triste

So yes, all we can do for now is wait for their feedback.

Is there absolutely no solution at all? Can't I send you my project and you compile the library as dynamic and build? Something like that?
Reply