-
Notifications
You must be signed in to change notification settings - Fork 62
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
apple m3 universal binaries incomplete #139
Comments
Actually, these tools are compiled separately for different architectures, and libexec is a symlinl:
but it points to the bad directory on arm. Fat executables could be built with the lipo tool.
|
Inside Emacs, do
I could lipo the arm and one of the x86_64 arches together, but you'll notice that it ships with 2 x86_64 arches (one for very old OSes). Unfortunately lipo (and Mach-O in general, I believe) only handles one image per arch, leading to the current "why bother with lipo" approach. The symlinked archless What problem is this causing you, specifically? |
It was chatgpt-shell that was failing on it, when it started a process "hexl". I have a exec-path with a lot of additionnal directories, and ineed, with libexec-arm64-11, so it should have worked. So it must be the way chatgpt-shell launches hexl that is bad? [email protected]:xenodium/chatgpt-shell.git |
If you open your terminal and type I took a quick peek at the chatgpt-shell and it looks like this might be the place where it calls hexl. I'm not sure why except maybe it's using it as a sanity test to see if executing things works? It doesn't look like it's doing anything obvious that would cause it to run the wrong |
Yes, I have a rather full PATH:
The help of
|
Here are the emacs portions of your exec-path: "/Applications/Emacs.app/Contents/MacOS/bin-arm64-11_2"
"/Applications/Emacs.app/Contents/MacOS/libexec-arm64-11_2"
"/Applications/Emacs.app/Contents/MacOS/libexec"
"/Applications/Emacs.app/Contents/MacOS/bin"
"/Applications/Emacs.app/Contents/MacOS/bin-arm64-11"
"/Applications/Emacs.app/Contents/MacOS/libexec-arm64-11"
"/Applications/Emacs.app/Contents/MacOS/libexec") The last 3 are the ones added by the launcher. The rest I'm guessing are coming from your shell stuff. In particular The solution would be to change those paths in your I have been thinking about this since yesterday and it's annoying to have moving path targets inside the emacs (those OS version numbers at the end could change at any moment). It would be nice to either have an architecture symlink with no version numbers in it or just lipo up the plain directory as you originally suggested. That's probably the least surprising thing from a user perspective. |
Thanks, I'll check my paths. Also, since we can install it by just dragging Emacs.app somwhere. And it could be installed on a network file system and used simultaneously by intel or arm systems. So updating the symlinks at whatever time wouldn't be a good solution indeed. |
In the binary downloaded from http://emacsformacosx.com
Emacs Version 29.2
Universal Binary (95.907 MB) Released 2024-01-18
we find tools compiled only for x86_64:
so they don't work eg. on apple m3 arm64.
The text was updated successfully, but these errors were encountered: