# Specify build version of JLL package

**URL:** <https://discourse.julialang.org/t/specify-build-version-of-jll-package/116185>\
**Category:** General Usage\
**Created:** [June 25, 2024, 6:45am UTC](https://discourse.julialang.org/t/specify-build-version-of-jll-package/116185 "2024-06-25T06:45:18Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![ludvigak](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/ludvigak/32/5689_2.png) [@ludvigak](https://discourse.julialang.org/u/ludvigak)\
**Post date:** [June 25, 2024, 6:45am UTC](https://discourse.julialang.org/t/specify-build-version-of-jll-package/116185/1 "2024-06-25T06:45:19Z")

</div>

If my package has a JLL dependency `MyPkg_jll` with version dependency `MyPkg_jll="1.2.3"` in the project file, then version `v1.2.3+B` will be installed, where `B` is the latest build version.

Now, if `build_tarballs.jl` of `MyPkg_jll` is updated and a new build version is released, then that will be automatically downloaded by all users before I have chance to run CI tests to see that it works on all platforms.

How can I specify the build version in the JLL dependency? Setting e.g. `MyPkg_jll="1.2.3+4"` under `[[compat]]` does not parse. I think it does what I want if I commit a bare bones `Manifest.toml` containing only

```julia
[[MyPkg_jll]]
uuid = "..."
version = "1.2.3+4"

```

but is this really the preferred way of doing it?

---

<div class="post-metadata">

**Author:** ![abraemer](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/abraemer/32/51403_2.png) [@abraemer](https://discourse.julialang.org/u/abraemer)\
**Post date:** [June 25, 2024, 7:19am UTC](https://discourse.julialang.org/t/specify-build-version-of-jll-package/116185/2 "2024-06-25T07:19:40Z")

</div>

Have you tried using different specifiers for the compatible version, e.g. equality like `"=1.2.3"`?  
See here for more info: [6. Compatibility · Pkg.jl](https://pkgdocs.julialang.org/v1/compatibility/#Equality-specifier)

I don’t know specifically if these also work for JLLs.

---

<div class="post-metadata">

**Author:** ![ludvigak](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/ludvigak/32/5689_2.png) [@ludvigak](https://discourse.julialang.org/u/ludvigak)\
**Post date:** [June 25, 2024, 8:10am UTC](https://discourse.julialang.org/t/specify-build-version-of-jll-package/116185/3 "2024-06-25T08:10:02Z")

</div>

Tried now, but equality specifier for build version like `"=1.2.3+4"` does not work either.

---

<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:** [June 25, 2024, 3:57pm UTC](https://discourse.julialang.org/t/specify-build-version-of-jll-package/116185/4 "2024-06-25T15:57:18Z")

</div>

Yeah, Julia (and Pkg, and the General registry) do not currently support build numbers in `[compat]` entries.

---

<div class="post-metadata">

**Author:** ![palday](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/palday/32/12640_2.png) [@palday](https://discourse.julialang.org/u/palday)\
**Post date:** [June 26, 2024, 3:15pm UTC](https://discourse.julialang.org/t/specify-build-version-of-jll-package/116185/5 "2024-06-26T15:15:48Z")

</div>

This became a bit of a problem recently for `pandoc_crossref_jll` because the upstream build number indicated which version of pandoc it was compiled against and that impacts compatibility with `pandoc_jll`. In the end, we reworked how pandoc-crossref version+build numbers map to `pandoc_crossreful_jll` version numbers so that we could specify things correctly in SemVer: [[pandoc\_crossref] Compat change requires version bump by omus · Pull Request #8896 · JuliaPackaging/Yggdrasil · GitHub](https://github.com/JuliaPackaging/Yggdrasil/pull/8896)
