Skip to content
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

Upstream {fmpz,fmpq}_poly_extra #153

Open
saraedum opened this issue Dec 17, 2020 · 12 comments
Open

Upstream {fmpz,fmpq}_poly_extra #153

saraedum opened this issue Dec 17, 2020 · 12 comments
Labels
build Build, Packaging and CI related issues

Comments

@saraedum
Copy link
Member

Almost everything should be upstreamed to FLINT.

There is no problem if for some time FLINT and e-antic ship the same symbols here (as long as they are compatible.)

@saraedum saraedum added the build Build, Packaging and CI related issues label Dec 9, 2021
@w-bruns
Copy link

w-bruns commented Nov 25, 2024

Unfortunately I ran into a problem when I tried to install ea-ntic 2.0.2 for Normaliz under MSYS2 for MS Windows:

C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/14.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/Users/wbruns/Dropbox/NormalizMSYS/New/normaliz-3.10.4/local/lib/libflint.a(fmpz_poly_merged.o): in function `fmpz_poly_randtest_irreducible':
C:\Users\wbruns\Dropbox\NormalizMSYS\New\normaliz-3.10.4\nmz_opt_lib\Flint_source\flint-3.0.1/src/fmpz_poly/randtest.c:89: multiple definition of `fmpz_poly_randtest_irreducible'; fmpz_poly_extra/.libs/randtest_irreducible.o:C:\Users\wbruns\Dropbox\NormalizMSYS\New\normaliz-3.10.4\nmz_opt_lib\E-ANTIC_source\e-antic-2.0.2\libeantic\src/fmpz_poly_extra/randtest_irreducible.c:18: first defined here

I have not experienced this problem under Linux and MacOS. But it would be good if it could be removed completely.

@saraedum
Copy link
Member Author

fmpz_poly_randtest_irreducible is only available since c7e042fdafa0a25db7f23ef2b7601e01da43b82f in FLINT which I think means FLINT 3. So, if we remove it completely, we'd have to drop support for FLINT 2.

@saraedum
Copy link
Member Author

Can you share the output of the configure run? There was apparently an error when trying to detect whether these symbols are available.

@w-bruns
Copy link

w-bruns commented Nov 27, 2024

Let me repeat that the problem only arises under MSYS2. I am attaching config.status from the last brun, which was successful since I have patched the critical file in e-antic.
config.zip

@saraedum
Copy link
Member Author

Could I get the config.log of the failed run?

@w-bruns
Copy link

w-bruns commented Nov 28, 2024

config.log

It could be that this olog belongs to a build with the patched e-antic. But I hope the patch had no influence on configure. If necessary I can reproduce the failure.

@saraedum
Copy link
Member Author

Have you tried to set LDFLAGS="$LDFLAGS --allow-multiple-definition"? The linkers on macOS and Linux do not complain about a symbol being repeated.

@saraedum
Copy link
Member Author

At the moment, we have no CI setup for msys2 here so it is annoying to test this. Related is also conda-forge/e-antic-feedstock#24.

@w-bruns
Copy link

w-bruns commented Nov 28, 2024

I have not tried LDFLAGS="$LDFLAGS --allow-multiple-definition", but will do so.

@w-bruns
Copy link

w-bruns commented Nov 28, 2024

As I have just seen, I can avoid the problem by installing e-antic using only Flint as insatlled via pacman. Then there is no libflint.a around, but e-antic nevertheless builds a static libe-antic.a. For normaliz.exe I need libflint.a and I can install it after e-antic has been made. Then everything is fine.

Nevertheless, under Linux or MacOS a libflint.a causes no problem. Therefore I will test LDFLAGS="$LDFLAGS --allow-multiple-definition.

@w-bruns
Copy link

w-bruns commented Nov 29, 2024

Does not seem to help. So I stay with my patch. It is a more stable solution, even if it can be avoided by another order of installation steps.

@saraedum
Copy link
Member Author

Ok. Static builds are weird (but somewhat more standard on Windows.) If the problem shows up in #276, then I'll put a fix in, otherwise, it's probably easiest to stick with your patch.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
build Build, Packaging and CI related issues
Development

No branches or pull requests

2 participants