Closed cilia closed 2 years ago
I added an FAQ explaining the problem here: https://pdftools.wiki/96D389D8
In short, the problem is that many people are using Emacs compiled for x86_64
on the M1 Mac, which is an ARM64
architecture. There is nothing that pdf-tools
can do here, but the "fix" is straightforward: Install Emacs from https://emacsformacosx.com/, which is compiled correctly.
In short, the problem is that many people are using Emacs compiled for
x86_64
on the M1 Mac, which is anARM64
architecture.
Thanks for the response.
I can confirm I've been running natively compiled arm64
Emacs from https://github.com/d12frosted/homebrew-emacs-plus, and the problem has always been there. So this is not just an incorrectly compiled Emacs issue, but something to do with epdfinfo
and potentially pdf-tools
too.
Hey @cilia ! I tested M-x pdf-tools-install
on an M1 Mac before publishing the FAQ. I could reproduce the issue on x86_64
compiled Emacs and could not on ARM64
compiled Emacs installed from https://emacsformacosx.com/ . (i.e. everything installed smoothly on the ARM64 compiled Emacs).
At this point, I'm not sure about next steps in debugging this. If you can please read through the FAQ, remove all the pdf-tools
dependencies as well as pdf-tools
itself, and then reinstall from MELPA that will be great. Please let me know if you hit the problem.
Yea, it's strange. My Emacs was compiled on arm64
and process sampling confirms it, but still the same issue.
Which dependencies do I need to remove for pdf-tools
? I wonder if I need to do anything to set some library paths on a M1 before compiling, e.t. PKG_CONFIG_PATH etc. Thanks.
These are the dependencies that you would install with brew
: pkg-config poppler automake
. You should remove / reinstall them. You can also export the PKG_CONFIG_PATH
this way: export PKG_CONFIG_PATH="${PKG_CONFIG_PATH}:$(brew --prefix libffi)/lib/pkgconfig/"
(All of this is done for you in the server/autobuild
script, so you can also just run ./server/autobuild
from inside the pdf-tools
folder)
+1 for using the correctly compiled version and still having issues. For me, the fix was pilgix's answer here:
https://stackoverflow.com/questions/70202413/configure-pdf-tools-in-emacs-running-on-macos
Specifically, evaluating:
(use-package pdf-tools
:ensure t
:config
(setenv "PKG_CONFIG_PATH" "/opt/homebrew/Cellar/zlib/1.2.13/lib/pkgconfig:/opt/homebrew/lib/pkgconfig:/opt/X11/lib/pkgconfig/:/opt/homebrew/Cellar/poppler/23.01.0/lib/pkgconfig:/opt/X11/share/pkgconfig")
(pdf-tools-install)
(custom-set-variables
'(pdf-tools-handle-upgrades t)))
in terminal emacs.
You can run terminal arm64 emacs on OSX using:
/Applications/Emacs.app/Contents/MacOS/Emacs-arm64-11 -nw
It seems the
pdf-tools
default installation process is still failing for Macs (e.g. 11.6.3) with M1 chips. I asked in the original repo and a (not so clean) workaround was proposed more than a year ago: https://github.com/politza/pdf-tools/issues/652#issue-795687902. Now I wonder if the process is/can be improved for M1 Macs.The server building process is still looking for the wrong version of the libs, as evidenced by the output of
./server/autobuild
: