# How does one build Julia using git for multiple stdlibs?

**URL:** <https://discourse.julialang.org/t/how-does-one-build-julia-using-git-for-multiple-stdlibs/49451>\
**Category:** Internals & Design\
**Created:** [November 2, 2020, 10:41am UTC](https://discourse.julialang.org/t/how-does-one-build-julia-using-git-for-multiple-stdlibs/49451 "2020-11-02T10:41:02Z")\
**Posts on this page:** 9\
**Page:** 1

<div class="post-metadata">

**Author:** ![tim.holy](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/tim.holy/32/52_2.png) [@tim.holy](https://discourse.julialang.org/u/tim.holy)\
**Post date:** [November 2, 2020, 10:41am UTC](https://discourse.julialang.org/t/how-does-one-build-julia-using-git-for-multiple-stdlibs/49451/1 "2020-11-02T10:41:02Z")

</div>

One can build Julia with `make DEPS_GIT=Pkg`, which causes the `Pkg` stdlib to be built from a git repo of Pkg rather than downloading a tarball. But `make DEPS_GIT=(Pkg Tar)` doesn’t work. Any hints about how to get two or more stdlibs building from their own git repos simultaneously?

---

<div class="post-metadata">

**Author:** ![dilumaluthge](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/dilumaluthge/32/29283_2.png) [@dilumaluthge](https://discourse.julialang.org/u/dilumaluthge)\
**Post date:** [November 2, 2020, 4:45pm UTC](https://discourse.julialang.org/t/how-does-one-build-julia-using-git-for-multiple-stdlibs/49451/2 "2020-11-02T16:45:39Z")

</div>

I’m guessing that @StefanKarpinski will probably know.

---

<div class="post-metadata">

**Author:** ![StefanKarpinski](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/stefankarpinski/32/24_2.png) [@StefanKarpinski](https://discourse.julialang.org/u/StefanKarpinski)\
**Post date:** [November 3, 2020, 5:08am UTC](https://discourse.julialang.org/t/how-does-one-build-julia-using-git-for-multiple-stdlibs/49451/3 "2020-11-03T05:08:55Z")

</div>

Actually, @jameson is the author of this stuff. Maybe a semicolon?

---

<div class="post-metadata">

**Author:** ![jameson](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/jameson/32/23_2.png) [@jameson](https://discourse.julialang.org/u/jameson)\
**Post date:** [November 3, 2020, 5:48pm UTC](https://discourse.julialang.org/t/how-does-one-build-julia-using-git-for-multiple-stdlibs/49451/4 "2020-11-03T17:48:48Z")

</div>

it’s `make`, so it likes to work with words: `DEPS_GIT='Pkg Tar'`

---

<div class="post-metadata">

**Author:** ![dilumaluthge](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/dilumaluthge/32/29283_2.png) [@dilumaluthge](https://discourse.julialang.org/u/dilumaluthge)\
**Post date:** [November 3, 2020, 11:54pm UTC](https://discourse.julialang.org/t/how-does-one-build-julia-using-git-for-multiple-stdlibs/49451/5 "2020-11-03T23:54:22Z")

</div>

@tim.holy Did you get it working?

---

<div class="post-metadata">

**Author:** ![tim.holy](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/tim.holy/32/52_2.png) [@tim.holy](https://discourse.julialang.org/u/tim.holy)\
**Post date:** [November 4, 2020, 9:58am UTC](https://discourse.julialang.org/t/how-does-one-build-julia-using-git-for-multiple-stdlibs/49451/6 "2020-11-04T09:58:55Z")

</div>

Yes, thanks Jameson, works perfectly!

---

<div class="post-metadata">

**Author:** ![dilumaluthge](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/dilumaluthge/32/29283_2.png) [@dilumaluthge](https://discourse.julialang.org/u/dilumaluthge)\
**Post date:** [November 23, 2020, 5:00pm UTC](https://discourse.julialang.org/t/how-does-one-build-julia-using-git-for-multiple-stdlibs/49451/7 "2020-11-23T17:00:49Z")

</div>

Can we add this to the documentation somewhere?

For example, the Pkg.jl README ([https://github.com/JuliaLang/Pkg.jl/blob/master/README.md](https://github.com/JuliaLang/Pkg.jl/blob/master/README.md)) currently documents how to build Julia using Git for a single stdlib:

> If you need to build Julia from source with a git checkout of Pkg, then instead use `make DEPS_GIT=Pkg` when building Julia. The `Pkg` repo is in `stdlib/Pkg`, and created initially with a detached `HEAD`. If you’re doing this from a pre-existing Julia repository, you may need to `make clean` beforehand.

But it doesn’t include the instructions for multiple stdlibs.

Is there a place that we can document Jameson’s answer?

---

<div class="post-metadata">

**Author:** ![fredrikekre](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/fredrikekre/32/1688_2.png) [@fredrikekre](https://discourse.julialang.org/u/fredrikekre)\
**Post date:** [November 23, 2020, 5:04pm UTC](https://discourse.julialang.org/t/how-does-one-build-julia-using-git-for-multiple-stdlibs/49451/8 "2020-11-23T17:04:33Z")

</div>

[https://github.com/JuliaLang/julia/blob/master/doc/build/build.md](https://github.com/JuliaLang/julia/blob/master/doc/build/build.md) maybe.

---

<div class="post-metadata">

**Author:** ![dilumaluthge](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/dilumaluthge/32/29283_2.png) [@dilumaluthge](https://discourse.julialang.org/u/dilumaluthge)\
**Post date:** [December 3, 2020, 12:29am UTC](https://discourse.julialang.org/t/how-does-one-build-julia-using-git-for-multiple-stdlibs/49451/9 "2020-12-03T00:29:15Z")

</div>

[https://github.com/JuliaLang/julia/pull/38671](https://github.com/JuliaLang/julia/pull/38671)
