# Jll packages

**URL:** <https://discourse.julialang.org/t/jll-packages/35366>\
**Category:** General Usage\
**Created:** [March 1, 2020, 5:37pm UTC](https://discourse.julialang.org/t/jll-packages/35366 "2020-03-01T17:37:14Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![hros](https://avatars.discourse-cdn.com/v4/letter/h/97f17d/32.png) [@hros](https://discourse.julialang.org/u/hros)\
**Post date:** [March 1, 2020, 5:37pm UTC](https://discourse.julialang.org/t/jll-packages/35366/1 "2020-03-01T17:37:14Z")

</div>

I noticed that several packages are available in two variants: “normal” and \*\_jll.  
For example FFTW, FFTW\_jll, Nettle, Nettle\_jll  
FFTW seems to be based on the FFTW\_jll “artifact”, whereas Nettle seems independent of Nettle\_jll.  
Moreover, there are a few \*\_jll only packages, for example OpenSSL\_jll without a Julia wrapper package (I can use it directly with `ccall`).

1. Is it possible to find out which packages use a specific \*\_jll artifact? (specifically, is there a package that already wraps the functions of OpenSSL?)
2. I believe that the repository system should enforce uniform library usage, that is it should not be possible to import the same binary library by adding two packages (Nettle and Nettle\_jll install two different versions libnettle.so in my .julia directory)

---

<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:** [March 1, 2020, 5:50pm UTC](https://discourse.julialang.org/t/jll-packages/35366/2 "2020-03-01T17:50:46Z")

</div>

> [@hros](#):
>
> (specifically, is there a package that already wraps the functions of OpenSSL?)

Search in the [General registry](https://github.com/JuliaRegistries/General) for packages [depending on `OpenSSL_jll`](https://github.com/JuliaRegistries/General/search?q=OpenSSL_jll&unscoped_q=OpenSSL_jll). I don’t think I see any non-JLL package depending on it.

> [@hros](#):
>
> I believe that the repository system should enforce uniform library usage

Why enforce? Again, it’s up to the package developer to do it, even though they’re encouraged to use the JLL artifacts.

> [@hros](#):
>
> (Nettle and Nettle\_jll install two different versions libnettle.so in my .julia directory)

Open a PR for [`Nettle.jl`](https://github.com/staticfloat/Nettle.jl), I think the maintainer will be more than happy to merge it 😉 Only remember to ping him when you open the PR
