-
Notifications
You must be signed in to change notification settings - Fork 1k
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
Add mingw32-w64/wine CI build #922
Conversation
Nice! Concept ACK |
5f4e39b
to
45218a2
Compare
ok it seems there was a reason why -static was there: Maybe |
Can you also change |
@real-or-random That wasn't the reason actually. I tried this first in the minisketch repository (see bitcoin-core/minisketch#33), and there the issue is that C++ builds to building against shared libgcc by default (something related to being able to catch exceptions across libraries), but I couldn't get that to work with Wine. For C, static libgcc is the default, so this problem doesn't occur. I've just removed it. |
Ok makes sense. We can take care of more improvements to mingw later then (#923). ACK mod the |
Done. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ACK e2750b1
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
utACK e2750b1
Hm any idea why wine complains so loudly (on cirrus). Is that supposed to be ignored?
|
It's only testing 64-bit binaries, so it doesn't need wine32 I think. We could probably just add it to the dockerfile to silence it. |
AFAIU wine32 would be required to run 32-bit binaries, which we don't need. I'm not sure why Wine warns. Maybe because 32bit is still a common thing on Windows and it's an issue that many people run into? |
@sipa Ok, I played around with the docker container. If I'm not mistaken:
Both are fine but the first is more natural... By the way, |
@real-or-random Ok, used your first variant, and also changed true -> xcopy. |
Ok, great. Now there seems to be one final hiccup:
( https://cirrus-ci.com/task/4912068852711424?logs=test#L258 ) I can sometimes reproduce this in the Docker image and then the seed always has some random bytes in front followed by zeros. You can cherry-pick this fix: real-or-random@625b1aa, see https://docs.microsoft.com/en-us/cpp/c-runtime-library/reference/fopen-wfopen?view=msvc-160#generic-text-routine-mappings. |
This makes a difference with mingw builds on Wine, where the subsequent fread() may abort early in the default text mode. The Microsoft C docs say: "In text mode, CTRL+Z is interpreted as an EOF character on input."
@real-or-random Cherry picked. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ACK ed5a199
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
utACK ed5a199
No description provided.