Fix and test stdlib JLL deps on Windows#58560
Fix and test stdlib JLL deps on Windows#58560IanButterworth merged 15 commits intoJuliaLang:masterfrom
Conversation
test/stdlib_dependencies.jl
Outdated
| is_system_lib = is_system_lib_macos | ||
| elseif Sys.iswindows() | ||
| # On Windows, we need `dumpbin` available | ||
| if Sys.which("dumpbin") === nothing |
There was a problem hiding this comment.
This is shipped with Visual Studio IIRC, so unlikely to be on the CI machines
I wonder if we have to use ObjectFile.jl instead? I'm not aware of any other open-source / freely-distributed utility to print this on Windows, but maybe @staticfloat knows of something
There was a problem hiding this comment.
I don't know how easy it is for us to install ObjectFile during base tests, that's why I punted on this and just used CLI tools when available. I usually use readelf cross-compiled for Windows to do this kind of dumping, but of course that's not available on the tester images, only the builder images. We could download, for instance, this archive and use the readelf within it to dump the dependencies perhaps.
There was a problem hiding this comment.
Note that readelf is also missing on some of the linux runners.
There was a problem hiding this comment.
We have llvm-tools, which include readobj/readelf that can parse the info llvm-readelf --coff-imports with that artifact, which means you can also get there from libLLVM's COFFObjectFile (though it doesn't look like you can get there from the C API)
There was a problem hiding this comment.
I believe llvm-tools requires running a make install which hasn't been run on these runners? I'm trying ObjectFile.jl, which works on macOS
ab6f9ad to
786b116
Compare
786b116 to
101a4c6
Compare
stdlib/CompilerSupportLibraries_jll/src/CompilerSupportLibraries_jll.jl
Outdated
Show resolved
Hide resolved
1f992a1 to
d3bca9a
Compare
1d5d2b1 to
113c668
Compare
Co-authored-by: Mosè Giordano <765740+giordano@users.noreply.github.com>
Restore the versioned DLL name libpcre2-8-0.dll on Windows, which was inadvertently changed to the unversioned libpcre2-8.dll in JuliaLang#58560. External JLL packages (e.g. Glib_jll) link against the versioned name libpcre2-8-0.dll. When PCRE2_jll only loaded the unversioned name, Windows could not resolve that dependency, causing DLL load failures. Fixes JuliaLang#61004 Co-authored-by: Claude <noreply@anthropic.com>
Uh oh!
There was an error while loading. Please reload this page.