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

Cannot precompile in Julia 1.11.0-DEV.868 (2023-11-08) Commit f31cd8ad2f #393

Open
laurentbartholdi opened this issue Nov 14, 2023 · 4 comments

Comments

@laurentbartholdi
Copy link

I updated Julia a few days ago from its github source; and BAM CxxWrap doesn't work anymore. The message, after updating CxxWrap to #main or to the latest release:

(@v1.11) pkg> add https://github.com/JuliaInterop/CxxWrap.jl.git#main
    Updating git-repo `https://github.com/JuliaInterop/CxxWrap.jl.git`
   Resolving package versions...
    Updating `~/.julia/environments/v1.11/Project.toml`
  [1f15a43c] + CxxWrap v0.14.2 `https://github.com/JuliaInterop/CxxWrap.jl.git#main`
  No Changes to `~/.julia/environments/v1.11/Manifest.toml`

(@v1.11) pkg> build CxxWrap

julia> using CxxWrap
Precompiling CxxWrap
        Info Given CxxWrap was explicitly requested, output will be shown live
dyld[71790]: missing symbol called

[71790] signal 6: Abort trap: 6
in expression starting at /Users/laurent/.julia/packages/CxxWrap/aqvcG/src/CxxWrap.jl:97
__abort_with_payload at /usr/lib/dyld (unknown line)
Allocations: 772024 (Pool: 771957; Big: 67); GC: 1
  ✗ CxxWrap
  0 dependencies successfully precompiled in 1 seconds. 10 already precompiled.

ERROR: The following 1 direct dependency failed to precompile:

CxxWrap [1f15a43c-97ca-5a2a-ae31-89f07a497df4]

Failed to precompile CxxWrap [1f15a43c-97ca-5a2a-ae31-89f07a497df4] to "/Users/laurent/.julia/compiled/v1.11/CxxWrap/jl_4koxUb".
dyld[71790]: missing symbol called

[71790] signal 6: Abort trap: 6
in expression starting at /Users/laurent/.julia/packages/CxxWrap/aqvcG/src/CxxWrap.jl:97
@benlorenz
Copy link
Contributor

The same error can be seen in the GitHub CI on master: https://github.com/JuliaInterop/CxxWrap.jl/actions/runs/6724789547/job/18277808733#step:6:119
The linux error is slightly more helpful:

julia: symbol lookup error: libcxxwrap_julia.so: undefined symbol: jl_arrayset, version JL_LIBJULIA_1.11

This should get fixed by JuliaInterop/libcxxwrap-julia#137 although I have not tested this on macOS.

@laurentbartholdi
Copy link
Author

TADA, it works now with a home compile!

FWIW:

  • macOS has changed all the debugging infos; DYLD_PRINT_LIBRARIES=1 julia -e 'using CxxWrap' was useful to find out which library was loaded
  • I couldn't get CxxWrap to use the "override" libraries as indicated in the documentation; so I just put a quick-and-dirty "cd override; ln -sf pwd ~/.julia/artifacts/1f21436ed601f5e0111b57dfae2407890f4bbc4b"

@barche
Copy link
Collaborator

barche commented Nov 16, 2023

I have merged JuliaInterop/libcxxwrap-julia#137, so I think the current libcxxwrap-julia main branch is a good candidate for a release and rebuild of the JLL. I guess this will break JLL linked against older versions of libcxxwrap-julia?

@benlorenz
Copy link
Contributor

benlorenz commented Nov 17, 2023

I have merged JuliaInterop/libcxxwrap-julia#137, so I think the current libcxxwrap-julia main branch is a good candidate for a release and rebuild of the JLL. I guess this will break JLL linked against older versions of libcxxwrap-julia?

I tried this locally with julia 1.9 and it seems to work fine without a rebuild:
I used the jl_array branch to locally build a new jll for x86_64-linux-gnu-cxx11-julia_version+1.9.0 and the Polymake.jl tests run fine with the previously released version of libpolymake_julia_jll (I tried CxxWrap.jl release and main branch).
Edit: Same for julia 1.6.

But for julia-nightly we do seem to need rebuilds of dependent jlls, otherwise I get crashes.

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