Zulip Chat Archive

Stream: general

Topic: Apple Silicon


Jason Rute (Oct 17 2020 at 10:46):

This might still be premature since it is another month or so until Apple will release its new Apple Silicon MacBooks using an ARM processor instead of an Intel processor. (I think the new OS is named Big Sur.) My question is simple: Will Lean 3 or 4 run on Apple Silicon Macs? From what I've read, the answer for other software seems to be complicated. (See here for the status of the most common homebrew formulas.) First, there is running natively vs. running in Rosetta which is something like an emulator for intel (x86_64) apps. Honestly, I'm mostly trowing out tech jargon without knowing what it means, especially what it means for Lean. It's even hard to know if VS Code (or Emacs) will be ready at launch time (but I think from Googling, they will be).

Kevin Buzzard (Oct 17 2020 at 10:49):

I've had lean running in a chrooted Ubuntu environment on a 2017 Android phone and it wouldn't surprise me if that had an ARM chip in, but I'm certainly no expert here

Mario Carneiro (Oct 17 2020 at 10:58):

I don't see any reason why not. Lean is written in C++ and there are C++ compilers for all the major ISAs and many ISAs no one cares about

Mario Carneiro (Oct 17 2020 at 10:59):

If the OS layer changes that might require more work, but switching from one supported ISA to another doesn't seem like a big problem

Gabriel Ebner (Oct 19 2020 at 07:40):

Lean 3 runs just fine on aarch64. I'm not invested in the Apple ecosystem so I don't know if "Apple silicon" is different.

Jason Rute (Oct 19 2020 at 11:58):

Ok. I think what I'm hearing is that if I (or someone else here) gets an Apple Silicon mac (rumored to be coming out in Nov 17), then if I compile from sources it should likely compile and run natively. And if not, it should be a relatively simple thing to support.

As for the elan binaries (which I assume are platform specific and for mac are currently for x86_64), they might work (maybe under Rosetta?) but we will have to see and compare the performance. If they don't work or there is a performance difference, then we can look into building a universal mac binary which supports both.

Mario Carneiro (Oct 19 2020 at 12:02):

I'm actually more worried about apple's signing conditions post-catalina. I don't think we have any signing setup, so I would assume that people have to go through some Gatekeeper (what a name!) workaround to be able to run lean today

Mario Carneiro (Oct 19 2020 at 12:03):

I don't really see a reason to ship fat binaries, they are basically two programs stapled together. The user only needs one of them

Kevin Lacker (Oct 19 2020 at 17:07):

you should be able to use software installed via homebrew without mucking around with signing, and homebrew plans on supporting apple silicon, so i would expect that to all work https://discourse.brew.sh/t/homebrew-and-apple-silicon/8837/2

Jason Rute (Oct 19 2020 at 17:10):

But Lean shouldn’t be installed via home brew, right? A new version comes out like event month. If elan is installed (and signed) via homebrew, will the elan installed lean binaries work?

Jason Rute (Nov 03 2020 at 11:57):

Just a note that the new line of macs will probably be announced next week and likely the Big Sur macOS with the code signing requirement Mario mentioned above will also be released soon. I'm mentioning because I'm considering buying a new mac (although I might wait for some reviews and discussion of what software works). Also, if anyone upgrades to Big Sur, it is not clear that Lean will work, because it's not signed. Is that what I'm understanding from the above discussion?

Alex Peattie (Nov 03 2020 at 12:03):

My understanding is that the new Macs will still run unsigned executables compiled for Intel processors, but won't run unsigned software compiled for Apple Silicon processors. (See the first addendum here)

Johan Commelin (Nov 13 2020 at 10:32):

To anyone interested in the concept Big Sur: https://sneak.berlin/20201112/your-computer-isnt-yours/

Patrick Massot (Nov 13 2020 at 11:09):

This is all very consistent with everything Apple has ever done. I don't see how one can have used MacOS in the past and pretend to care about this blogpost.

Filippo A. E. Nuccio (Nov 13 2020 at 11:10):

Well, apparently the author himself combines both options: "Now, it’s been possible up until today to block this sort of stuff on your Mac using a program called Little Snitch (really, the only thing keeping me using macOS at this point)."

