## Stream: new members

### Topic: Installing mathlib

#### Jasmin Blanchette (Apr 05 2019 at 07:34):

Johannes H. helped me install mathlib on one of my machines, but now I can't remember what he did and I need to do it on two more machines.

The instructions at

https://github.com/leanprover-community/mathlib/blob/master/docs/elan.md


give two options, but neither "start a new package" nor "work on existing package" seems to convey what I want to do, which is simply to install mathlib so that I can use it from now on in any .lean files of mine (even if they don't themselves live in any packages). Any help or pointers would be appreciated.

#### Johan Commelin (Apr 05 2019 at 07:35):

Turn your home directory into a Lean package? [/joke]

#### Patrick Massot (Apr 05 2019 at 07:35):

There isn't much point in having Lean files that are not part of a project

#### Patrick Massot (Apr 05 2019 at 07:36):

But you can do it if you insist

#### Jasmin Blanchette (Apr 05 2019 at 07:36):

I can create a project.

#### Jasmin Blanchette (Apr 05 2019 at 07:36):

It's just that I didn't remember that Johannes did it for the other machine -- but maybe he did.

#### Patrick Massot (Apr 05 2019 at 07:40):

Assuming you installed elan, the next step is to install mathlib helper script:

curl https://raw.githubusercontent.com/leanprover-community/mathlib/master/scripts/remote-install-update-mathlib.sh -sSf | sh


Then, in order to create a new project depending on mathlib:

leanpkg new test
cd test
leanpkg add https://github.com/leanprover-community/mathlib
update-mathlib


#### Patrick Massot (Apr 05 2019 at 07:41):

this will create a new directory test containing a compiled copy of mathlib ready for use

#### Patrick Massot (Apr 05 2019 at 07:41):

inside test is src where you'll put your Lean code

#### Patrick Massot (Apr 05 2019 at 07:42):

I really need to update documentation. My teaching will be mostly over in three weeks, then I'll write a couple of late referee reports and then documentation will be wonderful...

#### Johan Commelin (Apr 05 2019 at 07:43):

Does leanpkg default to lean version 3.4.2 nowadays?

#### Johan Commelin (Apr 05 2019 at 07:44):

If not, you need to edit leanpkg.toml in test/ and fix the version. Otherwise update-mathlib doesn't work, which means you have to compile mathlib yourself.

#### Patrick Massot (Apr 05 2019 at 07:45):

Johan, please don't make things sound complicated

#### Patrick Massot (Apr 05 2019 at 07:45):

If Jasmin installed elan with default answer to all questions then he'll be fine

#### Jasmin Blanchette (Apr 05 2019 at 07:47):

I've used elan with default answers.

#### Johan Commelin (Apr 05 2019 at 07:47):

Last week things weren't fine when I helped Fabian

#### Jasmin Blanchette (Apr 05 2019 at 07:47):

I just checked on my laptop which Johannes installed and mathlib was installed as a component inside ~/.lean.

#### Jasmin Blanchette (Apr 05 2019 at 07:48):

I'll try to mimic that on the other machines.

#### Patrick Massot (Apr 05 2019 at 07:48):

That .lean is indeed used for lean files outside projects

#### Jasmin Blanchette (Apr 05 2019 at 07:48):

Thanks for your help and suggestions! If I can't sort it out, I'll come back or bug Rob.

#### Patrick Massot (Apr 05 2019 at 07:49):

But I don't think that update-mathlib, the script that fetches compiled mathlib, cares about such rogue Lean files, so it probably won't help you

#### Jasmin Blanchette (Apr 05 2019 at 07:49):

Hm... now I'm confused

#### Jasmin Blanchette (Apr 05 2019 at 07:49):

I think I'll ask Johannes.

#### Patrick Massot (Apr 05 2019 at 07:49):

Jasmin, it would really help us if you could try to the fives lines howto I wrote above.

#### Patrick Massot (Apr 05 2019 at 07:50):

If those five lines (6 if you include the line installing elan) are not enough then we need to know it

OK let me try.

#### Jasmin Blanchette (Apr 05 2019 at 07:51):

You mean 1+ 4 lines, right?

yes

#### Jasmin Blanchette (Apr 05 2019 at 07:54):

It says: -bash: update-mathlib: command not found

#### Jasmin Blanchette (Apr 05 2019 at 07:54):

but what I don't like about it is that it requires creating a package

#### Jasmin Blanchette (Apr 05 2019 at 07:55):

with Johannes's approach it didn't

#### Jasmin Blanchette (Apr 05 2019 at 07:55):

which means I could freely use mathlib anywhere no questions asked

#### Jasmin Blanchette (Apr 05 2019 at 07:55):

and I'd like my laptops to be as similar as possible to each other

#### Jasmin Blanchette (Apr 05 2019 at 07:56):

so I'll try to reproduce what Jo did, I think -- it seems to correspond to neither of the two options listed online.

#### Patrick Massot (Apr 05 2019 at 07:58):

Did you source .profile after installing update-mathlib?

You can also indicate the full path $HOME/.mathlib/bin/update-mathlib #### Jasmin Blanchette (Apr 05 2019 at 07:59): I only blindly followed the instructions above. But OK sure I can try that. #### Patrick Massot (Apr 05 2019 at 08:00): I think the first line I wrote should have told you to do update your path by sourcing .profile #### Patrick Massot (Apr 05 2019 at 08:01): You should have seen the effect of https://github.com/leanprover-community/mathlib/blob/master/scripts/remote-install-update-mathlib.sh#L14-L16 #### Jasmin Blanchette (Apr 05 2019 at 08:01): Sorry. Now I simply copied the entire .lean from one laptop to another and things work. #### Jasmin Blanchette (Apr 05 2019 at 08:02): It seems like .lean gets read automatically or something. #### Patrick Massot (Apr 05 2019 at 08:03): only if you are outside of all projects #### Jasmin Blanchette (Apr 05 2019 at 08:03): I don't want us to use projects in the course #### Jasmin Blanchette (Apr 05 2019 at 08:04): (I'm doing all of this for the Logical Verification course, which we started teaching in Lean last year.) #### Patrick Massot (Apr 05 2019 at 08:05): Won't you distribute Lean files to complete in this course? #### Jasmin Blanchette (Apr 05 2019 at 08:31): Yes, it will probably make sense to bundle them in a package #### Jasmin Blanchette (Apr 05 2019 at 08:31): but that's in November #### Jasmin Blanchette (Apr 05 2019 at 08:32): and students will have to create homework etc. #### Jasmin Blanchette (Apr 05 2019 at 08:32): I presume they'll be happier if they can install mathlib only once in .lean than in each package or something #### Jasmin Blanchette (Apr 05 2019 at 08:33): regardless, some people who are more Lean savvy will help me in due time with that (Alex B., Rob L.) -- pity Johannes H. is gone #### Jasmin Blanchette (Apr 05 2019 at 08:34): now, next problem: how come Isabelle doesn't build on two of my machines... ;) #### Johannes Hölzl (Apr 05 2019 at 17:45): didn't we use leanpkg install ...? #### Jan-David Salchow (Apr 15 2019 at 20:12): I just got my hands on a lean free mac, so I though I'd try if the install script works #### Jan-David Salchow (Apr 15 2019 at 20:12): The first step doesn't #### Jan-David Salchow (Apr 15 2019 at 20:12): there is brew on the computer, but no python #### Jan-David Salchow (Apr 15 2019 at 20:13): So read should ask me if I want to install python3 #### Kevin Buzzard (Apr 15 2019 at 20:13): I tried installing Lean on a mac last week and the update-mathlib line didn't do anything either. In the end I just found the script and copy-pasted it. #### Jan-David Salchow (Apr 15 2019 at 20:14): Instead I get Jan-David.Salchow@C02Y13THJGH6:~:$ curl https://raw.githubusercontent.com/leanprover-community/mathlib/master/scripts/remote-install-update-mathlib.sh -sSf | sh
Installing python dependencies (at user level)
/usr/local/bin/brew

Jan-David.Salchow@C02Y13THJGH6:~:$ #### Patrick Massot (Apr 15 2019 at 20:15): I think those things were tested only on Debian-like systems. It would be very helpful to make them work on a fresh mac #### Jan-David Salchow (Apr 15 2019 at 20:16): That's my goal #### Jan-David Salchow (Apr 15 2019 at 20:16): Any idea why read doesn't work when piped through sh? #### Kevin Buzzard (Apr 15 2019 at 20:16): The update-mathlib thing: you are experiencing exactly what I experienced. #### Kevin Buzzard (Apr 15 2019 at 20:17): I was at AITP and random people were asking me how to install Lean and this is what I was faced with :-( #### Kevin Buzzard (Apr 15 2019 at 20:17): I had much better luck just cutting and pasting https://github.com/leanprover-community/mathlib/blob/master/scripts/remote-install-update-mathlib.sh into a file and running that. #### Kevin Buzzard (Apr 15 2019 at 20:18): Another thing that was awful: I made a new project with mathlib as a dependency, finally installed update-mathlib, and then it wouldn't work because it couldn't find olean files for that particular commit :-( #### Kevin Buzzard (Apr 15 2019 at 20:19): In the end I just got out my own laptop, looked at a commit which I knew update-mathlib would work for, memorised the first few characters of the commit hash, went back to their machine, cd'ed to _target/deps/mathlib, looked at the output of git log, found the commit, switched to that commit, and then manually edited the leanpkg.toml file to have that commit, and then finally it worked. Looked pretty slick ;-) not #### Jan-David Salchow (Apr 15 2019 at 20:44): read -p "update-mathlib needs to install python3 and pip3. Proceed?" -n 1 -r </dev/tty solves that problem for me, the </dev/tty apparently tells read to use the terminal as an input #### Jan-David Salchow (Apr 15 2019 at 20:49): Ahh, https://raw.githubusercontent.com/Kha/elan/master/elan-init.sh also uses </dev/tty #### Jan-David Salchow (Apr 15 2019 at 21:24): I've PRed this tiny change as #940 and tested it on my computer. I'm pretty sure it doesn't break anything that was working beforehand ;) #### Kevin Buzzard (Apr 15 2019 at 21:24): Thanks! #### Kevin Buzzard (Apr 16 2019 at 10:37): $ update-mathlib
File "/home/buzzard/.mathlib/bin/update-mathlib", line 23
os.system(f"curl {mathlib_url}/{branch}/{installer_path} -sSf | sh")
^
SyntaxError: invalid syntax
$ aargh [on Ubuntu 16.04] #### Kevin Buzzard (Apr 16 2019 at 10:59): Can I fix this easily? I'm out all day with a laptop and I don't fancy hammering my battery to compile mathlib. #### Kevin Buzzard (Apr 16 2019 at 11:24): Oh ok I figured how it all worked. I switched to a mathlib git commit from a couple of weeks ago and then ran the installer again which I found in scripts #### Jan-David Salchow (Apr 17 2019 at 18:37): I just wrote an explanation on why the fix is necessary, see https://github.com/leanprover-community/mathlib/pull/940#issuecomment-484211046 #### Jan-David Salchow (Apr 17 2019 at 18:38): This makes me doubt that the fix is only required for Macs #### Jan-David Salchow (Apr 17 2019 at 18:39): I think all three reads should be broken, when executed as suggested above #### Jan-David Salchow (Apr 17 2019 at 18:42): Has anybody tried this on Debian without python installed? #### Ashwin Iyengar (Apr 18 2020 at 23:32): Hi! I'm trying to get started on macOS, and I followed the installation directions exactly as written on the github. Lean seems to be working fine in VSCode, but unfortunately after creating a new project with leanproject, running import topology.basic #check topological_space  (or any basic import really) results in loads of strange errors, none of which I understand at all. For instance it's complaining about syntax errors in tactic/alias.lean, and also docstrings starting with /-! or /-- result in lots of errors while docstrings starting with /- don't give any errors. Are these kinds of things known problems, or have I just screwed something up? #### Kevin Buzzard (Apr 18 2020 at 23:34): Probably the latter. Did you "open folder" with VS Code? I never remember what the option looks like in a mac. #### Kevin Buzzard (Apr 18 2020 at 23:34): If you have a terminal, then change directory to the root directory of your project and type code . to open VS Code -- works in linux, not sure about mac. #### Kevin Buzzard (Apr 18 2020 at 23:35): But it's really important that you "open folder" and don't just open a file in your workspace directly with VS Code. #### Ashwin Iyengar (Apr 18 2020 at 23:35): Yeah I ran "leanproject new test-project" and then "code test-project" and opened the whole folder #### Kevin Buzzard (Apr 18 2020 at 23:36): Can you post the errors or send a screenshot? #### Kevin Buzzard (Apr 18 2020 at 23:37): Output of leanproject new test-project should be something like $ leanproject new test-project
> mkdir -p test-project
> cd test-project
> mkdir src
> git init -q
> git checkout -b lean-3.4.2
Switched to a new branch 'lean-3.4.2'
configuring test-project 0.1
Adding mathlib
Looking for local mathlib oleans
Looking for remote mathlib oleans
Trying to download https://oleanstorage.azureedge.net/mathlib/6b095759061cbb736fdd7aaed8ca603a2e657b3e.tar.gz to /home/buzzard/.mathlib/6b095759061cbb736fdd7aaed8ca603a2e657b3e.tar.gz
100%|█████████████████████████████████████| 25.9M/25.9M [00:01<00:00, 22.5MiB/s]
Found mathlib oleans at https://oleanstorage.azureedge.net/mathlib/


#### Kevin Buzzard (Apr 18 2020 at 23:38):

After code test-project I navigate to src in VS Code, create a new file called test.lean and then after

import topology.basic
#check topological_space


I get

topological_space : Type u_1 → Type u_1


#### Ashwin Iyengar (Apr 18 2020 at 23:39):

Yeah so doing leanproject new test-project gives me

% leanproject new test-project
> cd test-project
> git init -q
> git checkout -b lean-3.9.0
Switched to a new branch 'lean-3.9.0'
configuring test-project 0.1
Adding mathlib
Looking for local mathlib oleans
Found local mathlib oleans


which looks about right

#### Ashwin Iyengar (Apr 18 2020 at 23:39):

one sec, I'll re-run the topology bit

#### Kevin Buzzard (Apr 18 2020 at 23:39):

Yes, this is the second time you did it so it found your oleans locally this time

#### Kevin Buzzard (Apr 18 2020 at 23:40):

The first time it will have downloaded them from a webserver.

#### Kevin Buzzard (Apr 18 2020 at 23:40):

WOOAH WOOAH WOOAH 3.9.0??

#### Kevin Buzzard (Apr 18 2020 at 23:40):

OK I know what the problem is :-)

