Skip to content

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
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 requested a review from giordano June 7, 2025 10:09
@IanButterworth IanButterworth changed the title Test stdlib JLL deps on Windows Fix and test stdlib JLL deps on Windows Jun 8, 2025
Co-authored-by: Mosè Giordano <[email protected]>
@IanButterworth IanButterworth merged commit 5610e21 into JuliaLang:master Jun 8, 2025
7 checks passed
@IanButterworth IanButterworth deleted the ib/jll_windows_tests branch June 9, 2025 12:56
nilesh646 pushed a commit to nilesh646/julia that referenced this pull request Jun 17, 2025
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