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

libjulia provide debug variant #7870

Open
vchuravy opened this issue Dec 29, 2023 · 3 comments
Open

libjulia provide debug variant #7870

vchuravy opened this issue Dec 29, 2023 · 3 comments

Comments

@vchuravy
Copy link
Member

On a debug build of Julia instaling CxxWrap fails with:


Failed to precompile CxxWrap [1f15a43c-97ca-5a2a-ae31-89f07a497df4] to "/home/vchuravy/.julia/compiled/v1.10/CxxWrap/jl_MBDil9".
ERROR: LoadError: InitError: could not load library "/home/vchuravy/.julia/artifacts/b28969bfe0d4c551302f58ecbf5a91930aa66489/lib/libcxxwrap_julia.so"
libjulia.so.1.10: 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(s::String, flags::UInt32)
    @ Base.Libc.Libdl ./libdl.jl:116
  [3] macro expansion
    @ ~/.julia/packages/JLLWrappers/pG9bm/src/products/library_generators.jl:63 [inlined]
  [4] __init__()
    @ libcxxwrap_julia_jll ~/.julia/packages/libcxxwrap_julia_jll/r5MhD/src/wrappers/x86_64-linux-gnu-cxx11-julia_version+1.10.0.jl:9
  [5] run_module_init(mod::Module, i::Int64)
    @ Base ./loading.jl:1128
  [6] register_restored_modules(sv::Core.SimpleVector, pkg::Base.PkgId, path::String)
    @ Base ./loading.jl:1116

I see that the libjulia provides both the debug and non debug library, but it should probably provide a variant such that JLLs depending on it can be used on a debug build of Julia.

@ViralBShah
Copy link
Contributor

ViralBShah commented Jan 10, 2024

In the past we used to ship the debug variants, but we stopped doing that since it was blowing up the download size. Our download infrastructure is a lot more robust now, and we could just bring it back.

Just thinking out aloud - Is it possible to provide it as a JLL through Yggdrasil?

-viral

@vchuravy
Copy link
Member Author

Yeah the goal would be to have it as a seperate variant of the libjulia_jll so that if one is running a debug build of Julia packages that depend on libjulia_jll don't spuriously fail.

@barche
Copy link
Contributor

barche commented Jan 14, 2024

My idea was always that users needing to go that far in debugging a CxxWrap-based package would compile everything themselves and do that based on the debug version of Julia, but maybe that becomes a bit cumbersome as the ecosystem grows. Can the logic that is used to find the correct artifact also detect if Julia is a debug version?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants