# Building julia tarball from specific commit

**URL:** <https://discourse.julialang.org/t/building-julia-tarball-from-specific-commit/124154>\
**Category:** General Usage\
**Created:** [December 24, 2024, 1:42pm UTC](https://discourse.julialang.org/t/building-julia-tarball-from-specific-commit/124154 "2024-12-24T13:42:33Z")\
**Posts on this page:** 8\
**Page:** 1

<div class="post-metadata">

**Author:** ![Lior\_Assouline](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/lior_assouline/32/35564_2.png) [@Lior\_Assouline](https://discourse.julialang.org/u/Lior_Assouline)\
**Post date:** [December 24, 2024, 1:42pm UTC](https://discourse.julialang.org/t/building-julia-tarball-from-specific-commit/124154/1 "2024-12-24T13:42:33Z")

</div>

Hi All,  
Is there a documentation regarding the exact script that build the julia tarballs on specific releases?  
Specifically, I would like to build a tarball which has the same structure as if it was a 1.11.2 release but with a later backport commit in order to use bug fixes and not have to wait for a 1.11.3.  
I tried building Julia from source but ran into issues that causes inability to compile other packages (like missing …/compiler.jl file)  
Thanks

---

<div class="post-metadata">

**Author:** ![giordano](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/giordano/32/2166_2.png) [@giordano](https://discourse.julialang.org/u/giordano)\
**Post date:** [December 24, 2024, 2:00pm UTC](https://discourse.julialang.org/t/building-julia-tarball-from-specific-commit/124154/2 "2024-12-24T14:00:31Z")

</div>

> [@Lior\_Assouline](#):
>
> Is there a documentation regarding the exact script that build the julia tarballs on specific releases?

```julia
make -j

```

> [@Lior\_Assouline](#):
>
> Specifically, I would like to build a tarball which has the same structure as if it was a 1.11.2 release but with a later backport commit in order to use bug fixes and not have to wait for a 1.11.3.

If the commit you want to test is already in [Backports for 1.11.3 by KristofferC · Pull Request #56741 · JuliaLang/julia · GitHub](https://github.com/JuliaLang/julia/pull/56741) you can also use juliaup:

```console
$ juliaup add pr56741
$ julia +pr56741

```

> [@Lior\_Assouline](#):
>
> I tried building Julia from source but ran into issues that causes inability to compile other packages (like missing …/compiler.jl file)

You want to elaborate what’s the issue you’re facing.

---

<div class="post-metadata">

**Author:** ![Lior\_Assouline](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/lior_assouline/32/35564_2.png) [@Lior\_Assouline](https://discourse.julialang.org/u/Lior_Assouline)\
**Post date:** [December 24, 2024, 3:19pm UTC](https://discourse.julialang.org/t/building-julia-tarball-from-specific-commit/124154/3 "2024-12-24T15:19:47Z")

</div>

1. I ran make -j with Make.user pointing to a directory and hoping the content of that dir is similar to the tarball content. I use that output dir to compile an application using PackageCompiler.
2. Unfortunatly the packport for 1.11 doesnt contain the fix (it’s the infamous GC memory leak)
3. Here is the error message - BTW, the unfound file compiler.jl doesnt exsist even if I make the tarball from the content of the directory created using “juliaup add pr56801”

```julia
── Hwloc_jll - 6.595 MiB

├── MPICH_jll - 10.439 MiB

├── OpenSSL_jll - 8.941 MiB

├── ThriftJuliaCompiler_jll - 54.033 MiB

├── Zstd_jll - 1.596 MiB

└── libaec_jll - 235.554 KiB

Total artifact file size: 95.518 MiB

⠸ [00m:00s] PackageCompiler: creating compiler .ji image (incremental=false)error during bootstrap:

ErrorException("File \"/opt/julia/share/julia/base/compiler/compiler.jl\" not found")

ijl_errorf at /localhome/speled/git_repos/julia-from-src/src/src/rtutils.c:77

jl_file_content_as_string at /localhome/speled/git_repos/julia-from-src/src/src/toplevel.c:1229 [inlined]

ijl_load_ at /localhome/speled/git_repos/julia-from-src/src/src/toplevel.c:1245

ijl_load at /localhome/speled/git_repos/julia-from-src/src/src/toplevel.c:1260

exec_program at /localhome/speled/git_repos/julia-from-src/src/src/jlapi.c:880

true_main at /localhome/speled/git_repos/julia-from-src/src/src/jlapi.c:937

jl_repl_entrypoint at /localhome/speled/git_repos/julia-from-src/src/src/jlapi.c:1081

main at /localhome/speled/git_repos/julia-from-src/src/cli/loader_exe.c:58

unknown function (ip: 0x7f76ffeb2249) at /lib/x86_64-linux-gnu/libc.so.6

__libc_start_main at /lib/x86_64-linux-gnu/libc.so.6 (unknown line)

_start at /opt/julia/bin/julia (unknown line)

✖ [00m:00s] PackageCompiler: creating compiler .ji image (incremental=false)

ERROR: LoadError: failed process: Process(`/opt/julia/bin/julia --color=yes --startup-file=no --pkgimages=no --cpu-target 'generic;sandybridge,-xsaveopt,clone_all;haswell,-rdrnd,base(1)'

--output-ji /tmp/jl_kBBJY2/corecompiler.ji /opt/julia/share/julia/base/compiler/compiler.jl`, ProcessExited(1)) [1]

Stacktrace:

[1] pipeline_error

@ ./process.jl:598 [inlined]

[2] read(cmd::Cmd)

@ Base ./process.jl:482

[3] macro expansion

@ ~/.julia/packages/PackageCompiler/UbaS4/src/PackageCompiler.jl:256 [inlined]

[4] (::PackageCompiler.var"#17#18"{String, Cmd, Cmd, String, String})()

@ PackageCompiler ~/.julia/packages/PackageCompiler/UbaS4/ext/TerminalSpinners.jl:157

[5] spin(f::PackageCompiler.var"#17#18"{String, Cmd, Cmd, String, String}, s::PackageCompiler.TerminalSpinners.Spinner{Base.TTY})

@ PackageCompiler.TerminalSpinners ~/.julia/packages/PackageCompiler/UbaS4/ext/TerminalSpinners.jl:164

[6] macro expansion

```

---

<div class="post-metadata">

**Author:** ![giordano](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/giordano/32/2166_2.png) [@giordano](https://discourse.julialang.org/u/giordano)\
**Post date:** [December 24, 2024, 3:28pm UTC](https://discourse.julialang.org/t/building-julia-tarball-from-specific-commit/124154/4 "2024-12-24T15:28:12Z")

</div>

> [@Lior\_Assouline](#):
>
> Here is the error message - BTW, the unfound file compiler.jl doesnt exsist even if I make the tarball from the content of the directory created using “juliaup add pr56801”

This seems to be a problem specific to PackageCompiler.jl or am I missing something?

---

<div class="post-metadata">

**Author:** ![Lior\_Assouline](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/lior_assouline/32/35564_2.png) [@Lior\_Assouline](https://discourse.julialang.org/u/Lior_Assouline)\
**Post date:** [December 24, 2024, 5:49pm UTC](https://discourse.julialang.org/t/building-julia-tarball-from-specific-commit/124154/5 "2024-12-24T17:49:57Z")

</div>

The packageCompiler needs a file /opt/julia/share/julia/base/compiler/compiler.jl which exists in official tarballs (part of base ?) but not in my custom pr created tarball… There is some step im probabaly missing when creating a custom commit based tarball. The resulting julia dir contains a working REPL but fails when trying to compile new stuff

---

<div class="post-metadata">

**Author:** ![Zentrik](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/zentrik/32/35409_2.png) [@Zentrik](https://discourse.julialang.org/u/Zentrik)\
**Post date:** [December 24, 2024, 10:14pm UTC](https://discourse.julialang.org/t/building-julia-tarball-from-specific-commit/124154/6 "2024-12-24T22:14:56Z")

</div>

I would guess after you build with `make -jN` you need to run `make install`. This will create a tarball will the binary and the other files in the right location, just like the one you can download of Julia’s website.

---

<div class="post-metadata">

**Author:** ![woclass](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/woclass/32/212699_2.png) [@woclass](https://discourse.julialang.org/u/woclass)\
**Post date:** [December 25, 2024, 1:37am UTC](https://discourse.julialang.org/t/building-julia-tarball-from-specific-commit/124154/7 "2024-12-25T01:37:46Z")

</div>

> [@Lior\_Assouline](#):
>
> /opt/julia/share/julia/base/compiler/compiler.jl

There seems to be some problem with the build process, the Makefile doesn’t create links automatically.

> <https://github.com/JuliaLang/julia/blob/cab11bbd2d5452f523ef277bfee2affec4e3c9f5/Makefile#L78-L83>

```julia
/mnt/d/jl/julia$ make print-build_datarootdir
build_datarootdir=/mnt/d/jl/julia/usr/share

```

---

<div class="post-metadata">

**Author:** ![Lior\_Assouline](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/lior_assouline/32/35564_2.png) [@Lior\_Assouline](https://discourse.julialang.org/u/Lior_Assouline)\
**Post date:** [December 25, 2024, 7:06am UTC](https://discourse.julialang.org/t/building-julia-tarball-from-specific-commit/124154/8 "2024-12-25T07:06:27Z")

</div>

I did exactly that…
