theos / theos

A cross-platform suite of tools for building and deploying software for iOS and other platforms.
https://theos.dev
Other
4.47k stars 1.08k forks source link

Error when compiling for arm64e #409

Closed iostonykraft closed 5 years ago

iostonykraft commented 5 years ago

I am using latest theos as of 5/12/19 with 12.1 sdk. Adding arm64e to my makefile and typing make package gets me this error:

ld: warning: ignoring file /Users/Tony/tweak/theos/vendor/lib/libsubstrate.dylib, missing required architecture arm64e in file /Users/Tony/tweak/theos/vendor/lib/libsubstrate.dylib (3 slices) Undefined symbols for architecture arm64e: "_MSHookMessageEx", referenced from: _logosLocalInit() in Tweak.xm.8c143d36.o ld: symbol(s) not found for architecture arm64e clang: error: linker command failed with exit code 1 (use -v to see invocation)

what can i do to fix this? thanks

kirb commented 5 years ago

Open that file (.tbd is plain text) and add arm64e to the architectures list.

iostonykraft commented 5 years ago

thanks, wonder why this isn't added by default

kirb commented 5 years ago

Most likely I quickly added the arm64e arch on my machine and forgot all about it. I’ve added arm64e to all in theos/lib@8df1bcc, though I won’t update Theos to point at this commit just yet as I’m not certain about how the unofficial toolchains (and pre-tapiv3 Xcode, like 9.2 IIRC) will handle it. We had issues with tapi not liking that it was seeing armv6 in the list once before, so may not be a good sign. (Maybe we can get an update out for the toolchains with tapiv3 included as a midway step to them actually compiling for arm64e, which we’re waiting on an LLVM source release for.)