Doctor and more broken after migrating from Intel to M1 MacBook

What happened?

I upgraded my Mac from a 2017 Intel Mac to a 2022 M1 Mac. And now neither doom sync nor doom doctor works. Here’s what happens when I run doom sync:

Loading data dump...

What did you expect to happen?

I hoped that migrating everything over from the old mac, via the Migration Assistant Mac utility, would result in things being in a working state.

I did not expect an illegal instruction. I wonder if I am trying to run an Intel intruction on this new ARM64 chipset.

I thought I would look at the line with the offending illegal instruction, and what I saw, I did not understand:

Loading data dump...

Steps to reproduce

  1. Run Doom Doctor and you get

Loading data dump...

System information

Loading data dump...

I think I figured out what was wrong. The doom script was defaulting to running an x86 version of Emacs, but there was an arm64 version alongside it in my installation:

(mlenv) gregs-newbook:~ greg$ ls -l /Applications/ | head 
total 145776
-rwxrwxrwx@ 1 greg  admin      3408 Mar 27  2021 Emacs
-rwxrwxrwx@ 1 greg  admin   7170624 Mar 27  2021 Emacs-arm64-11_2
-rwxrwxrwx@ 1 greg  admin  15488160 Mar 27  2021 Emacs-arm64-11_2.pdmp
-rwxrwxrwx@ 1 greg  admin   9209536 Mar 27  2021 Emacs-x86_64-10_11
-rwxrwxrwx@ 1 greg  admin  15483720 Mar 27  2021 Emacs-x86_64-10_11.pdmp
-rwxrwxrwx@ 1 greg  admin   7337760 Mar 27  2021 Emacs-x86_64-10_14
-rwxrwxrwx@ 1 greg  admin  15483960 Mar 27  2021 Emacs-x86_64-10_14.pdmp
-rwxrwxrwx@ 1 greg  admin  15483720 Mar 27  2021 Emacs.pdmp
lrwxrwxrwx  1 greg  admin        16 Mar 27  2021 bin -> bin-x86_64-10_11
(mlenv) gregs-newbook:~ greg$

By guessing at the meaning of the advanced bash shell scripting going on in doom , I figured I could use the arm64 executable by setting the EMACS env var to point to it. Once i did that, doom doctor and doom sync ran as expected, no more problems.

1 Like

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.