Patrick Massot (Nov 13 2020 at 11:11):

Yes, this is why I'm puzzled.

Patrick Massot (Nov 13 2020 at 11:12):

But the psychology of MacOS users has always been mysterious to me. I even know someone who is a genuine anti-capitalist activist and uses a Mac.

Filippo A. E. Nuccio (Nov 13 2020 at 11:12):

I agree that it is very puzzling.

Riccardo Brasca (Nov 13 2020 at 11:32):

Yes, it's very strange... Filippo and Patrick, I am sure you too have colleagues that absolutely refuse to install stopcovid on their phone but are very happy about their mac... (my point is not to discuss pro and cons of stopcovid, just that these two different attitudes are very strange to me)

Filippo A. E. Nuccio (Nov 13 2020 at 11:33):

Indeed! Never thought about it.

Jasmin Blanchette (Nov 13 2020 at 13:57):

Patrick Massot said:

But the psychology of MacOS users has always been mysterious to me.

We're lazy people with an eye for design.

Adam Topaz (Nov 13 2020 at 15:53):

Johan Commelin said:

To anyone interested in the concept Big Sur: https://sneak.berlin/20201112/your-computer-isnt-yours/

Can lean run on a raspberry pi?

Johan Commelin (Nov 13 2020 at 15:54):

Yes, but will it be fast enough?

Adam Topaz (Nov 13 2020 at 15:55):

