From: Artem Loenko via "Bug reports for GNU Emacs, the Swiss army knife of text editors" <bug-gnu-emacs@gnu.org>
To: Philipp Stephani <p.stephani2@gmail.com>
Cc: 45455@debbugs.gnu.org
Subject: bug#45455: [nextstep]: Emacs master does not compile on Apple Silicon (arm64)
Date: Sun, 27 Dec 2020 20:12:52 +0000 [thread overview]
Message-ID: <C14FD20B-D825-4A50-B789-1EB2D7FDC671@mac.com> (raw)
In-Reply-To: <CAArVCkQbgDco-ryGy2OtUz1rH0TaU72pOyAUVR8_gmB=rJFVkQ@mail.gmail.com>
Looks strange indeed.
I see that these changes were introduced in this commit – https://git.savannah.gnu.org/cgit/emacs.git/commit/?h=emacs-27&id=fda9b3e83a434706c31ab1bee5c15511c0181d5a So, emacs-27 branch does not compile on Apple Silicon as well any more. Also, I believe, it should be at least `arm64-apple-darwin` and not `arm-apple-darwin`. Though, I tried to compile with `arm64-apple-darwin` but got the same error with `temacs`.
I checked LLVM bundled with Xcode 12.3 and LLVM 11.0.0. Both report `arm64-apple-darwin` as a target (the same for `-print-effective-triple`:
> ~/Projects/emacs $ /opt/homebrew/opt/llvm/bin/clang --version
> clang version 11.0.0
> Target: arm64-apple-darwin20.2.0
> Thread model: posix
> InstalledDir: /opt/homebrew/opt/llvm/bin
> ~/Projects/emacs $ xcrun clang --version
> Apple clang version 12.0.0 (clang-1200.0.32.28)
> Target: arm64-apple-darwin20.2.0
> Thread model: posix
> InstalledDir: /Volumes/Extended/Archives/Xcode_12.3.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin
Though, during the ./configure, `config.guess` identifies the system as `aarch64-apple-darwin`:
> Running ./configure ...
> ./configure
> ...
> checking build system type... aarch64-apple-darwin20.2.0
> checking host system type... aarch64-apple-darwin20.2.0
> …
> Configured for 'aarch64-apple-darwin20.2.0’.
> ~/Projects/emacs $ ./build-aux/config.guess
> aarch64-apple-darwin20.2.0
It seems that `clang` is good with both versions as a target.
Anyway, the fact is that `temacs` works fine with `aarch64-apple-darwin` target and does not with `arm(64)-apple-darwin`. I do not know much about `temacs` and Emacs internals, if you have any leads or theories to check – let me know, I will try my best. So far, my best idea is that we propagate the target to other tool that does not “understand” `arm64-apple-darwin`.
Regards,
Artem Loenko
> On 27 Dec 2020, at 14:12, Philipp Stephani <p.stephani2@gmail.com> wrote:
>
> Am So., 27. Dez. 2020 um 12:54 Uhr schrieb Artem Loenko via Bug
> reports for GNU Emacs, the Swiss army knife of text editors
> <bug-gnu-emacs@gnu.org>:
>>
>> Hello there,
>>
>> Emacs master (as of 8bc727d0b4 "Fix the recent `length' doc string addition" commit) does not compile on Apple Silicon (M1) anymore. Compilation fails with the following error:
>>
>> ./temacs --batch -l loadup --temacs=pbootstrap
>> make[1]: *** [bootstrap-emacs.pdmp] Killed: 9
>> make: *** [src] Error 2
>>
>> When you try to run the `temacs` under lldb, it shows the following problem:
>>
>> (lldb) process launch
>> Process 75320 launched: '/Users/dive/Projects/emacs/src/temacs' (arm64)
>> Loading loadup.el (source)...
>> ...
>> Eager macro-expansion failure: (void-variable search-slow-speed)
>> Eager macro-expansion failure: (void-variable search-slow-speed)
>> Symbol’s value as variable is void: search-slow-speed
>> Process 75320 exited with status = 255 (0x000000ff)
>>
>> The problem was introduced in the "Merge from origin/emacs-27” commit – https://git.savannah.gnu.org/cgit/emacs.git/commit/?id=90ec81f5b243b6b7b3ebe2de394b20e8078ebc96 and I believe it was unintentional revert of DO_CODESIGN within src/Makefile.in:
>>
>> diff --git a/src/Makefile.in b/src/Makefile.in
>> index 39c0f12fe6..19304cca04 100644
>> --- a/src/Makefile.in
>> +++ b/src/Makefile.in
>> @@ -338,7 +338,7 @@ HAVE_PDUMPER = @HAVE_PDUMPER@
>>
>> ## ARM Macs require that all code have a valid signature. Since pump
>> ## invalidates the signature, we must re-sign to fix it.
>> -DO_CODESIGN=$(patsubst aarch64-apple-darwin%,yes,@configuration@)
>> +DO_CODESIGN=$(patsubst arm-apple-darwin%,yes,@configuration@)
>
> For some reason the @configuration@ value on my system is occasionally
> either arm-... or aarch64-..., without a clear pattern. Should we
> maybe accept both? Or can we make sure that aarch64-... is detected
> consistently?
next prev parent reply other threads:[~2020-12-27 20:12 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-12-27 11:53 bug#45455: [nextstep]: Emacs master does not compile on Apple Silicon (arm64) Artem Loenko via Bug reports for GNU Emacs, the Swiss army knife of text editors
2020-12-27 14:12 ` Philipp Stephani
2020-12-27 20:12 ` Artem Loenko via Bug reports for GNU Emacs, the Swiss army knife of text editors [this message]
2020-12-27 20:30 ` Philipp Stephani
2020-12-27 21:37 ` Artem Loenko via Bug reports for GNU Emacs, the Swiss army knife of text editors
2020-12-28 3:27 ` Eli Zaretskii
2020-12-28 11:06 ` Artem Loenko via Bug reports for GNU Emacs, the Swiss army knife of text editors
2020-12-28 11:11 ` Philipp Stephani
2020-12-28 11:42 ` Artem Loenko via Bug reports for GNU Emacs, the Swiss army knife of text editors
2020-12-28 11:44 ` Philipp Stephani
2020-12-29 19:26 ` Artem Loenko via Bug reports for GNU Emacs, the Swiss army knife of text editors
2020-12-29 19:45 ` Philipp Stephani
2020-12-29 20:41 ` Artem Loenko via Bug reports for GNU Emacs, the Swiss army knife of text editors
2020-12-30 2:38 ` Lars Ingebrigtsen
2020-12-28 11:08 ` Philipp Stephani
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://www.gnu.org/software/emacs/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=C14FD20B-D825-4A50-B789-1EB2D7FDC671@mac.com \
--to=bug-gnu-emacs@gnu.org \
--cc=45455@debbugs.gnu.org \
--cc=artyom.loenko@mac.com \
--cc=p.stephani2@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/emacs.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).