-
Notifications
You must be signed in to change notification settings - Fork 231
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
Autotools build updates for RHEL 8 #3461
Autotools build updates for RHEL 8 #3461
Conversation
0c937fc
to
a631688
Compare
I ended up simplifying this a bit more. The underlying issue was that flint didn't used to respect However, now that it does respect |
a631688
to
8477994
Compare
I'm broadening the scope of this PR -- the goal is to get the autotools build to work in RHEL 8. |
This now compiles on a Rocky Linux 8 docker image! (With the It still fails at link time due to FFLAS-FFPACK/Givaro BLAS shenanigans. TODO:
|
Got it working! Macaulay2, version version-1.14.0.1-9300-gb87f02b5f4 (rhel-8)
with packages: ConwayPolynomials, Elimination, IntegralClosure, InverseSystems, Isomorphism, LLLBases, MinimalPrimes, OnlineLookup, Polyhedra,
PrimaryDecomposition, ReesAlgebra, Saturation, TangentCone, Truncations, Varieties
i1 : version#"issue"
o1 = rocky-8.9 I think this closes #475. Rather than rolling our own BLAS check, we use AX_BLAS from the autoconf archive and also pass the result to fflas-ffpack. Still a draft for now -- I'd like to do some more experimenting. |
c45295d
to
51b65ec
Compare
Assuming the builds all pass, I think this PR is ready to go. I successfully compiled and linked M2 in Rocky Linux 8 using both the An overview of the changes:
|
Should the givaro changes be in the same PR? I think @mikestillman wanted to remove them for some time, but I don't know what was the status. |
Maybe it's outside the scope of the PR, but this was my thought process:
|
51b65ec
to
8ab49ed
Compare
Maybe remove this from the cmake build as well then. |
I think I'm happy with this, but of course I haven't tested it. @d-torrance does this close #2507 as well? |
Oh also, @d-torrance could you add your RHEL Dockerfile under |
Sad to say the build did not succeed. |
No, |
There were several errors building the examples for |
After the most recent commits, the build finished successfully for me! |
gfortan isn't available on the macOS GitHub runners, but gfortran-XX is for various versions XX. Using the latest version (14) for now
Otherwise it won't be able to link the test program it uses to detect BLAS.
654042e
to
f3bd8e8
Compare
It's not directly related to runProgram. Add a bit more detail about how "get" might be used (by adding a leading "!"), and also link to the docs for the various "open*" functions that also take a string with a leading "!" to interact with a program. The primary reason we're dropping this is example is that it called gfan, which may not be on the PATH, especially if we've just built it.
It will only work if we've dynamically linked against mpfr, which may not be the case.
It will only work if mpfr is available as a dynamic library and we've linked against it, which may not be the case. Replace it with "cos" from the C standard math library
It's in the C standard library, so we know that it will be available. Closes: Macaulay2#3374
f3bd8e8
to
34c18a5
Compare
Older versions of autoconf don't install them automatically [ci skip]
Also use a wildcard for the Makefile's in the subdirectories of libraries for simplicity and ease of maintenance. [ci skip]
8eee18c
to
930f306
Compare
I'm going to go ahead and merge this -- building against this branch works for me using docker images for both Rocky Linux and AlmaLinux 8:
(They both fail during The builds on RHEL 9 are still failing due to #2398. |
At some point I wanted to create GitHub Actions workflows that build an image based on the contents of the |
We should also create docker images (for using M2, and for compiling M2) for each release. We should put the docker images in an "official" location, e.g. under macaulay2 on docker hub, although I'm not sure docker hub is as good as it used to be... |
We have one already: https://github.com/orgs/Macaulay2/packages/container/package/testbot |
@d-torrance So sorry for my slow reply! I was able to build a working binary off of commit |
@trevorkarn -- No worries! I'm pretty sure the docs should build now. This branch has now been merged into the |
Otherwise, it may not look in usr-host for dependencies that we've built. For example, the version of gmp in RHEL 8 is too old for flint, so we need to build it and link against that instead.
Here an example of a failed build prior to this patch (https://github.com/d-torrance/M2-workflows/actions/runs/10733556117/job/29767118034), where it was only looking at the RHEL gmp package:
After this patch (from a local build in an AlmaLinux 8 docker image):
This is a followup to #3350 and #3367 in my quest to get the autotools build working with RHEL.
Skipping the GitHub builds since we use the Ubuntu/Homebrew flint packages and this patch won't be tested.