# Custom JLL wrappers

**URL:** <https://discourse.julialang.org/t/custom-jll-wrappers/94484>\
**Category:** New to Julia\
**Tags:** installation\
**Created:** [February 11, 2023, 10:48pm UTC](https://discourse.julialang.org/t/custom-jll-wrappers/94484 "2023-02-11T22:48:07Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![smartalecH](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/smartalech/32/32379_2.png) [@smartalecH](https://discourse.julialang.org/u/smartalecH)\
**Post date:** [February 11, 2023, 10:48pm UTC](https://discourse.julialang.org/t/custom-jll-wrappers/94484/1 "2023-02-11T22:48:07Z")

</div>

I’m working on a (Centos7) system where I can’t download prebuilt binaries. Rather, I need to build all the binaries from source using an internal build tool.

Julia itself runs well. So long as my dependent packages contain sources that are 100% Julia code, those work well too! (This requires some finagling with the JULIA\_LOAD\_PATH since I can’t use Pkg to download files to default locations)

However, many packages rely on various C/C++ libraries. Normally, this wouldn’t be a problem, as I can build all those .so files myself and link to them!

Except Julia has appeared to converge on a JLL solution, where all packages instead depend on JLL libraries which seem to be pure Julia wrappers for the prebuilt binaries themselves.

As I mentioned, I can’t simply install these JLL packages on my system, as that would require downloading prebuilt binaries. Is there a recommended way for me to write my own JLL wrapper for binaries I build myself? Preferably, is there a way to streamline this for lots of libraries?

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:** [February 11, 2023, 11:01pm UTC](https://discourse.julialang.org/t/custom-jll-wrappers/94484/2 "2023-02-11T23:01:45Z")

</div>

If the question is how to point jlls to use your own binaries, see [JLL packages · BinaryBuilder.jl](https://docs.binarybuilder.org/stable/jll/#Non-dev'ed-JLL-packages). Note that there are two alternative methods, one based on the Overrides mechanism and another one based on Preferences, the latter might be slightly simpler.

---

<div class="post-metadata">

**Author:** ![smartalecH](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/smartalech/32/32379_2.png) [@smartalecH](https://discourse.julialang.org/u/smartalecH)\
**Post date:** [February 12, 2023, 2:41am UTC](https://discourse.julialang.org/t/custom-jll-wrappers/94484/3 "2023-02-12T02:41:11Z")

</div>

This is perfect, thanks!
