-
Notifications
You must be signed in to change notification settings - Fork 240
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
Building from source on Rocky 8.10 eigen3 library not found #3485
Comments
Does |
@d-torrance should autotools build also have a target to download/configure/install eigen? (it's a header-only library so there's nothing to build really) |
I ended up doing
and running
I then ran |
Yeah, that's a good idea. |
@trevorkarn did the build succeed? I added a reference to this issue in the wiki. Feel free to add any other details that would be helpful for people building M2 on RHEL in the future. |
It did not succeed. I am now struggling with GIVARO |
For what it's worth, once #3487 is merged, eigen should be discovered without having to mess with pkg-config, so long as it's installed in a standard header directory or What specific givaro issues are you having? I've also been trying to get the build to work in RHEL 8, ideally before the next release, but there are lots of little issues like this since so few packages are available in the RHEL repositories. |
I installed givaro, by following https://github.com/linbox-team/givaro?tab=readme-ov-file#download-and-install with
I am again having trouble configuring. I tried
and get the error
If I ignore that error, and run make anyway, since I think a previous configuration seemed to work (how do I check that?), I get
|
I reinstalled givaro in
which gives output ending in
|
You shouldn't have to build givaro yourself -- the M2 build script will do it for you. That being said, I'm getting stuck at the same spot you are. The BLAS part of the autotools build needs an overhaul -- I'm hoping to work on that soon. |
How do I tell which things I should have to build myself and which things the M2 build script will/is supposed to do for me? I didn't have BLAS installed, so I am trying to install BLAS from source now. |
Basically, if you get an error before
If you build BLAS manually, then you might be able to point fflas-ffpack in the right direction by modifying |
I'd also like to try building on autotools and cmake on macos sonoma, with all packages being built. So far, I have had some troubles also with at least eigen (if I recall correctly). It would be nice to make sure this works. |
I sucessfully built OpenBLAS using
I modified
It failed with:
Do you have any advice of where to go from here? |
To tell the linker where libraries are, you'll want to use "-L" and to tell the compiler where headers are, you'll want to use "-I". So it will probably be something like:
You may also need |
I have the following
so I adjusted the
and I continue to get
|
I'm almost certain you don't have to install BLAS yourself because any HPC server has some sort of optimized linear algebra framework installed. In your case, follow this guide. (Well, really, I think you mainly need to run |
Also, last time I tried the autotools build didn't know how to use OpenBLAS: #475 |
It apparently works at least somewhat because my M2 binary (from the Ubuntu 24.04 PPA package, which was built using autotools) is linked against it:
I can't recall how I got this working. I'm planning on diving into the BLAS stuff in the autotools build soon -- ideally before the next release. I'd really like to get these RHEL builds working! |
Just module loading mkl didn't quite work for me. I also tried |
After digging in more to
The
Should M2 build its own Givaro? Or is there another possible place that Givaro might be hiding, for example in MKL? I don't think it is in MKL and |
I think this indicates that make has already built givaro, but in building fflas_ffpack, it is having trouble finding givaro. You can check if givaro exists in |
Givaro does not seem to exist in
I have not tried with Cmake, only with make. |
After setting
I tried
|
With the same
I see on https://macaulay2.com/Downloads/OtherSourceCode/ that only 4.1.1 is available, not 4.1.2. @d-torrance, is that something that should be updated? |
That shouldn't matter since the M2 build script doesn't download the givaro tarball from that website anymore but instead fetches a git submodule. |
Oh interesting. It seemed to download it from that site when I ran |
When I run
But that directory doesn't seem to have anything givaro related.
|
I got past the givaro/fflas_ffpack issue by building |
Did it get stuck somewhere else? |
@d-torrance btw, there's a |
@mahrud It did get stuck, with the error message:
|
|
This definitely seems to me like a case of "M2 wants to use mkl but givaro/fflas are built with cblas". Is there also a |
Plus givaro doesn't even support that configure option any more! I'll get rid of it. |
I just successfully built M2 on a Rocky Linux 8.9 docker image! @trevorkarn - Does building from the
I did install some of the dependencies using the EPEL. |
@d-torrance Glad to hear you built it! I could not build from your branch. Here is the error I got:
|
Last time I think this was magically resolved when we came back to the build, is that right? |
That looks like you ran out of memory trying to compile |
It is possible for me to increase memory during the build, so I'll give that a shot. Thanks! |
OK, I got through compiling
|
Woohoo! You've gotten to the point of building documentation, which means you have a functional copy of Macaulay2. :) I haven't gotten a chance to fiddle with building the documentation yet on my branch, but plan to soon. In the meantime, you should be able to finish the build (with a couple documentation pages with broken examples) using:
|
It looks like it couldn't find gfan: /bin/sh: gfan: command not found But at this point you should have a functional binary. |
I was not able to finish the build with |
Huh, that's weird -- I'll have to investigate why that didn't work. I pushed a new commit to the branch recently that should fix the missing |
As you have both mentioned, there is a working binary in BUILD/foo/M2 and I
have successfully used it!
…On Tue, Oct 1, 2024 at 3:13 PM Doug Torrance ***@***.***> wrote:
Huh, that's weird -- I'll have to investigate why that didn't work.
I pushed a new commit to the branch recently that should fix the missing
gfan error.
—
Reply to this email directly, view it on GitHub
<#3485 (comment)>, or
unsubscribe
<https://github.com/notifications/unsubscribe-auth/AMUZQKLUO3XRUDPFPNF3ROLZZL66LAVCNFSM6AAAAABOORRPI6VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDGOBWHE4DAMBTHE>
.
You are receiving this because you were mentioned.Message ID:
***@***.***>
--
Best Regards,
Trevor Karn
Graduate Student, Mathematics
|
Since you were able to successfully compile the M2 binary, and since there's now rpm packages for RedHat here and various build issues have been fixed, I'll close this. Please feel free to reopen this issue if problems persist or you run into new issues. |
I am trying to install from source on a Rocky 8.10 system which I don't have admin access on.
I tried following the directions at https://macaulay2.com/Downloads/SourceCode/, cloned from GitHub into
~/M2/
and ranI initially had issues with tbb, but followed #3055, and installed the newest version of tbb using cmake following https://github.com/oneapi-src/oneTBB/blob/master/INSTALL.md. I did use
-DCMAKE_INSTALL_PREFIX=${HOME}/local
since I don't have admin access. That solved the tbb problem.After solving the tbb problem, I again ran
from
M2/BUILD/foo
. Then I got the errorand the build stopped. I tried building the eigen3 library but that did not work for some reason. I think that eigen3 did install, because I am able to run the toy program from https://eigen.tuxfamily.org/dox/GettingStarted.html that prints a matrix by running
I would have thought that setting
CPPFLAGS="-I/${HOME}/local/include"
would have been enough to fix the problem, but I am wrong.The text was updated successfully, but these errors were encountered: