# Adding and accessing library files in julia package?

**URL:** https://discourse.julialang.org/t/adding-and-accessing-library-files-in-julia-package/66799
**Category:** Package Management
**Tags:** question
**Created:** [August 22, 2021, 11:06am UTC](https://discourse.julialang.org/t/adding-and-accessing-library-files-in-julia-package/66799 "2021-08-22T11:06:50Z")
**Posts on this page:** 2
**Page:** 1

<div class="post-metadata">

### Author: ![Rajesh\_Nakka](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/rajesh_nakka/32/28445_2.png) [@Rajesh\_Nakka](https://discourse.julialang.org/u/Rajesh_Nakka)
#### Post date: [August 22, 2021, 11:06am UTC](https://discourse.julialang.org/t/adding-and-accessing-library-files-in-julia-package/66799/1 "2021-08-22T11:06:50Z")

</div>

My plan is writing a _my\_Julia\_package_ which depends on third party libraries. These libraries (with extensions `.dll`, `.so` and `.dylib`) are available at an URL and have to be accessed in my package. I don’t want to include them directly in my\_Julia\_package, as these files are relatively large in size and are updated frequently by the owner of binaries. These binaries should be downloaded on fly and specific to the platform(windows, mac or Linux) where package is being installed.

I have got the very preliminary understanding that building artifacts.toml and using binarybuilder.jl will help me in sailing through the above task but not clear how!

Please direct me to some resources where I can learn or explain the procedure here.

Thanks in advance.

---

<div class="post-metadata">

### Author: ![stevengj](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/stevengj/32/71_2.png) [@stevengj](https://discourse.julialang.org/u/stevengj)
#### Post date: [August 22, 2021, 12:55pm UTC](https://discourse.julialang.org/t/adding-and-accessing-library-files-in-julia-package/66799/2 "2021-08-22T12:55:10Z")

</div>

> [@Rajesh\_Nakka](#):
>
> Please direct me to some resources where I can learn or explain the procedure here.

> **[GitHub - JuliaPackaging/Yggdrasil: Collection of builder repositories for...](https://github.com/JuliaPackaging/Yggdrasil)**
>
> Collection of builder repositories for BinaryBuilder.jl - GitHub - JuliaPackaging/Yggdrasil: Collection of builder repositories for BinaryBuilder.jl

[https://docs.binarybuilder.org/dev/](https://docs.binarybuilder.org/dev/)

[![](https://global.discourse-cdn.com/julialang/original/3X/2/3/23fb15bf86b6113e59f894687ef84827d2f06c0a.jpeg "JuliaCon 2020 | BinaryBuilder.jl - The Subtle Art of Binaries That Just Work") ](https://www.youtube.com/watch?v=3IyXsBwqll8)

> [@How to handle C dependency in packages](https://discourse.julialang.org/t/how-to-handle-c-dependency-in-packages/33643/8):
>
> Hi, with a lot of help from @giordano I prepared a really simple example how to add such C dependency. There is a step by step instruction how to generate JLL module and then reference it from the other module that exposes functionality by wrapping ccall. This tutorial needs improvement but I think it may be useful at the current stage.