ahhh ok

#### Kevin Buzzard (Apr 18 2020 at 23:40):

and it's not your fault. We will have to fix it manually

#### Ashwin Iyengar (Apr 18 2020 at 23:41):

Kevin Buzzard said:

and it's not your fault. We will have to fix it manually

phew

#### Kevin Buzzard (Apr 18 2020 at 23:41):

The problem is that a few hours ago Lean got upgraded from 3.8.0 to 3.9.0, but the maths library didn't yet make the change

#### Kevin Buzzard (Apr 18 2020 at 23:42):

but I am a bit bewildered about how you managed to do this -- @Patrick Massot any idea? Wait, lemme upgrade leanproject so I'm in exactly the same mess as you.

#### Ashwin Iyengar (Apr 18 2020 at 23:43):

Ah wait, I think I did run elan update at some point to try to fix things (and it did download something new), but the bizarre errors that I'm getting were there before I ran elan update

#### Kevin Buzzard (Apr 18 2020 at 23:43):

Crap. How come my leanproject is doing the right thing? What happens if you type leanproject --version?

#### Ashwin Iyengar (Apr 18 2020 at 23:44):

leanproject, version 0.0.5

#### Kevin Buzzard (Apr 18 2020 at 23:44):

OK and if you just completely start again with leanproject new test-project you get 3.9.0?

yep

#### Kevin Buzzard (Apr 18 2020 at 23:44):

Anyway, let's just fix it. Sorry about this, you caught us at a bad moment.

#### Kevin Buzzard (Apr 18 2020 at 23:45):

Go into the root directory of your project and tell me the contents of leanpkg.toml

#### Ashwin Iyengar (Apr 18 2020 at 23:45):

[package]
name = "test-project"
version = "0.1"
lean_version = "leanprover-community/lean:3.8.0"
path = "src"

[dependencies]
mathlib = {git = "https://github.com/leanprover-community/mathlib", rev = "6b095759061cbb736fdd7aaed8ca603a2e657b3e"}

#### Kevin Buzzard (Apr 18 2020 at 23:46):

oh, that's exactly what it should say.

#### Kevin Buzzard (Apr 18 2020 at 23:46):

Then I am back to being confused. I was going to tell you to change it to that.

#### Ashwin Iyengar (Apr 18 2020 at 23:46):

yeah strange that it says 3.8.0 after installing 3.9.0...

#### Kevin Buzzard (Apr 18 2020 at 23:47):

Still in the root directory of your project, type  lean --make _target/deps/mathlib/src/data/real/basic.lean

#### Kevin Buzzard (Apr 18 2020 at 23:47):

You should get no output and the compilation should take no more than a few seconds.

#### Ashwin Iyengar (Apr 18 2020 at 23:48):

yep no output, ran quickly

#### Kevin Buzzard (Apr 18 2020 at 23:48):

OK great. So you have got a fully installed Lean and mathlib. Oh, while we're here, try lean --version.

#### Kevin Buzzard (Apr 18 2020 at 23:49):

You should be on 3.8.0

#### Ashwin Iyengar (Apr 18 2020 at 23:49):

Lean (version 3.8.0, commit e694f496aa08, Release)

#### Kevin Buzzard (Apr 18 2020 at 23:49):

You did everything right.

#### Ashwin Iyengar (Apr 18 2020 at 23:49):

Maybe it's an issue with VSCode?

#### Kevin Buzzard (Apr 18 2020 at 23:49):

That's all that is left.

#### Kevin Buzzard (Apr 18 2020 at 23:50):

So open up VS Code, stick a file called test.lean in the src directory of your project and try what you tried before:

import topology.basic
#check topological_space


#### Kevin Buzzard (Apr 18 2020 at 23:51):

and if clicking on #check doesn't give you topological_space : Type u_1 → Type u_1 then send a screenshot (you can do it with the paper clip just under the box where you type assuming you're using a computer)

#### Ashwin Iyengar (Apr 18 2020 at 23:51):

Yeah so if I run lean src/test.lean from the command line everything works and it outputs topological_space : Type u_1 → Type u_1

#### Ashwin Iyengar (Apr 18 2020 at 23:51):

One sec, I'll see what VSCode says (takes a while to parse...)

#### Kevin Buzzard (Apr 18 2020 at 23:51):

That's because you got everything set up correctly :-)

#### Mario Carneiro (Apr 18 2020 at 23:52):

you can also #print lean.version from vscode

#### Kevin Buzzard (Apr 18 2020 at 23:52):

I am still bewildered by the way. The whole 3.9.0 thing was a complete red herring. It sounds like you've done everything perfectly and the new bump to Lean 3.9.0 didn't mess anything up at all.

#### Kevin Buzzard (Apr 18 2020 at 23:53):

lean.version : ℕ × ℕ × ℕ

#### Kevin Buzzard (Apr 18 2020 at 23:53):

Mario did you just troll me?

oh rofl

#### Kevin Buzzard (Apr 18 2020 at 23:53):

that's the result of #check lean.version :laughing:

#### Mario Carneiro (Apr 18 2020 at 23:54):

does #eval work?

#### Ashwin Iyengar (Apr 18 2020 at 23:54):

haha yeah I got the same thing

#### Kevin Buzzard (Apr 18 2020 at 23:54):

(3, (8, 0))

#### Ashwin Iyengar (Apr 18 2020 at 23:54):

if i run #print lean.version i get def lean.version : ℕ × ℕ × ℕ := (3, 4, 2)

#### Mario Carneiro (Apr 18 2020 at 23:54):

I will recommend that in the future then

#### Mario Carneiro (Apr 18 2020 at 23:55):

okay that's not good

#### Kevin Buzzard (Apr 18 2020 at 23:55):

Aah OK so there's your problem Ashwin, Lean is running 3.4.2 in VS Code but you're set up to run 3.8.0

#### Ashwin Iyengar (Apr 18 2020 at 23:55):

yes that makes sense... i'll see if I can find it in the VSCode settings somewhere i guess

#### Kevin Buzzard (Apr 18 2020 at 23:55):

Did you screw with VS Code settings at some point?

#### Kevin Buzzard (Apr 18 2020 at 23:55):

You already confessed that you screwed with elan

#### Ashwin Iyengar (Apr 18 2020 at 23:56):

Nope elan is the only thing I dared mess with

#### Mario Carneiro (Apr 18 2020 at 23:56):

VS Code is also set up to use lean by default so it depends on your PATH what exactly that resolves to

#### Mario Carneiro (Apr 18 2020 at 23:57):

what do you get from lean --version at the vscode console

#### Kevin Buzzard (Apr 18 2020 at 23:57):

You can get the console by dragging up from the top line of the blue bar at the bottom of VS Code.

#### Ashwin Iyengar (Apr 18 2020 at 23:57):

ash@MacBook-Pro-3 test-project % lean --version Lean (version 3.8.0, commit e694f496aa08, Release)

#### Kevin Buzzard (Apr 18 2020 at 23:57):

OK so in VS Code try File -> Preferences -> Settings

#### Kevin Buzzard (Apr 18 2020 at 23:58):

and then search for lean

#### Kevin Buzzard (Apr 18 2020 at 23:58):

and what is in the box for Lean : Executable Path?

#### Ashwin Iyengar (Apr 18 2020 at 23:58):

Oh "/Applications/Lean/lean-3.4.2-darwin/bin/lean"

Aah :-)

#### Ashwin Iyengar (Apr 18 2020 at 23:58):

I guess i must have installed lean at some point last year?

#### Kevin Buzzard (Apr 18 2020 at 23:59):

There's the culprit

#### Kevin Buzzard (Apr 18 2020 at 23:59):

Just remove it completely, leave the box blank

#### Kevin Buzzard (Apr 18 2020 at 23:59):

and then Ctrl-Shift-P and then type "restart lean" in the box and select the option which appears

#### Kevin Buzzard (Apr 19 2020 at 00:00):

Sorry, it's "Lean : restart"

#### Ashwin Iyengar (Apr 19 2020 at 00:00):

yay! it works now

thanks Kevin!

#### Kevin Buzzard (Apr 19 2020 at 00:00):

A couple of years ago I think there was a good reason to be typing stuff into that box

#### Kevin Buzzard (Apr 19 2020 at 00:00):

but since then the community has made a huge effort to make everything work out of the box

#### Kevin Buzzard (Apr 19 2020 at 00:00):

so anything in the box is a bad idea

#### Kevin Buzzard (Apr 19 2020 at 00:01):

Now go do maths :-)

#### Ashwin Iyengar (Apr 19 2020 at 00:01):

yeah i was impressed by how smooth the installation process is generally

#### Kevin Buzzard (Apr 19 2020 at 00:02):

That was a pretty impressive gotcha.

#### Kevin Buzzard (Apr 19 2020 at 00:02):

@Patrick Massot can you explain why whenever someone types leanproject new blah a version of lean is mentioned which never seems to be the version a user ends up with? :-)

#### Reid Barton (Apr 19 2020 at 00:03):

Pretty smooth aside from that brief moment when you slipped into the future

#### Ashwin Iyengar (Apr 19 2020 at 00:04):

well if I run lean --version inside the project folder it tells me 3.8.0 but if i run it outside the folder it tells me 3.9.0

That makes sense

#### Kevin Buzzard (Apr 19 2020 at 00:04):

The lean program decides which version of Lean to use by looking for a leanpkg.toml

#### Kevin Buzzard (Apr 19 2020 at 00:04):

that was why that was the first question I asked

#### Scott Morrison (Apr 19 2020 at 00:07):

Can we now change the VS Code extension to not even give people the option of putting something in that box? It seems the hold-outs who won't use elan can probably be left to fend for themselves, and we'll save a lot of trouble.

#### Bryan Gin-ge Chen (Apr 19 2020 at 02:03):

I'd prefer adding a stern warning there instead of taking the setting away entirely. If I recall correctly, Patrick's portable VS Code experiment relied on that setting.

#### Mario Carneiro (Apr 19 2020 at 02:19):

I think that having the setting is important. Sometimes the automatic tools don't work, for whatever reason, and I don't want to rely too deeply on their presence

#### Scott Morrison (Apr 19 2020 at 02:39):

Perhaps then just a warning on it. "Do not use this setting unless you are a Mario-level expert user!" :-)

#### Johan Commelin (Apr 19 2020 at 06:10):

Why is there no :mario: emoji?

#### Bryan Gin-ge Chen (Apr 19 2020 at 06:16):

Warnings PR'd: https://github.com/leanprover/vscode-lean/pull/156 (No Mario references, sorry...)

#### Mario Carneiro (Apr 19 2020 at 07:08):

Did you know zulip lets you add custom emoji? I'm glad no one has noticed yet because it sounds easy to abuse

#### Mario Carneiro (Apr 19 2020 at 07:10):

oh wait, it's an admin only feature. that makes me feel slightly better about it

image.png

#### Patrick Massot (Apr 19 2020 at 10:10):

We need a version of this image adding Mario's beard.

#### Chris M (Jun 29 2020 at 08:56):

@Bryan Gin-ge Chen , if I run that in git bash, I get "invalid git repository".

I realized: perhaps I haven't actually installed Lean correctly a while back (I've had Lean on VSCode for a while now, not using it for a few months). So I tried reinstalling based on the description in https://leanprover-community.github.io/install/windows.html. But after entering the command curl https://raw.githubusercontent.com/Kha/elan/master/elan-init.sh -sSf | sh, I get the error error: could not remove 'elan-bin' file: 'C:\Users\chris\.elan\bin\elan.exe' info: caused by: Access is denied. (os error 5)

What should I do about this?

#### Bryan Gin-ge Chen (Jun 29 2020 at 08:57):

That means you already have elan installed. You can update elan by typing elan self update.

#### Bryan Gin-ge Chen (Jun 29 2020 at 09:00):

What do you see if you type leanproject --version? The latest version is 0.0.8. If you don't have that version, you should be able to upgrade with pip install --upgrade mathlibtools.

#### Chris M (Jun 29 2020 at 09:04):

If I write elan self update I still get error: could not remove 'elan-bin' file: 'C:\Users\chris\.elan\bin\elan.exe' info: caused by: Access is denied. (os error 5).

leanproject --version gave me version 0.0.5, and after the update I have 0.0.8. However, after trying elan self update after that, I got the same error.

#### Bryan Gin-ge Chen (Jun 29 2020 at 09:07):

I'm not sure how permissions in Windows work, but you should try and see if you can change the permissions of everything in C:\Users\chris\.elan. It might be easier just to delete that directory entirely and try reinstalling it.

By the way, leanproject and elan are separate tools (though leanproject makes use of elan), so there's no reason to expect that upgrading leanproject would fix elan.

#### Bryan Gin-ge Chen (Jun 29 2020 at 09:09):

Anyways, I'm not sure what could be causing "invalid git repository".

#### Chris M (Jun 29 2020 at 09:10):

It turned out to be very simple. I had to close VSCode

#### Chris M (Jun 29 2020 at 09:22):

Ok I have managed to get it to work. It turned out I didn't create a lean project but instead just had separate .lean files, and hence didn't have access to the mathlib library

Last updated: May 15 2021 at 23:13 UTC