Maybe the new raspberry pi 4? (I don't have one, just wondering)

Adam Topaz (Nov 13 2020 at 15:55):

I mean, the raspberry pi 4 is supposed to be just as fast as the old thinkpad X220 I have somewhere in my desk drawer

Adam Topaz (Nov 13 2020 at 15:59):

I guess you won't even be able to install linux on the macs with the apple arm chips, right?

Adam Topaz (Nov 13 2020 at 16:00):

Man, that article is depressing. I thought apple was supposed to be the "pro privacy" company. What happened?!

James Arthur (Nov 13 2020 at 16:09):

Adam Topaz said:

Johan Commelin said:

To anyone interested in the concept Big Sur: https://sneak.berlin/20201112/your-computer-isnt-yours/

Can lean run on a raspberry pi?

Slowly, I tried this the other day. It's possible, but in comparison to my i7 laptop.

Mario Carneiro (Nov 13 2020 at 16:10):

Adam Topaz said:

Man, that article is depressing. I thought apple was supposed to be the "pro privacy" company. What happened?!

What? I've never seen anything from Apple that was pro-privacy

Adam Topaz (Nov 13 2020 at 16:11):

Well, at least ios is supposed to be more "private" than android, no?

Adam Topaz (Nov 13 2020 at 16:11):

Apple is supposedly anonymizing all the tracking data they collect on you, unlike google

Adam Topaz (Nov 13 2020 at 16:14):

But @Mario Carneiro , I agree, being more privacy conscious than google isn't saying too much.

Mario Carneiro (Nov 13 2020 at 16:15):

lol that's a funny way to spin "privacy"

Anne Baanen (Nov 13 2020 at 16:57):

Let's not forget that Google's most important business model is tracking user data, so promoting "privacy" is a good way for Apple to deny resources to their competition.

Adam Topaz (Nov 13 2020 at 23:21):

https://news.ycombinator.com/item?id=25086845

Chris B (Nov 14 2020 at 00:00):

Incredible. I hear system76 is making pretty good laptops nowadays, I might roll the dice when my macbook dies.

Adam Topaz (Nov 14 2020 at 00:10):

I have a not too fancy ThinkPad, running linux with perfect compatibility

Adam Topaz (Nov 14 2020 at 00:11):

But I also hear good things about system76

Kevin Lacker (Nov 14 2020 at 00:17):

i recommend the huawei matebook x pro, works great with ubuntu with a standard dual boot install process, no custom anything required

Adam Topaz (Nov 14 2020 at 00:25):

Is that the laptop with the pop-up webcam in the keyboard?

Reid Barton (Nov 14 2020 at 00:28):

I have this laptop too and yes

Julian Berman (Nov 19 2020 at 23:10):

Well, I'm now on ARM macOS. Do I win the lucky first prize to attempt to compile lean on ARM

Kevin Lacker (Nov 19 2020 at 23:14):

you win the prize once you paste a screen shot of either the error message you received, or a success message, into chat

Julian Berman (Nov 19 2020 at 23:17):

Hopefully the latter. (First need to install a bunch of deps.)

Jason Rute (Nov 19 2020 at 23:56):

Actually, I'd love if you try both with manually compiling natively AND using the usual MacOS install instructions via Rosetta 2 (elan+vscode+leanproject). My understanding is that you have to use either all Rosetta or all native apps in a tool chain so they play well together. It seems to me that if you did the Rosetta 2 install then everything would play together (python, git, vs code, and lean/elan) and lean would be sufficiently fast. Now, I don't have such a Mac, so you can tell me if I am wrong on that understanding and it is possible to mix and match.

Jason Rute (Nov 19 2020 at 23:56):

If you do the native install, is vs code (or emacs) ready for native apple silicon yet? Also if you get both a native and Rosetta install, I'd love to see the differences in times it takes to compile Mathlib.

Jason Rute (Nov 19 2020 at 23:56):

Of course, feel free to ignore all my requests, but we should think about how to handle the mac os instructions for users who are not as tech savvy as you.

Jason Rute (Nov 20 2020 at 00:01):

Also you probably know this already, but here is one way to install and run x86 apps in Rosetta 2.

Jason Rute (Nov 20 2020 at 00:16):

Also, this is probably the most insightful post I've found yet on data science tools (conda, tensorflow, etc) for Apple Silicon Macs. Unfortunately, the follow up article with the installation instructions got deleted. Hopefully he reposts it. I think the main point is that most everything works fine or more than fine under Rosetta 2 and many some things are ready for native while many things are quickly becoming ready. Obviously, this isn't about Lean, but might be useful to you.

Julian Berman (Nov 20 2020 at 00:33):

Thanks. I went (first) for the route of pain, as I tend to, so I've set up only a native-compiling homebrew to start. Which... lean works with! After brew install coreutils gmp and cmake -DCMAKE_PREFIX_PATH=/opt/homebrew/ ../../src in a lean repo checkout, I've got a working shell/lean which I just confirmed is at least functional enough to begin compiling my toy project, will give an all green when leanpkg test passes on it after it finishes compiling mathlib, since I haven't yet set up Python enough to run leanproject. But yeah seems promising so far.

Julian Berman (Nov 20 2020 at 00:37):

(OK yeah leanpkg test passes)

Julian Berman (Nov 20 2020 at 00:38):

That was quite a speedy mathlib compilation too though I just jumped 8 years forward to the future I guess, I was previously compiling on a 2012 MacBook Air.

Yakov Pechersky (Nov 20 2020 at 01:11):

It's going to turn out that really the M1 chip was optimized for M(athlib)

Jason Rute (Nov 20 2020 at 12:27):

@Julian Berman Thank you for posting these updates. I’m sure it will help whomever comes along next. As for vs code, are you going to run the current x86 version or the native insider build? If the current x86 version (through Rosetta 2), does it interact with a native Lean server without issue?

Jason Rute (Nov 20 2020 at 12:34):

Or did you compile Lean as a universal app? If so, would it then run fine under both native and x86 vs code? There are a lot of things I’m still trying to understand here.

Julian Berman (Nov 20 2020 at 14:33):

Of course! Happy to keep poking at things and sharing some results. I'll give vscode a shot after some coffee.

Julian Berman (Nov 20 2020 at 14:34):

I did not compile a universal app, just a pure ARM one.

Julian Berman (Nov 20 2020 at 14:37):

(I also have to finish attempting to compile PyPy today, which will likely be a 5-6 hour endeavor considering I don't have an ARM thing to bootstrap it with, so I may be splitting my attention/resources with that but yeah obviously happy to try Lean things that'd be helpful to report on :)

Julian Berman (Nov 20 2020 at 15:09):

OK yup vscode is working too (communicating with my arm64 lean)

Julian Berman (Nov 20 2020 at 15:11):

(Using a vscode gotten via brew cask install visual-studio-code, which looks like it's just the stable version from the vscode site)

Kevin Lacker (Dec 03 2020 at 20:51):

how is M1 performance looking?

Julian Berman (Dec 03 2020 at 21:20):

I haven't tested anything scientific. I'm happy to if you have anything you think is worthwhile.

Julian Berman (Dec 03 2020 at 21:21):

I guess I could say compile lean for rosetta and benchmark how long it takes to build mathlib on each

Julian Berman (Dec 03 2020 at 21:21):

Anecdotally I'd say I'm still quite happy overall.

Sorawee Porncharoenwase (Dec 09 2020 at 07:48):

I just got it working too! Thanks @Julian Berman for the "cmake -DCMAKE_PREFIX_PATH=/opt/homebrew/ ../../src" instruction. I would never have figured that out on my own.

Julian Berman (Dec 09 2020 at 13:26):

Nice! Glad to hear

Brandon Brown (Dec 09 2020 at 16:21):

Kevin Lacker said:

how is M1 performance looking?

I just got my Macbook Air M1 and I haven't yet attempted to use Lean on it yet but in general I'm very happy with it. All the intel-based apps work very smoothly through the Rosetta translation layer and noticeably faster than my previous intel Macbook Air.

Sorawee Porncharoenwase (Jan 22 2021 at 21:36):

FWIW, I attempted to upgrade Lean today, and somehow I now get an error ld: library not found for -lc++. Apparently I have to execute export LIBRARY_PATH="$LIBRARY_PATH:/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/lib" before calling cmake.

Bryan Gin-ge Chen (Feb 23 2021 at 02:39):

If someone wants to help add an arm64 section to our compile and release scripts, that'd be greatly appreciated!

Julian Berman (Feb 23 2021 at 03:11):

There's no M1 support in GitHub actions yet

Julian Berman (Feb 23 2021 at 03:11):

Which is https://github.com/actions/virtual-environments/issues/2187

Julian Berman (Feb 23 2021 at 03:12):

Unless you mean Linux ARM64

Bryan Gin-ge Chen (Feb 23 2021 at 03:14):

Ah, OK. It's not possible to cross-compile for M1 Macs either then?

Bryan Gin-ge Chen (Feb 23 2021 at 03:15):

I guess we wouldn't be able to test the binary in CI, so maybe we should just wait.

Jason Rute (Oct 15 2021 at 12:46):

Apple is going to come out with the M1X MacBook Pros on Monday (or so it is widely believed). After that, almost all new Macs will be on the M-series/Apple Silicon/arm processors. I think as of right now, the current Apple Silicon instructions are basically "install from source and good luck" :smile:. I understand this has to do with technical issues with GitHub actions mentioned above (which I don't claim to understand). There is now a very detailed set of instructions in #new members > M1 Macs: Installing the Lean 3 toolchain. I wonder what incremental progress can be made here to make this easier for M1 and M1X users. I imaging a few lean users like me plan to buy an M1X MacBook Pro in the coming month. For example, if those instructions in #new members > M1 Macs: Installing the Lean 3 toolchain are solid, then we could put them on the website, no?

Gabriel Ebner (Oct 15 2021 at 12:57):

I think the proper solution would be to add ARM releases. Lean builds just fine on ARM, but github actions doesn't have free ARM build bots.

Gabriel Ebner (Oct 15 2021 at 12:58):

This would also be useful to our subcommunity of Raspberry Pi users.

Jason Rute (Oct 15 2021 at 13:01):

I've never quite understood this. Would an arm release (that say works on a Raspberry Pi) also work on an M1 mac?

Gabriel Ebner (Oct 15 2021 at 13:03):

There's Linux on ARM and then there's MacOS on ARM, the binaries are just as compatible as Linux/MacOS binaries are on AMD64. :smile: So no, they are not interchangeable. But it's the same kind of problem. And a problem that I think we should solve.

Gabriel Ebner (Oct 15 2021 at 13:04):

Does anybody know what the commercially available options are for build VMs on ARM? I know Amazon has Linux VMs. Can we rent a Mac build VM somewhere?

Matthew Ballard (Oct 15 2021 at 13:16):

In the meantime, I just ran through install instructions on M1 with Big Sur with elan v1.1.3-pre and can confirm I get the lean, leanpkg, and leanchecker installed.

Jason Rute (Oct 15 2021 at 13:20):

Another silly question: As for renting a "Mac build VM", do you need to rent an Apple Silicon mac in the cloud (e.g. a physical mac mini), or are there VMs for MacOS which run on (non-mac) ARM machines. (I for some reason thought it was the former, although I think I saw it is theoretically possible to build an Apple Silicon binary from an intel mac if it is running the newest MacOS.)

Julian Berman (Oct 15 2021 at 13:30):

MacStadium has them: https://www.macstadium.com/mac-mini -- but IIRC from having this discussion a few months ago with a different project, you can rent them, but the $$ might be pretty silly relative to buying one and putting it somewhere unless it's super mission critical that it be up 24/7, which for a buildbot just for releases may not be the case.

Julian Berman (Oct 15 2021 at 13:32):

Jason Rute said:

Another silly question: As for renting a "Mac build VM", do you need to rent an Apple Silicon mac in the cloud (e.g. a physical mac mini), or are there VMs for MacOS which run on (non-mac) ARM machines. (I for some reason thought it was the former, although I think I saw it is theoretically possible to build an Apple Silicon binary from an intel mac if it is running the newest MacOS.)

there aren't for non-mac, I think (but haven't looked recently) it's still against the Apple TOS to run macOS on non-mac hardware, so this tends to make commercial people scared.

Matthew Ballard (Oct 15 2021 at 13:32):

I think AWS has macos vms

Julian Berman (Oct 15 2021 at 13:32):

They're intel macs AFAIK: https://aws.amazon.com/ec2/instance-types/

Matthew Ballard (Oct 15 2021 at 13:32):

Ah shoot

Jason Rute (Oct 15 2021 at 13:33):

You can currently buy a refurbished 8GB Mac mini from Apple for $750. It might even be cheaper next week.

Julian Berman (Oct 15 2021 at 13:34):

Cheaper than that I think, the baseline one is $649 new

Julian Berman (Oct 15 2021 at 13:34):

Oh no that's the education store, the regular one for me says $699 -- https://www.apple.com/shop/buy-mac/mac-mini/apple-m1-chip-with-8-core-cpu-and-8-core-gpu-256gb -- which yeah if someone buys and runs in their basement obviously can be connected to GHA

Matthew Ballard (Oct 15 2021 at 13:35):

I think you can find someone who can purchase through that here

Julian Berman (Oct 15 2021 at 13:36):

Yeah, I'm sure most of us hah

Matthew Ballard (Oct 15 2021 at 13:37):

I also wonder if any institution has M1 hardware for general computing use?

Julian Berman (Oct 15 2021 at 13:40):

That might be a decent idea. Also it looks like MacStadium has an open source section: https://www.macstadium.com/opensource/members

Julian Berman (Oct 15 2021 at 13:40):

Which seems to include Haskell GHC and some other academic-y things

Julian Berman (Oct 15 2021 at 13:41):

Seems like it'd be worth a shot to ask them for access for free under that for Lean.

Gabriel Ebner (Oct 15 2021 at 14:18):

$130/month?!? That's quite steep, and buying it outright is cheaper after only a year or so. The Amazon VMs are $15/mo for comparison.

Gabriel Ebner (Oct 15 2021 at 14:21):

I think we could easily rent an ARM Linux VM from Amazon and hook it up as a runner for the lean/lean4 repos. @Sebastian Ullrich I believe you experimented with cross-compilation at some point. Did that work out, or should we get native build machines?

Gabriel Ebner (Oct 15 2021 at 14:22):

I have no idea what the best approach for the mac builds is.

Sebastian Ullrich (Oct 15 2021 at 14:27):

I will give it another try after landing the self-contained Zig/LLVM build, which is basically the same problem. I might take some dependencies from ARM Nixpkgs.

Julian Berman (Oct 15 2021 at 14:28):

Do you want me to look into contacting the open source part there? I'm happy to do so and CC one of you.

Gabriel Ebner (Oct 15 2021 at 14:29):

I'll defer to Sebastian if cross-compilation is possible instead, but if it isn't then please go ahead.

Gabriel Ebner (Oct 18 2021 at 13:49):

@Sebastian Ullrich What is your preferred way to support arm releases in elan? Elan currently appends only -linux.tar.gz, but not any architecture information. Should this be -linux-aarch64.tar.gz for arm and -linux.tar.gz for amd64?

Sebastian Ullrich (Oct 18 2021 at 13:50):

I think that makes the most sense, yes

Gabriel Ebner (Oct 20 2021 at 09:41):

Lean 3.34 now comes with Linux/aarch64 builds (cross-compiled on github actions). These work out of the box with elan (which also has a Linux/aarch64 release now).

Gabriel Ebner (Oct 20 2021 at 09:43):

The situation with Darwin/aarch64 is a bit more hairy because we can't cross compile them so we need an actual aarch64 machine. Of course, the github actions runner doesn't work on aarch64 macs yet: https://github.com/actions/runner/issues/805 But the issues describes some workarounds that we could use if we had such a machine.

Gabriel Ebner (Oct 20 2021 at 09:45):

I've tried the "cross compile on github actions" approach for Lean 4 as well. The tests pass, but it takes 90 minutes to build: https://github.com/gebner/lean4/runs/3941840303?check_suite_focus=true
(It's so slow because it's running the stage0 compiler is compiled for aaarch64 and running via CPU emulation. Otherwise the compiled Lean executable wouldn't recognize unicode syntax like ≤...)

Gabriel Ebner (Oct 20 2021 at 09:46):

So for Lean 4 we either need to set up a self-hosted runner for Linux/aarch64 (no technical issues) or get the zig cross-compilation PR working (and hope that it is faster).

Sebastian Ullrich (Oct 20 2021 at 10:42):

Gabriel Ebner said:

Otherwise the compiled Lean executable wouldn't recognize unicode syntax like ≤...

Wait, why is that?

Sebastian Ullrich (Oct 20 2021 at 10:43):

Are the .oleans different after all?

Gabriel Ebner (Oct 20 2021 at 10:45):

I have no idea. You can look at the build here: https://github.com/gebner/lean4/actions/runs/1359921109

Sebastian Ullrich (Oct 20 2021 at 10:52):

They do differ in a handful of bytes, very interesting

Sebastian Ullrich (Oct 20 2021 at 10:52):

Now how am I supposed to debug that :laughter_tears:

Sebastian Ullrich (Oct 20 2021 at 10:54):

@Gabriel Ebner Could you try running the working binary with the other olean files just to make sure?

Gabriel Ebner (Oct 20 2021 at 11:00):

All tests pass so it should work (except for tests involving leanc, which isn't set up for cross compilation). I've just tested it on an aarch64 vm, and the 3941840303 build compiles a working lake binary.

Gabriel Ebner (Oct 20 2021 at 12:17):

Oh sorry, I misunderstood you. I've now copied the oleans from the bad build the good build, and got this:

build@ip-172-30-0-147:~/lake$ ./build.sh
lean  -o "build/lib/Lake/Async.olean" --c="build/ir/Lake/Async.c.tmp" Lake/Async.lean
Lake/Async.lean:116:7: error: elaboration function for term__»' has not been implemented

Sebastian Ullrich (Oct 20 2021 at 13:40):

Thanks, that narrows it down at the very least

Gabriel Ebner (Oct 20 2021 at 17:17):

I think I have solved (part of) the puzzle.

Gabriel Ebner (Oct 20 2021 at 17:18):

The String.hash function gives different results on aarch64 and amd64.

Gabriel Ebner (Oct 20 2021 at 17:18):

#eval "α".hash
-- 1281896824 on amd64
-- 3220031286 on aarch64

Gabriel Ebner (Oct 20 2021 at 17:19):

Gabriel Ebner (Oct 20 2021 at 17:20):

This was pretty obvious once I wrote an olean parser:

 diff -u (~/oleanparser/build/bin/oleanparser good/lib/lean/Init/Classical.olean | psub) (~/oleanparser/build/bin/oleanparser bad/lib/lean/Init/Classical.olean | psub)
--- /tmp/.psub.UC8YpPL3fz       2021-10-20 19:12:41.126207464 +0200
+++ /tmp/.psub.NKZ5f7HRrb       2021-10-20 19:12:41.148207390 +0200
@@ -554,7 +554,7 @@
 let x554 := Obj.constructor 1 #[x553, "proof_1"] [97, 226, 97, 203, 47, 251, 113, 117]
 let x555 := Obj.constructor 1 #[0, "u_1"] [237, 16, 194, 56, 135, 176, 85, 203]
 let x556 := Obj.constructor 1 #[x555, 0] []
-let x557 := Obj.constructor 1 #[0, "α"] [59, 122, 173, 22, 213, 44, 93, 185]
+let x557 := Obj.constructor 1 #[0, "α"] [191, 78, 70, 42, 51, 137, 215, 74]
 let x558 := Obj.constructor 4 #[x555] [157, 7, 234, 105, 2, 0, 0, 0]
 let x559 := Obj.constructor 3 #[x558] [25, 15, 82, 84, 8, 0, 0, 0]
 let x560 := Obj.constructor 1 #[0, "p"] [185, 187, 25, 190, 51, 234, 3, 115]
@@ -1476,7 +1476,7 @@
 let x1476 := Obj.constructor 5 #[x43, x1381] [36, 111, 226, 248, 0, 2, 0, 0]
 let x1477 := Obj.constructor 5 #[x1476, x924] [19, 101, 95, 177, 0, 3, 10, 0]
 let x1478 := Obj.constructor 5 #[x1477, x802] [110, 161, 111, 244, 0, 4, 10, 0]
-let x1479 := Obj.constructor 1 #[0, "h₀"] [249, 94, 105, 59, 215, 135, 180, 130]
+let x1479 := Obj.constructor 1 #[0, "h₀"] [149, 227, 157, 165, 5, 11, 91, 222]
 let x1480 := Obj.constructor 5 #[x1443, x32] [163, 255, 221, 250, 0, 1, 12, 0]
 let x1481 := Obj.constructor 6 #[x18, x567, x1480] [48, 151, 219, 119, 0, 2, 11, 0]
 let x1482 := Obj.constructor 5 #[x1403, x1481] [45, 65, 72, 178, 0, 3, 11, 0]
@@ -3420,7 +3420,7 @@
 let x3420 := Obj.constructor 0 #[x3419, 0, x484] []
 let x3421 := Obj.constructor 0 #[x3420, x333, 0] [0, 0, 0, 0, 0, 0, 0, 0]
 let x3422 := Obj.constructor 1 #[x3421] []
-let x3423 := Obj.constructor 1 #[0, "β"] [57, 91, 110, 179, 207, 81, 176, 247]
+let x3423 := Obj.constructor 1 #[0, "β"] [17, 104, 126, 98, 217, 137, 147, 75]
 let x3424 := Obj.constructor 2 #[x565, 876] [83, 146, 246, 209, 131, 147, 125, 157]
 let x3425 := Obj.constructor 7 #[x3424, x32, x675] [255, 14, 17, 220, 8, 1, 1, 0]
 let x3426 := Obj.constructor 1 #[0, "r"] [151, 224, 143, 155, 147, 185, 82, 85]

Gabriel Ebner (Oct 20 2021 at 19:01):

Apparently this was the only issue with stage0 as a cross-compiler. Is it ok if I make PR? @Sebastian Ullrich

Sebastian Ullrich (Oct 20 2021 at 19:02):

OMG, please do

Sebastian Ullrich (Oct 20 2021 at 19:02):

The parser sounds amazing

Sebastian Ullrich (Oct 22 2021 at 09:01):

Gabriel Ebner said:

Sebastian Ullrich What is your preferred way to support arm releases in elan? Elan currently appends only -linux.tar.gz, but not any architecture information. Should this be -linux-aarch64.tar.gz for arm and -linux.tar.gz for amd64?

For the future, we could avoid these issues by enforcing an elan self update before attempting to download a toolchain.

Gabriel Ebner (Oct 22 2021 at 10:01):

This won't work if you install elan via homebrew or nix.

Johan Commelin (Oct 22 2021 at 10:04):

Maybe it can output a warning whenever there is a new (major) release available?

Johan Commelin (Oct 22 2021 at 10:04):

Then people know that they should update their package


Last updated: Dec 20 2023 at 11:08 UTC