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

Build is failing with MSVC on GitHub Actions #9955

Closed
khaledhosny opened this issue Feb 6, 2022 · 4 comments
Closed

Build is failing with MSVC on GitHub Actions #9955

khaledhosny opened this issue Feb 6, 2022 · 4 comments

Comments

@khaledhosny
Copy link

Describe the bug
After GitHub Actions recently updated their Windows virtual environment, builds starts failing when using MSVC as the .symbols generation step with error messages like the following that does not provide much details:

FAILED: subprojects/freetype/freetype-6.dll.p/freetype-6.dll.symbols 
"C:\hostedtoolcache\windows\Python\3.10.1\x64\Scripts\meson" "--internal" "symbolextractor" "D:\a\libraqm\libraqm\build" subprojects/freetype/freetype-6.dll "subprojects\freetype\freetype.lib" subprojects/freetype/freetype-6.dll.p/freetype-6.dll.symbols 

To Reproduce
Does not seem to be specific to a given project, I have at least two projects that now fail to build on GitHub Actions with MSVC, examples of failing builds:
https://github.com/harfbuzz/harfbuzz/runs/5083756125?check_suite_focus=true#step:6:1040
https://github.com/HOST-Oman/libraqm/runs/5083822595?check_suite_focus=true#step:10:101

Expected behavior
Builds to pass (which was the case before the GitHub Actions update).

system parameters
Ninja and meson versions do not seem to play a factor, I have seen it failing with various versions. The details CI setup can be seen in the links above.

@khaledhosny
Copy link
Author

This might very well not be a meson bug, but it should at least give some useful error message, the failing symbolextractor does not seem to output any error messages.

@eli-schwartz
Copy link
Member

eli-schwartz commented Feb 6, 2022

This is a bug in pip. pypa/pip#10875

Meson cannot output error messages, because pip's generated executable has decided to make sys.stderr not exist, and symbolextractor errors out while trying to set up printing to stderr.

Downgrade and pin pip and it will work.

khaledhosny added a commit to harfbuzz/harfbuzz that referenced this issue Feb 6, 2022
Turns out, pip 22.0 is the source of the breakage:
mesonbuild/meson#9955 (comment)
pypa/pip#10875
khaledhosny added a commit to harfbuzz/harfbuzz that referenced this issue Feb 6, 2022
Turns out, pip 22.0 is the source of the breakage:
mesonbuild/meson#9955 (comment)
pypa/pip#10875
@khaledhosny
Copy link
Author

Wow, thanks! I’ve been banging my head against the wall for days!

@eli-schwartz
Copy link
Member

It is indeed a wonderfully non-obvious problem, yeah. Fingers crossed that pip can fix it soon...

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

No branches or pull requests

2 participants