Skip to content

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

Merged
oscarbenjamin merged 6 commits into
flintlib:masterfrom
oscarbenjamin:tmp_flint_290
Dec 2, 2022
Merged

oscarbenjamin merged 6 commits into
flintlib:masterfrom
oscarbenjamin:tmp_flint_290

Conversation

@oscarbenjamin

Copy link
Copy Markdown
Collaborator

@oscarbenjamin

Copy link
Copy Markdown
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
Copy Markdown
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
Copy Markdown
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
Copy Markdown
Collaborator

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

@oscarbenjamin

Copy link
Copy Markdown
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
Copy Markdown
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
Copy Markdown
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
Copy Markdown
Collaborator

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

@oscarbenjamin

Copy link
Copy Markdown
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