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
Classic legacy MinGW builds currently broken #2924
Comments
Great to see you're still around! See #2721 (comment): what's |
@MarcelRaad Thanks for pointing me at this, I did not see the notification before. I will try to figure out the variables, but in order to do that I will have to restore my previous build system which crashed. I am currently building a new one which might also have a newer MinGW version. |
Status update: Some of my builds are back up and running. Currently re-building the libssh2 dependencies throughout the night and planning to restart native Windows builds tomorrow. I hope to get it working before the release in order to get a potential bugfix in. |
Status update: Unfortunately I won't be able to re-test this before the release. My new curl builders are unable to checkout the repository for some reason. I will have to investigate this first and will report back once my builders are working again and I was able to identify the root cause within MinGW. |
Status update: Cross-compilation is back up and running, but native Windows builds are still delayed due to Git cloning issues. @bagder Could you please tell me how you made your buildbot react upon pull requests? I would like to have my (now dockerized) builds also performed before a merge is done. |
Do you have any hints/advice on getting the buildbot setup for PRs @dago ? (it's not really me who set that up, it just uses my permission, Dagobert did the real work) |
Sure. For this to work you need to set up a hook in the GitHub project to the buildbot receiver. In my case this was You only need one buildbot trigger for github for all projects:
This is also documented at the Buildbot GitHub Change Hook Description After that hopefully pull requests will be automatically checked and status easily visible :-) |
@dago Thank you very much. I will take a look at the change_hook configuration. The status part is already configured for my buildbot instance. |
@mback2k: we build on windows in the CI and @vszakats builds the official windows builds using mingw successfully. These are indications that what you reported up here was due to a mingw bug/issue that no longer exists. Can we close this or are you actively pursuing this? |
@bagder I am actively trying to bring my legacy MinGW buildbots back to live. The issue still persisted with those and I don't think any of the builds you mentioned use legacy MinGW (Windows XP level). Please allow me to keep this issue open until my buildbots are working again and I can confirm that it also works with the MinGW setup I had. |
@mback2k: If your goal is to build binaries that run on Windows XP — in my experience this doesn't require old/legacy MinGW tools. E.g. the latest MinGW toolchain available on macOS (via Homebrew) is able to produce XP-compatible binaries just fine. It uses the same The only incompatibility I've found in context of curl was that WinIDN option isn't compatible with XP, unless a |
@vszakats Thanks for the additional information. I just want to make sure that curl can still be build with the original MinGW toolchain. I was finally able to bring back my buildbots at https://libssh2build.uxnr.de/waterfall and https://curlbuild.uxnr.de/waterfall. I guess we will see tomorrow what things are still breaking or missing. |
Some issues with the legacy MinGW compiler toolchain seem to be still existing, see: |
Many people are still using the classic MinGW from mingw.org as it's the first Google hit, so I consider supporting it important, at least in the latest version. The current version works fine except for one warning-as-error (EDIT: when using the default POSIX threads, not Win32 threads, which @mback2k 's builders are using.) But again, what version is this and what are the values of the following macros after including |
Classic MinGW still has _beginthreadex's return type as unsigned long instead of uintptr_t [0]. uintptr_t is not even defined because of [1]. [0] https://sourceforge.net/p/mingw/mingw-org-wsl/ci/wsl-5.1-release/tree/mingwrt/include/process.h#l167 [1] https://sourceforge.net/p/mingw/mingw-org-wsl/ci/wsl-5.1-release/tree/mingwrt/include/process.h#l90 Bug: curl#2924 (comment) Closes
Classic MinGW still has _beginthreadex's return type as unsigned long instead of uintptr_t [0]. uintptr_t is not even defined because of [1]. [0] https://sourceforge.net/p/mingw/mingw-org-wsl/ci/wsl-5.1-release/tree/mingwrt/include/process.h#l167 [1] https://sourceforge.net/p/mingw/mingw-org-wsl/ci/wsl-5.1-release/tree/mingwrt/include/process.h#l90 Bug: curl#2924 (comment) Closes
Classic MinGW still has _beginthreadex's return type as unsigned long instead of uintptr_t [0]. uintptr_t is not even defined because of [1]. [0] https://sourceforge.net/p/mingw/mingw-org-wsl/ci/wsl-5.1-release/tree/mingwrt/include/process.h#l167 [1] https://sourceforge.net/p/mingw/mingw-org-wsl/ci/wsl-5.1-release/tree/mingwrt/include/process.h#l90 Bug: curl#2924 (comment) Closes curl#3051
Classic MinGW still has _beginthreadex's return type as unsigned long instead of uintptr_t [0]. uintptr_t is not even defined because of [1]. [0] https://sourceforge.net/p/mingw/mingw-org-wsl/ci/wsl-5.1-release/tree/mingwrt/include/process.h#l167 [1] https://sourceforge.net/p/mingw/mingw-org-wsl/ci/wsl-5.1-release/tree/mingwrt/include/process.h#l90 Bug: curl#2924 (comment) Closes curl#3051
@MarcelRaad I am using legacy MinGW from the package mingw-get-0.6.2-mingw32-beta-20131004-1-bin.zip which is build into a docker container via this Dockerfile. [I will follow up or edit this post once I have the requested macro values.] |
@MarcelRaad These are the values I was able to capture with this debug commit:
|
Classic MinGW still has _beginthreadex's return type as unsigned long instead of uintptr_t [0]. uintptr_t is not even defined because of [1]. [0] https://sourceforge.net/p/mingw/mingw-org-wsl/ci/wsl-5.1-release/tree/mingwrt/include/process.h#l167 [1] https://sourceforge.net/p/mingw/mingw-org-wsl/ci/wsl-5.1-release/tree/mingwrt/include/process.h#l90 Bug: curl#2924 (comment) Closes curl#3051
Thanks a lot @mback2k ! Does the original problem from #2924 (comment) still exist, or any other build problems? |
@MarcelRaad I think all mentioned issues have been fixed. At least I was able to perform a successful build after merging your threading fix. Unfortunately my buildbots are now down again since my hoster has some virtualization issues. I won’t be able to take another look before the weekend since I am currently traveling on vacation. |
Classic MinGW still has _beginthreadex's return type as unsigned long instead of uintptr_t [0]. uintptr_t is not even defined because of [1]. [0] https://sourceforge.net/p/mingw/mingw-org-wsl/ci/wsl-5.1-release/tree/mingwrt/include/process.h#l167 [1] https://sourceforge.net/p/mingw/mingw-org-wsl/ci/wsl-5.1-release/tree/mingwrt/include/process.h#l90 Bug: curl#2924 (comment) Closes curl#3051 CMake: added missing HAVE_BUILTIN_AVAILABLE (define and test), added missing test for HAVE_CLOCK_GETTIME_MONOTONIC
I can now finally report back that all issues with the setup at my hosting provider have now been solved and my buildbots are up and running again. I will also try to provide a webhook URL for @bagder in order to run builds for pull-requests soon. |
My classic builds using legacy MinGW are currently broken. I am going to try to investigate this myself, but posting this for reference here anyway:
The text was updated successfully, but these errors were encountered: