# Change to OpenLibm\_jll modifies find\_library in Libdl from Julia v1.7 to v1.9?

**URL:** <https://discourse.julialang.org/t/change-to-openlibm-jll-modifies-find-library-in-libdl-from-julia-v1-7-to-v1-9/100570>\
**Category:** General Usage\
**Tags:** package\
**Created:** [June 19, 2023, 6:24pm UTC](https://discourse.julialang.org/t/change-to-openlibm-jll-modifies-find-library-in-libdl-from-julia-v1-7-to-v1-9/100570 "2023-06-19T18:24:24Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![diadora77](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/diadora77/32/220469_2.png) [@diadora77](https://discourse.julialang.org/u/diadora77)\
**Post date:** [June 19, 2023, 6:24pm UTC](https://discourse.julialang.org/t/change-to-openlibm-jll-modifies-find-library-in-libdl-from-julia-v1-7-to-v1-9/100570/1 "2023-06-19T18:24:24Z")

</div>

Hi - I recently updated from Julia v1.7 to v1.9. In using find\_library from Libdl.jl package, get different behavior. In v1.7, find\_library will work without specifying extension while in v1.9 it doesn’t. Both can find a specified library if extension added. Note that this is for a non-system library that is user created/compiled.

juliav1.7:

> using Libdl  
> julia\> find\_library(“librtlsdr”)  
> “librtlsdr”  
> julia\> find\_library(“librtlsdr.so”)  
> “librtlsdr.so”

juliav1.9

> julia\> find\_library(“librtlsdr”)  
> “”  
> julia\> find\_library(“librtlsdr.so”)  
> “librtlsdr.so”

In reviewing Libdl, it doesn’t look like anything has change. However, I did notice that OpenLibm\_jll version changed from 0.7.5 to 0.8.1.

---

<div class="post-metadata">

**Author:** ![mkitti](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/mkitti/32/12459_2.png) [@mkitti](https://discourse.julialang.org/u/mkitti)\
**Post date:** [June 19, 2023, 9:32pm UTC](https://discourse.julialang.org/t/change-to-openlibm-jll-modifies-find-library-in-libdl-from-julia-v1-7-to-v1-9/100570/2 "2023-06-19T21:32:48Z")

</div>

Run `julia` with environment variable `LD_DEBUG=libs`. For example,

```julia
$ LD_DEBUG=libs julia
...
julia> using Libdl

julia> find_library("libz")
     91835:	find library=libz [0]; searching
     91835: search path=/home/mkitti/src/julia-1.9.0/bin/../lib/julia:/home/mkitti/src/julia-1.9.0/bin/../lib/julia/.. (RUNPATH from file julia)
     91835: trying file=/home/mkitti/src/julia-1.9.0/bin/../lib/julia/libz
     91835: trying file=/home/mkitti/src/julia-1.9.0/bin/../lib/julia/../libz
     91835: search cache=/etc/ld.so.cache
     91835: search path=/lib/x86_64-linux-gnu:/usr/lib/x86_64-linux-gnu:/lib:/usr/lib (system search path)
     91835: trying file=/lib/x86_64-linux-gnu/libz
     91835: trying file=/usr/lib/x86_64-linux-gnu/libz
     91835: trying file=/lib/libz
     91835: trying file=/usr/lib/libz
     91835:	
     91835:	find library=libz.so [0]; searching
     91835: search path=/home/mkitti/src/julia-1.9.0/bin/../lib/julia:/home/mkitti/src/julia-1.9.0/bin/../lib/julia/.. (RUNPATH from file julia)
     91835: trying file=/home/mkitti/src/julia-1.9.0/bin/../lib/julia/libz.so
     91835:	
"libz"

```

---

<div class="post-metadata">

**Author:** ![diadora77](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/diadora77/32/220469_2.png) [@diadora77](https://discourse.julialang.org/u/diadora77)\
**Post date:** [June 21, 2023, 1:18am UTC](https://discourse.julialang.org/t/change-to-openlibm-jll-modifies-find-library-in-libdl-from-julia-v1-7-to-v1-9/100570/3 "2023-06-21T01:18:23Z")

</div>

Ok – see results below for Julia v1.9. Ran it to find `librtlsdr` (unsuccessful) and `librtlsdr.so` (successful). If need me to show results for Julia v1.7, let me know. For completeness, also ran `ldconfig -p | grep librtlsdr` which resulted in `librtlsdr.so.0 (libc6,x86-64) => /usr/local/lib/librtlsdr.so.0` and `librtlsdr.so (libc6,x86-64) => /usr/local/lib/librtlsdr.so`

> julia\> using Libdl
> 
> julia\> find\_library(“librtlsdr”)  
> 6784: find library=librtlsdr [0]; searching  
> 6784: search path=/home/brent/.julia/juliaup/julia-1.9.1+0.x64.linux.gnu/bin/…/lib/julia:/home/brent/.julia/juliaup/julia-1.9.1+0.x64.linux.gnu/bin/…/lib/julia/… (RUNPATH from file /home/brent/.julia/juliaup/julia-1.9.1+0.x64.linux.gnu/bin/julia)  
> 6784: trying file=/home/brent/.julia/juliaup/julia-1.9.1+0.x64.linux.gnu/bin/…/lib/julia/librtlsdr  
> 6784: trying file=/home/brent/.julia/juliaup/julia-1.9.1+0.x64.linux.gnu/bin/…/lib/julia/…/librtlsdr  
> 6784: search cache=/etc/ld.so.cache  
> 6784: search path=/lib/x86\_64-linux-gnu:/usr/lib/x86\_64-linux-gnu:/lib:/usr/lib (system search path)  
> 6784: trying file=/lib/x86\_64-linux-gnu/librtlsdr  
> 6784: trying file=/usr/lib/x86\_64-linux-gnu/librtlsdr  
> 6784: trying file=/lib/librtlsdr  
> 6784: trying file=/usr/lib/librtlsdr  
> 6784:   
> “”
> 
> julia\> find\_library(“librtlsdr.so”)  
> 6784: find library=librtlsdr.so [0]; searching  
> 6784: search path=/home/brent/.julia/juliaup/julia-1.9.1+0.x64.linux.gnu/bin/…/lib/julia:/home/brent/.julia/juliaup/julia-1.9.1+0.x64.linux.gnu/bin/…/lib/julia/… (RUNPATH from file /home/brent/.julia/juliaup/julia-1.9.1+0.x64.linux.gnu/bin/julia)  
> 6784: trying file=/home/brent/.julia/juliaup/julia-1.9.1+0.x64.linux.gnu/bin/…/lib/julia/librtlsdr.so  
> 6784: trying file=/home/brent/.julia/juliaup/julia-1.9.1+0.x64.linux.gnu/bin/…/lib/julia/…/librtlsdr.so  
> 6784: search cache=/etc/ld.so.cache  
> 6784: trying file=/usr/local/lib/librtlsdr.so  
> 6784:   
> 6784: find library=libusb-1.0.so.0 [0]; searching  
> 6784: search cache=/etc/ld.so.cache  
> 6784: trying file=/lib/x86\_64-linux-gnu/libusb-1.0.so.0  
> 6784:   
> 6784: find library=libudev.so.1 [0]; searching  
> 6784: search cache=/etc/ld.so.cache  
> 6784: trying file=/lib/x86\_64-linux-gnu/libudev.so.1  
> 6784:   
> 6784:   
> 6784: calling init: /lib/x86\_64-linux-gnu/libudev.so.1  
> 6784:   
> 6784:   
> 6784: calling init: /lib/x86\_64-linux-gnu/libusb-1.0.so.0  
> 6784:   
> 6784:   
> 6784: calling init: /usr/local/lib/librtlsdr.so  
> 6784:   
> 6784:   
> 6784: calling fini: /usr/local/lib/librtlsdr.so [0]  
> 6784:   
> 6784:   
> 6784: calling fini: /lib/x86\_64-linux-gnu/libusb-1.0.so.0 [0]  
> 6784:   
> 6784:   
> 6784: calling fini: /lib/x86\_64-linux-gnu/libudev.so.1 [0]  
> 6784:   
> “librtlsdr.so”
