Skip to content

Libdl.dlopen doesn't find shared libraries anymore #26557

@nsmith5

Description

@nsmith5

Libdl.dlopen doesn't seem to be able to find shared libraries the way it did on 0.6.x

On Julia 0.6.x

julia> versioninfo()
Julia Version 0.6.2
Commit d386e40c17 (2017-12-13 18:08 UTC)
Platform Info:
  OS: Linux (x86_64-pc-linux-gnu)
  CPU: Intel(R) Core(TM) i5-8250U CPU @ 1.60GHz
  WORD_SIZE: 64
  BLAS: libopenblas (USE64BITINT DYNAMIC_ARCH NO_AFFINITY Prescott)
  LAPACK: libopenblas64_
  LIBM: libopenlibm
  LLVM: libLLVM-3.9.1 (ORCJIT, broadwell)

julia> lib = Libdl.dlopen("libz")
Ptr{Void} @0x00007f47adcb91a0

On Julia 0.7.x-DEV

julia> versioninfo()
Julia Version 0.7.0-DEV.4631
Commit 9a55c8fbc* (2018-03-19 03:59 UTC)
Platform Info:
  OS: Linux (x86_64-redhat-linux)
  CPU: Intel(R) Core(TM) i5-8250U CPU @ 1.60GHz
  WORD_SIZE: 64
  LIBM: libopenlibm
  LLVM: libLLVM-3.9.1 (ORCJIT, skylake)
Environment:

julia> using Libdl

julia> lib = Libdl.dlopen("libz")
ERROR: could not load library "libz"
libz.so: cannot open shared object file: No such file or directory
Stacktrace:
 [1] dlopen(::String) at /builddir/build/BUILD/julia/build/usr/share/julia/site/v0.7/Libdl/src/Libdl.jl:99
 [2] top-level scope
 [3] macro expansion at /builddir/build/BUILD/julia/build/usr/share/julia/site/v0.7/REPL/src/REPL.jl:117 [inlined]
 [4] (::getfield(REPL, Symbol("##28#29")){REPL.REPLBackend})() at ./event.jl:92

julia> lib = Libdl.dlopen("libz.so")
ERROR: could not load library "libz.so"
libz.so: cannot open shared object file: No such file or directory
Stacktrace:
 [1] dlopen(::String) at /builddir/build/BUILD/julia/build/usr/share/julia/site/v0.7/Libdl/src/Libdl.jl:99
 [2] top-level scope
 [3] macro expansion at /builddir/build/BUILD/julia/build/usr/share/julia/site/v0.7/REPL/src/REPL.jl:117 [inlined]
 [4] (::getfield(REPL, Symbol("##28#29")){REPL.REPLBackend})() at ./event.jl:92

julia> lib = Libdl.dlopen("libz.so.1")
Ptr{Nothing} @0x00007f139153b520

As you can see, it works once I specify the exact name of the shared library, but not before then.

Other Details

  • Operating system: Linux (Fedora 27)

Metadata

Metadata

Assignees

Labels

docsThis change adds or pertains to documentationneeds newsA NEWS entry is required for this change

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions