-
-
Notifications
You must be signed in to change notification settings - Fork 559
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
AppVeyor CI: Update to Visual Studio 2022 image #355
Conversation
It looks like the AppVeyor build has been failing for quite some time. I openend a bug report at https://bugs.launchpad.net/lxml/+bug/1993962. @scoder Do you have any idea what's going on? |
After the fix in 77413c2, it processes further, and it looks like it now fails with this error:
|
libiconv is maintained (latest release was last May) and used by libxml2. |
Thanks for linking to the right repository. It looks like the latest stable libiconv version is 1.17, and we’re using 1.14. How can we upgrade? |
There's a repository with git subrepos for the dependencies. But libiconv remains at 1.14 from where it's forked. So it won't be trivial, I guess. Not sure if we must upgrade, though. It might be enough to rebuild the libs in their current state with the right compiler. |
Would you be able to take a look at that? |
I am not an expert in building stuff (for long time got stuck with pure Python), but maybe it will help at least a little bit. I know that it is not a "production solution", but maybe something can be used, since I have built the
Building the |
I split the Python 3.11 part off to a new PR, #360. I would like to request to merge and backport that one first, since it already works on the VS 2019 image. It would still be nice to get libiconv updated and move to the Visual Studio 2022 image, especially because it has better Arm support. However, that can wait until #360 is merged and Python 3.11 wheels are on PyPI. |
b9e24e6
to
20753f7
Compare
Do these tests pass now that #365 has landed? |
Just to add some info to the failed tests on AppVeyor: some of them fail due to rate-limiting of the GitHub API when querying the pre-built Windows libs from the releases page of the According to Lines 34 to 36 in e8f088a
Lines 172 to 181 in e8f088a
no User-Agent header gets sethttps://docs.github.com/en/rest/overview/resources-in-the-rest-api?apiVersion=2022-11-28#user-agent-required You may also want to add a PAT (private access token) for the AppVeyor CI runners, to be able to increase the rate limiting. |
This commit updates the AppVeyor configuration to use the Visual Studio 2022 image. An updated compiler and toolchain helps for Arm64 support, among other things. See https://www.appveyor.com/docs/windows-images-software/
The iconv issue is probably related to this: |
I’m not sure. Maybe get Python 3.11 wheels out first, and then look at this. This AppVeyor build passed, so I would suggest tagging e8f088a as 4.9.2, and uploading these artifacts to PyPI. |
This may be related to the binary compatibility rules for static libraries and different Visual Studio versions: https://learn.microsoft.com/en-us/cpp/porting/binary-compat-2015-2017?view=msvc-170#restrictions
So if the prebuilt static libraries of iconv/zlib do not match the compiler used for the final linkage it breaks. You would need to provide static libs for each compiler/toolset version that you want to support. |
Closing this PR since we're no longer using appveyor. |
This PR updates the AppVeyor configuration to use the Visual Studio 2022 image.
Update 2022-11-07: The Python 3.11 part of this PR has moved to a new PR, #360.