Interlisp / medley

The main repo for the Medley Interlisp project. Wiki, Issues are here. Other repositories include maiko (the VM implementation) and Interlisp.github.io (web site sources)
https://Interlisp.org
MIT License
376 stars 19 forks source link

Update build files for M1 Mac #69

Closed nbriggs closed 3 years ago

nbriggs commented 3 years ago

The new M1 mac is architecture "aarch64". We need to update "machinetype" and add "makefile-darwin.aarch64-x" to support building on these systems.

masinter commented 3 years ago

xquartz doesn't seem like it's being maintained. I tried loading MacPorts to get arm64 binaries for xorg-server but haven't yet succeeded (it still seems to have x86 binaries)

nbriggs commented 3 years ago

XQuartz is reported as working fine on Big Sur under the Rosetta2 x86 emulation. Are you having a problem with it?

On Nov 27, 2020, at 1:33 PM, Larry Masinter notifications@github.com wrote:

xquartz doesn't seem like it's being maintained. I tried loading MacPorts to get arm64 binaries for xorg-server but haven't yet succeeded (it still seems to have x86 binaries)

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/Interlisp/medley/issues/69#issuecomment-734994291, or unsubscribe https://github.com/notifications/unsubscribe-auth/AB6DAWI7TWJEJ4NQQYYGVSTSSALKRANCNFSM4UBVTNHQ.

masinter commented 3 years ago

it works fine but trying to makeright x for building maiko failes because the build wants the X11 client libraries in ARM64 (I think)

nbriggs commented 3 years ago

They should be linked as dynamic libraries, but perhaps macOS doesn't have any provision for an x86 library to be called from a native ARM64 program. That's too bad. I suspect the client library could be recompiled from the source on the XQuartz git repo.

-- Nick

On Nov 27, 2020, at 2:19 PM, Larry Masinter notifications@github.com wrote:

it works fine but trying to makeright x for building maiko failes because the build wants the X11 client libraries in ARM64 (I think)

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/Interlisp/medley/issues/69#issuecomment-735001558, or unsubscribe https://github.com/notifications/unsubscribe-auth/AB6DAWO3KYNQNTWGXUEW5WDSSAQX5ANCNFSM4UBVTNHQ.

masinter commented 3 years ago
larry@Mac-mini bin % ./makeright x
making so far for darwin on aarch64.
making with display x releasename darwin.aarch64-x ldename ldex
start making lde for darwin.aarch64-x.
clang -std=gnu89 -funsigned-char -fno-strict-aliasing -O1 -g  -DFSERROR -DNEW_STORAGE -DMACOSX -DOLD_CURSOR -DUSETERMIOS -DBYTESWAP -DFORKCOMM -DNOFORN -DLOGINT  -I/opt/X11/include -DXWINDOW -DNOPIXRECT -DXV11R4  -DRELEASE=351  -I../inc/ ../src/ldeboot.c ../src/unixfork.c \
        -L/usr/X11/lib -lX11 -lm -o ../darwin.aarch64/lde
ld: warning: ignoring file /usr/X11/lib/libX11.dylib, missing required architecture arm64 in file /usr/X11/lib/libX11.dylib (2 slices)
Undefined symbols for architecture arm64:
  "_XCloseDisplay", referenced from:
      _main in ldeboot-92f5e1.o
  "_XOpenDisplay", referenced from:
      _main in ldeboot-92f5e1.o
ld: symbol(s) not found for architecture arm64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make: *** [../darwin.aarch64/lde] Error 1
larry@Mac-mini bin % 
masinter commented 3 years ago
  1. uninstall XQuartz if you ever installed it.
  2. rm -f /opt/X11
  3. install MacPorts
  4. sudo port install xorg You might be able to get away with just "xorg-server"

I didn't close this because it's not in the documentation

masinter commented 3 years ago

If you go to xquartz.org and click on "Releases" you'll see a beta version that works on M1 Apple Mac native. The wiki and mac build instructions need update.