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

[CompilerSupportLibraries_jll] Add libssp as product on Windows #48012

Merged
merged 1 commit into from
Dec 28, 2022

Conversation

giordano
Copy link
Contributor

Background is https://discourse.julialang.org/t/glmakie-and-plots-fail-to-precompile-under-julia-1-8-4/92087. To summarise:

  • libcairo requires libssp on Windows
  • somehow, libssp-0.dll was loaded automatically when loading libllvm until julia v1.8.3, only on Windows; on macOS and Linux I don’t see libssp loaded at any point
  • this doesn’t happen anymore with julia v1.8.4+, which means that libcairo can’t find libssp any longer on Windows, unless the directory where libssp is located is in PATH

This PR explicitly adds libssp to the products of CompilerSupportLibraries_jll on Windows so that we can ensure this library is loaded when CompilerSupportLibraries_jll is used.

@giordano giordano added JLLs backport 1.8 Change should be backported to release-1.8 backport 1.9 Change should be backported to release-1.9 labels Dec 27, 2022
@giordano
Copy link
Contributor Author

My only question is: do this only on Windows (where it's currently needed) or everywhere (we may need libssp in the future, but it isn't available on Musl). @staticfloat @vchuravy opinions?

@jaakkor2
Copy link
Contributor

Now libssp-0.dll is again loaded just before libLLVM-14jl.dll at startup.

julia> using Libdl
julia> filter!(lib -> occursin("libssp", lib), dllist())
1-element Vector{String}:
 "C:\\Users\\jaakkor2\\Downloads\\julia-06b157c4e9\\bin\\libssp-0.dll"

procmon filtered output https://gist.github.com/jaakkor2/736732a340b4c0d9692583ebead74c4e

@giordano
Copy link
Contributor Author

Thanks for confirming it! I'm going to merge it now as-is, and if @staticfloat or someone else believes it'd be better to be more consistent across operating systems we can revise it for v1.9.

@giordano giordano merged commit 82fbf54 into JuliaLang:master Dec 28, 2022
@giordano giordano deleted the mg/csl-libssp branch December 28, 2022 16:19
@staticfloat
Copy link
Member

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

KristofferC pushed a commit that referenced this pull request Dec 28, 2022
@KristofferC KristofferC mentioned this pull request Dec 28, 2022
14 tasks
giordano added a commit that referenced this pull request Dec 29, 2022
@giordano giordano mentioned this pull request Dec 29, 2022
10 tasks
@giordano giordano removed the backport 1.8 Change should be backported to release-1.8 label Dec 29, 2022
@KristofferC KristofferC removed the backport 1.9 Change should be backported to release-1.9 label Jan 2, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants