Skip to content

Test stdlib JLL deps on Windows #58560

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

Open
wants to merge 14 commits into
base: master
Choose a base branch
from

Conversation

IanButterworth
Copy link
Member

@IanButterworth IanButterworth commented May 29, 2025

@IanButterworth IanButterworth added test This change adds or pertains to unit tests stdlib Julia's standard library JLLs system:windows Affects only Windows labels May 29, 2025
@debug("Silently skipping stdlib_dependencies.jl as `otool` not available.")
skip = true
end
get_deps = get_deps_otool
strip_soversion = strip_soversion_macos
is_system_lib = is_system_lib_macos
elseif Sys.iswindows()
# On Windows, we need `dumpbin` available
if Sys.which("dumpbin") === nothing
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Note that readelf is also missing on some of the linux runners.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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)

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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

@IanButterworth IanButterworth force-pushed the ib/jll_windows_tests branch 5 times, most recently from 1f992a1 to d3bca9a Compare June 5, 2025 02:45
@IanButterworth IanButterworth force-pushed the ib/jll_windows_tests branch from 1d5d2b1 to 113c668 Compare June 5, 2025 14:22
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
JLLs stdlib Julia's standard library system:windows Affects only Windows test This change adds or pertains to unit tests
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants