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's Pkg currently does not work in CI workflow #152

Open
benegee opened this issue Dec 11, 2023 · 0 comments · May be fixed by #151
Open

Julia's Pkg currently does not work in CI workflow #152

benegee opened this issue Dec 11, 2023 · 0 comments · May be fixed by #151

Comments

@benegee
Copy link
Collaborator

benegee commented Dec 11, 2023

#150 revealed an issue in the CI workflow.

When libtrixi-init-julia is invoked we get:

Install dependencies for configuration...
  Installing known registries into `~/.julia`
julia: symbol lookup error: /opt/hostedtoolcache/julia/1.9.4/x64/bin/../lib/julia/libcurl.so: undefined symbol: nghttp2_option_set_no_rfc9113_leading_and_trailing_ws_validation
  • This occurs as soon as the Pkg package is used (instantiate, status, update, ...).

  • It does not occur when LD_PRELOAD is emptied before. (But then we get the usual HDF5 error.)

  • Since the last time the CI ran successfully, most notably julia was updated to version 1.9.4.

  • Along with this, the bundled libcurl went from 4.7.0 to 4.8.0.

  • The github runner has version 4.7.0 locally installed, which we load via LD_PRELOAD: /lib/x86_64-linux-gnu/libcurl.so.4.

  • The new bundled libcurl version has several more nghttp2_* symbols.

  • When Pkg does something, Julia loads the bundled libcurl.so using dlopen. This happens independent of any previously loaded libcurl.

  • At this point both libcurl.so seem to be loaded

    julia> Libdl.dllist()
    74-element Vector{String}:
    "linux-vdso.so.1"
    "/usr/lib/x86_64-linux-gnu/libcurl.so"
    "/lib/x86_64-linux-gnu/libnghttp2.so.14"
    [...]
    "/mnt/ssd/home/bgeihe/julia-1.9.4/bin/../lib/julia/libcurl.so"
    
  • The bundled libcurl contains nghttp2_* symbols which are not provided by the system libnghttp2

@benegee benegee linked a pull request Dec 12, 2023 that will close this issue
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

Successfully merging a pull request may close this issue.

1 participant