Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

julia 1.8.5 - could not load library "libssp.so.0" (linux) #48177

Closed
t-bltg opened this issue Jan 8, 2023 · 3 comments · Fixed by #48333
Closed

julia 1.8.5 - could not load library "libssp.so.0" (linux) #48177

t-bltg opened this issue Jan 8, 2023 · 3 comments · Fixed by #48333
Labels
external dependencies Involves LLVM, OpenBLAS, or other linked libraries

Comments

@t-bltg
Copy link
Contributor

t-bltg commented Jan 8, 2023

I've just built julia 1.8.5 from sources (this is usually what I do when a julia version is available).
My Make.user contains:

USE_BINARYBUILDER := 0
USE_SYSTEM_CSL := 1
USE_GPL_LIBS := 1

After installing, precompilation fails:

ERROR: LoadError: InitError: could not load library "libssp.so.0"
libssp.so.0: cannot open shared object file: No such file or directory
Stacktrace:
  [1] dlopen(s::String, flags::UInt32; throw_error::Bool)
    @ Base.Libc.Libdl ./libdl.jl:117
  [2] dlopen (repeats 2 times)
    @ ./libdl.jl:116 [inlined]
  [3] __init__()
    @ CompilerSupportLibraries_jll $PREFIX/share/julia/stdlib/v1.8/CompilerSupportLibraries_jll/src/CompilerSupportLibraries_jll.jl:67
  [4] _include_from_serialized(pkg::Base.PkgId, path::String, depmods::Vector{Any})
    @ Base ./loading.jl:831
  [5] _require_search_from_serialized(pkg::Base.PkgId, sourcepath::String, build_id::UInt64)
    @ Base ./loading.jl:1039
  [6] _require(pkg::Base.PkgId)
    @ Base ./loading.jl:1315
  [7] _require_prelocked(uuidkey::Base.PkgId)
    @ Base ./loading.jl:1200
  [8] macro expansion
    @ ./loading.jl:1180 [inlined]
  [9] macro expansion
    @ ./lock.jl:223 [inlined]
 [10] require(into::Module, mod::Symbol)
    @ Base ./loading.jl:1144
 [11] include(mod::Module, _path::String)
    @ Base ./Base.jl:419
 [12] top-level scope
    @ ~/.julia/packages/JLLWrappers/QpMQW/src/toplevel_generators.jl:188
 [13] include
    @ ./Base.jl:419 [inlined]
 [14] include_package_for_output(pkg::Base.PkgId, input::String, depot_path::Vector{String}, dl_load_path::Vector{String}, load_path::Vector{String}, concrete_deps::Vector{Pair{Base.PkgId, UInt64}}, source::String)
    @ Base ./loading.jl:1554
 [15] top-level scope
    @ stdin:1
during initialization of module CompilerSupportLibraries_jll

Probably induced by #48027.
I don't understand what is the justification for requiring this library on OSs other than windows.

cc @giordano.

@t-bltg t-bltg changed the title could not load library "libssp.so.0" (linux) julia 1.8.5 - could not load library "libssp.so.0" (linux) Jan 8, 2023
@giordano
Copy link
Contributor

giordano commented Jan 8, 2023

I don't understand what is the justification for requiring this library on OSes other than windows.

It was linked by the PR which introduced it, #48012 (comment):

Yes, I think it would be best to do this consistently across OS's, where possible. :)

@t-bltg
Copy link
Contributor Author

t-bltg commented Jan 8, 2023

Sorry, but that is not a justification. It introduces a hard library dependency where it is not needed. It should be made optional / non-fatal, since libssp is usually not available e.g. on linux.

A trivial post-install workaround:

$ echo | gcc -shared -o $PREFIX/lib/julia/libssp.so.0 -xc -

@giordano
Copy link
Contributor

giordano commented Jan 8, 2023

@staticfloat ?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
external dependencies Involves LLVM, OpenBLAS, or other linked libraries
Projects
None yet
3 participants