Fix Windows/MSYS2/MinGW64 build failures (issue #280)#355
Merged
Conversation
Add MSYS environment support to configure.ac so users building from the MSYS shell get proper Windows configuration (winsock2.h, ws2_32 lib) instead of falling through to the Unix case (arpa/inet.h). Changes: - configure.ac: Add *-msys* case with Windows config and warning about msys-2.0.dll dependency - configure.ac: Add host triplet and Windows build status to summary - appveyor.yml: Add MSYS environment to CI matrix alongside MinGW64 - README.md: Add Windows/MSYS2 build section with step-by-step instructions and explanation of shell differences
Integrate Windows/MSYS2 builds into the existing verify job matrix instead of using a separate AppVeyor configuration. This consolidates all CI into GitHub Actions. - Add MINGW64 and MSYS matrix entries with msys2 shell - Add MSYS2 setup and package installation steps - Add Windows-specific libmicrohttpd build with --enable-poll=no - Remove AppVeyor configuration and badge
Include entries don't inherit matrix defaults, so each needs an explicit shell value to work with the defaults.run.shell setting.
The git checkout and failure-handling steps need explicit shell: bash since they may run before MSYS2 is set up or if MSYS2 setup fails.
The curl package doesn't include development headers needed for compiling tests. Use libcurl-devel which provides curl/curl.h.
The SSL tests (ssl_base, ssl_with_protocol_priorities, ssl_with_trust) were failing because GnuTLS wasn't installed in the MSYS environment.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Fixes #280 - Users on MSYS2/MinGW64 get build failures when running configure from the wrong shell.
Root cause: MSYS2 has multiple shells with different host triplets:
x86_64-pc-msys- Does NOT match*-mingw*patternx86_64-w64-mingw32- Matches*-mingw*patternWhen users run configure from the MSYS shell (default), it falls through to the Unix case, looking for
arpa/inet.hinstead ofwinsock2.h.Changes:
*-msys*case in configure.ac with Windows headers/libraries and a warning about msys-2.0.dll dependencyTest plan