-
Notifications
You must be signed in to change notification settings - Fork 249
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
Testing fails on MinGW #1206
Comments
As of my PR moving everything to I've been trying to fix the complaints from the CI about plugin for lto objects, but I cannot seem to fix it. |
Some progress understanding the build issue: apparently there is a bug in CMake which means CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS does not work on MinGW: https://gitlab.kitware.com/cmake/cmake/-/issues/22092 One of the suggested workarounds is to manually pass Actually, the reason why we are seeing the issue in the first place is that we use You can see on this branch https://github.com/fredrik-johansson/flint2/tree/mingw that building almost succeeds with an empty Later on there is still this build failure:
Not sure how to fix that... |
|
ChatGPT tells me that you can do something like |
Had problems with getting a MinGW to work with the regular |
I am trying to debug with gdb on MinGW via Github CI as I do not have access to any Windows machine. See look at my actions under the branch |
Looks like there is a bug: https://stackoverflow.com/a/74620721/13527214 Perhaps related to this as I only am able to get MinGW to fail with multithreaded make. |
I very much believe it's related to the management of files in |
Yes, as far as I can tell this was working before merging #1201. |
So I do think that In the mean time I will implement a check, done during configuration, to check whether |
Will this hinder cross-compilation? If so, that should be avoided. |
I believe cross-compilation is not supported (that's what I remember Bill saying [Correction: I cannot back this up, and think I was wrong here.]). However, I would like to support cross-compilation, so if |
We have been cross-compiling for years with the blessing of the flint maintainers. I believe that if flint 3.0 does not support cross-compilation, this would be a big step backwards. |
I believe I found the problem... The problem is that on Github's CI servers, we do not have write access to |
Why do we even need files for this? Do we really require so much space for factoring? |
Last time I tried figuring this out I only found #708 as a breadcrumb. |
No, it can certainly be done in memory. Someone just has to rewrite the code. |
I can't even see a single |
There's flint_fprintf. |
Yeah, but then one has to parse the input, right? We cannot read and write directly into and into memory, we must parse the data both ways |
I suppose you'd rewrite the code to store arrays of integers instead of strings that need to be parsed. |
Closed as of #1279. |
See the discussion in gh-1334 The fix in gh-1279 did not really fix the problem but just avoids it in CI. The problem still shows up outside of CI e.g.: flintlib/python-flint#43 (comment) The OP here suggests that the previous MinGW CI failure was random. A deterministic reproducer of what I think is the same problem from
The PR gh-1279 introduces a This code seems to have changed quite a few times since gh-1201 with various conditional preprocessor macros for different environments and different versions of the code. That makes it difficult to track exactly when it was or was not working on different platforms. Apart from avoiding the use of temporary files altogether a better option might be to use At least for the MinGW case something else needs to be used because the current code always (except in CI) tries to write to |
Factoring fails randomly on MinGW in the 2.10 branch:
This seems to be a consequence of #1201 and the subsequent fix d8fc2fd.
On trunk, MinGW currently fails completely, presumably due to missing
FLINT_DLL
declarations.The text was updated successfully, but these errors were encountered: