Skip to content

ci: disable symbol export on Windows verification#1486

Open
timsaucer wants to merge 4 commits intomainfrom
ci/windows-verify-msvc
Open

ci: disable symbol export on Windows verification#1486
timsaucer wants to merge 4 commits intomainfrom
ci/windows-verify-msvc

Conversation

@timsaucer
Copy link
Copy Markdown
Member

@timsaucer timsaucer commented Apr 10, 2026

Which issue does this PR close?

None, but the verification script was failing on windows.

Rationale for this change

Linker was failing on 53.0.0 even though our CI builds were fine. This appears to be due to the debug build and number of linked objects in 53.0.0. This sets a build variable to avoid this issue.

What changes are included in this PR?

Sets linker flag in verification script.

Are there any user-facing changes?

No

Testing

Demonstration that it now works:

https://github.com/apache/datafusion-python/actions/runs/24263082673

@timsaucer
Copy link
Copy Markdown
Member Author

FYI @kevinjqliu

@alamb
Copy link
Copy Markdown
Contributor

alamb commented Apr 10, 2026

Is there any way to test this? The verify-release-candidate workflow doesn't seem tohave run on this PR

Copy link
Copy Markdown
Contributor

@alamb alamb left a comment

Choose a reason for hiding this comment

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

Thanks @timsaucer

- name: Set RUSTFLAGS for Windows GNU linker
if: matrix.os == 'windows'
shell: bash
run: echo "RUSTFLAGS=-C link-arg=-Wl,--exclude-libs=ALL" >> "$GITHUB_ENV"
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

the title of this PR says it is setting the linker to msvc but this seems to actually to disable automatic symbol export

https://linux.die.net/man/1/ld

--exclude-libs lib,lib,...
Specifies a list of archive libraries from which symbols should not be automatically exported. The library names may be delimited by commas or colons. Specifying "--exclude-libs ALL" excludes symbols in all archive libraries from automatic export. This option is available only for the i386 PE targeted port of the linker and for ELF targeted ports. For i386 PE , symbols explicitly listed in a .def file are still exported, regardless of this option. For ELF targeted ports, symbols affected by this option will be treated as hidden.

@timsaucer timsaucer changed the title ci: Set linker to msvc for Windows ci: disable symbol export on Windows verification Apr 11, 2026
@timsaucer
Copy link
Copy Markdown
Member Author

Is there any way to test this? The verify-release-candidate workflow doesn't seem tohave run on this PR

Yes, I posted a link in the description where I ran it. This is a manual workflow.

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 this pull request may close these issues.

2 participants