Skip to content

maint: update versions for built wheels (flint 2.9.0, arb 2.23.0) #22

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

Merged
merged 6 commits into from
Dec 2, 2022

Conversation

oscarbenjamin
Copy link
Collaborator

@oscarbenjamin
Copy link
Collaborator Author

The wheels build fine but can't be imported after install:

  Traceback (most recent call last):
    File "<string>", line 1, in <module>
    File "/tmp/tmp.jJDSzgvxEi/venv/lib/python3.7/site-packages/flint/__init__.py", line 1, in <module>
      from ._flint import *
  ImportError: /tmp/tmp.jJDSzgvxEi/venv/lib/python3.7/site-packages/flint/../python_flint.libs/libarb-43ad4021.so.2.13.0: undefined symbol: n_gcd_full

Looks like this was recently fixed in arb: flintlib/arb#419

@fredrik-johansson
Copy link
Collaborator

Two changes that will be needed:

  • Change layout of fmpq_poly_struct (den now comes last) in _flind.pxd
  • arith_divisor_sigma changed the order of the last two arguments

@oscarbenjamin oscarbenjamin changed the title maint: test building with flint 2.9.0-beta1 maint: update versions for built wheels (flint 2.9.0, arb 2.23.0) Dec 1, 2022
@oscarbenjamin
Copy link
Collaborator Author

Two changes that will be needed:

  • Change layout of fmpq_poly_struct (den now comes last) in _flind.pxd
  • arith_divisor_sigma changed the order of the last two arguments

I've changed these. They aren't tested at all though so I don't know if they're actually working.

I've also updated various versions of thing including flint-2.9.0, arb-2.23.0 and updated various actions to be able to build wheels for CPython 3.11.

Those changes keep everything up to date. I've tested that the wheels work locally after downloading on Linux and I'll check OSX later.

Missing features are still Windows and Apple Silicon. I'll work on those soon but I don't have easy access to either platform.

@fredrik-johansson
Copy link
Collaborator

Excellent, thanks! You want to merge this now or continue working in this PR?

@oscarbenjamin
Copy link
Collaborator Author

Let's merge this for now and I'll keep working on it.

@oscarbenjamin oscarbenjamin merged commit 4ec3a4b into flintlib:master Dec 2, 2022
@oscarbenjamin oscarbenjamin deleted the tmp_flint_290 branch December 2, 2022 10:38
@oscarbenjamin
Copy link
Collaborator Author

On the topic of Windows I was just looking at the flint CI and I saw that there is a mingw-gcc job but I don't quite understand how it works:
https://github.com/flintlib/flint2/blob/abe952e2397ea7b42b41d2eb1b74795e7921ac2c/.github/workflows/CI.yml#L234-L270
The other jobs all seem to use the ./.build_dependencies script but in the mingw job it seems that somehow GMP and MPFR are already there. Do you have any idea how that works?

@fredrik-johansson
Copy link
Collaborator

I'm not sure, but GMP and MPFR are dependencies of GCC, so both are presumably preinstalled on the system.

@fredrik-johansson
Copy link
Collaborator

Maybe the Arb CI using Appveyor is helpful? https://github.com/fredrik-johansson/arb/blob/master/appveyor.yml

@oscarbenjamin
Copy link
Collaborator Author

I wonder if to some extent our requirements here are a bit different from the CI systems because we are packaging up files for distribution rather than just to run in the CI system itself. I think that means that there needs to be precise control of which versions of all dependencies are being shipped and how those dependencies are built which is I guess not as much of a concern in CI.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants