Zulip Chat Archive
Stream: new members
Topic: Mathlib update failure
Kaiyi Huang (Jan 16 2026 at 18:35):
Hello, I was following the instructions to update Mathlib. I was in mathematics_in_lean folder obtained from git. Then I copied and pasted curl -L https://raw.githubusercontent.com/leanprover-community/mathlib4/master/lean-toolchain -o lean-toolchain to update the lean-toolchain file. It's the next step that failed. When I ran lake update, heres what I got:
info: toolchain not updated; already up-to-date
warning: /Users/Patron/Documents/mylean/mathematics_in_lean/.lake/packages/mathlib/lakefile.lean:160:13: Lake.Package.name has been deprecated: Use baseName, keyName, or prettyName instead
warning: /Users/Patron/Documents/mylean/mathematics_in_lean/.lake/packages/mathlib/lakefile.lean:160:24: Lake.Package.name has been deprecated: Use baseName, keyName, or prettyName instead
warning: /Users/Patron/Documents/mylean/mathematics_in_lean/.lake/packages/mathlib/lakefile.lean:166:20: Lake.Package.name has been deprecated: Use baseName, keyName, or prettyName instead
warning: proofwidgets: repository '/Users/Patron/Documents/mylean/mathematics_in_lean/.lake/packages/proofwidgets' has local changes
info: mathlib: running post-update hooks
⚠ [3/19] Replayed Batteries.Data.Array.Match
warning: Batteries/Data/Array/Match.lean:58:36: Nat.lt_succ has been deprecated: Use Nat.lt_succ_iff instead
Note: Nat.lt_succ_iff is protected. References to this constant must include its prefix Nat even when inside its namespace.
warning: Batteries/Data/Array/Match.lean:64:43: Stream has been deprecated: Use Std.Stream instead
Note: The updated constant has a different type:
Type u → outParam (Type v) → Type (max u v)
instead of
Type u_1 → outParam (Type u_2) → Type (max u_1 u_2)
warning: Batteries/Data/Array/Match.lean:85:30: Stream has been deprecated: Use Std.Stream instead
Note: The updated constant has a different type:
Type u → outParam (Type v) → Type (max u v)
instead of
Type u_1 → outParam (Type u_2) → Type (max u_1 u_2)
warning: Batteries/Data/Array/Match.lean:93:35: Stream has been deprecated: Use Std.Stream instead
Note: The updated constant has a different type:
Type u → outParam (Type v) → Type (max u v)
instead of
Type u_1 → outParam (Type u_2) → Type (max u_1 u_2)
✖ [5/19] Building Cache.Lean
trace: .> LEAN_PATH=/Users/Patron/Documents/mylean/mathematics_in_lean/.lake/packages/Cli/.lake/build/lib/lean:/Users/Patron/Documents/mylean/mathematics_in_lean/.lake/packages/batteries/.lake/build/lib/lean:/Users/Patron/Documents/mylean/mathematics_in_lean/.lake/packages/Qq/.lake/build/lib/lean:/Users/Patron/Documents/mylean/mathematics_in_lean/.lake/packages/aesop/.lake/build/lib/lean:/Users/Patron/Documents/mylean/mathematics_in_lean/.lake/packages/proofwidgets/.lake/build/lib/lean:/Users/Patron/Documents/mylean/mathematics_in_lean/.lake/packages/importGraph/.lake/build/lib/lean:/Users/Patron/Documents/mylean/mathematics_in_lean/.lake/packages/LeanSearchClient/.lake/build/lib/lean:/Users/Patron/Documents/mylean/mathematics_in_lean/.lake/packages/plausible/.lake/build/lib/lean:/Users/Patron/Documents/mylean/mathematics_in_lean/.lake/packages/mathlib/.lake/build/lib/lean:/Users/Patron/Documents/mylean/mathematics_in_lean/.lake/build/lib/lean /Users/Patron/.elan/toolchains/leanprover--lean4---v4.27.0-rc1/bin/lean /Users/Patron/Documents/mylean/mathematics_in_lean/.lake/packages/mathlib/Cache/Lean.lean -o /Users/Patron/Documents/mylean/mathematics_in_lean/.lake/packages/mathlib/.lake/build/lib/lean/Cache/Lean.olean -i /Users/Patron/Documents/mylean/mathematics_in_lean/.lake/packages/mathlib/.lake/build/lib/lean/Cache/Lean.ilean -c /Users/Patron/Documents/mylean/mathematics_in_lean/.lake/packages/mathlib/.lake/build/ir/Cache/Lean.c --setup /Users/Patron/Documents/mylean/mathematics_in_lean/.lake/packages/mathlib/.lake/build/ir/Cache/Lean.setup.json --json
error: Cache/Lean.lean:7:0: object file '/Users/Patron/.elan/toolchains/leanprover--lean4---v4.27.0-rc1/lib/lean/Lean/Util/Paths.olean' of module Lean.Util.Paths does not exist
error: Lean exited with code 1
✖ [11/19] Building Batteries.Data.String.Basic
trace: .> LEAN_PATH=/Users/Patron/Documents/mylean/mathematics_in_lean/.lake/packages/Cli/.lake/build/lib/lean:/Users/Patron/Documents/mylean/mathematics_in_lean/.lake/packages/batteries/.lake/build/lib/lean:/Users/Patron/Documents/mylean/mathematics_in_lean/.lake/packages/Qq/.lake/build/lib/lean:/Users/Patron/Documents/mylean/mathematics_in_lean/.lake/packages/aesop/.lake/build/lib/lean:/Users/Patron/Documents/mylean/mathematics_in_lean/.lake/packages/proofwidgets/.lake/build/lib/lean:/Users/Patron/Documents/mylean/mathematics_in_lean/.lake/packages/importGraph/.lake/build/lib/lean:/Users/Patron/Documents/mylean/mathematics_in_lean/.lake/packages/LeanSearchClient/.lake/build/lib/lean:/Users/Patron/Documents/mylean/mathematics_in_lean/.lake/packages/plausible/.lake/build/lib/lean:/Users/Patron/Documents/mylean/mathematics_in_lean/.lake/packages/mathlib/.lake/build/lib/lean:/Users/Patron/Documents/mylean/mathematics_in_lean/.lake/build/lib/lean /Users/Patron/.elan/toolchains/leanprover--lean4---v4.27.0-rc1/bin/lean /Users/Patron/Documents/mylean/mathematics_in_lean/.lake/packages/batteries/Batteries/Data/String/Basic.lean -o /Users/Patron/Documents/mylean/mathematics_in_lean/.lake/packages/batteries/.lake/build/lib/lean/Batteries/Data/String/Basic.olean -i /Users/Patron/Documents/mylean/mathematics_in_lean/.lake/packages/batteries/.lake/build/lib/lean/Batteries/Data/String/Basic.ilean -c /Users/Patron/Documents/mylean/mathematics_in_lean/.lake/packages/batteries/.lake/build/ir/Batteries/Data/String/Basic.c --setup /Users/Patron/Documents/mylean/mathematics_in_lean/.lake/packages/batteries/.lake/build/ir/Batteries/Data/String/Basic.setup.json --json
warning: Batteries/Data/String/Basic.lean:7:22: Substring has been deprecated: Use Substring.Raw instead
warning: Batteries/Data/String/Basic.lean:7:36: String.toSubstring has been deprecated: Use String.toRawSubstring instead
error: Batteries/Data/String/Basic.lean:28:12: type expected, got
(Pos : String → Type)
error: Lean exited with code 1
Some required targets logged failures:
- Cache.Lean
- Batteries.Data.String.Basic
error: build failed
Then I opened VSCode to restart a file. Here's what I got:
Screenshot 2026-01-16 at 12.32.30 PM.png
Can anyone help?
Ruben Van de Velde (Jan 16 2026 at 19:37):
Okay, first question: why are you doing this?
Kevin Buzzard (Jan 17 2026 at 14:16):
Yes, it's definitely not your job to update the version of mathlib used in someone else's project.
Kaiyi Huang (Jan 17 2026 at 15:47):
Ruben Van de Velde said:
Okay, first question: why are you doing this?
Let's say its a lapse in judgement. What should I do now? Shall I just delete everything and reinstall?
Update: I deleted everything and reinstalled. It's fine now.
Last updated: Feb 28 2026 at 14:05 UTC