-
-
Notifications
You must be signed in to change notification settings - Fork 487
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
libsemigroup upgrade to 2.7.3 #38875
Conversation
@orlitzky - is the patch for this in Gentoo needed here? |
Not strictly but it would be nice to include it for when GCC 15 is released. |
Updating the version of libsemigroups to 2.7.3 makes both the libsemigroups and gap_packages builds work for me. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks fine.
Documentation preview for this PR (built with commit 7cf7d92; changes) is ready! 🎉 |
adding the blocker tag, as it's crucial for gap_packages built (without an external to Sage correct version of libsemigroups) |
@culler - could you please try this PR on a clean slate, after
For me, everything builds fine after |
I didn't do "make distclean" but I did remove all traces of libsemigroups that I could find, including the local/include/libsemigroups directory. Then I got the error that Eigen/Core did not exist. So I removed the --disable-eigen, which cause the Eigen directory to be created. Then the compiler told me to replace the angle brackets by quotes in bigraph.hpp. Then it worked. I put my comments in the PR where --disable-eigen was being discussed. I doubt that make distclean will work, but I can try it. If it does work I will not understand why, since it seems equivalent to what already failed for me. Also, Emmanuel was probably starting from a clean slate when he encountered the same error. |
Emmanual as a rule starts his upgrades without cleaning. You (potentially) might have a copy of Eigen somewhere else, and then semigroups might get confused. Please try |
No, not on this machine. The only Eigen's on this machine are inside the Sage_macOS application bundles that I installed in /Applications for testing. Sage's build system had better not be looking in there. |
It's the GAP's package semigroups' build system that is doing funny things here, not Sage's build system - which cannot really have complete control over what its dependencies are doing. |
I guarantee that GAP's build system is not looking for Eigen installations in /Applications/SageMath-10.4.app. No build system would do that, no matter how many funny things it does. |
After a make distclean I am able to build gap_packages. I can't explain why LIBSEMIGROUPS_EIGEN_ENABLED was not being defined when I did my previous build but is being defined after the make distclean. Nonetheless, I think you should give my proposal due consideration. There is no reason to disable eigen when building libsemigroups. It builds with eigen enabled, if we change one line in digraph.hpp from Presumably the option of using Eigen exists because using it improves the performance of libsemigroups. Why wouldn't you want that improvement as long as we have an easy way of getting it? Also, as @orlitzky said, the only reason that he disabled it was because he did not realize that libsemigroups would use its internal copy of Eigen. |
I would rather add Eigen as a Sage package (on a follow up PR). Deal? |
LIBSEMIGROUPS_EIGEN_ENABLED is something computed, set, and cached, by ./configure. (as it is slow to compute). You did not clean the latter cache. |
The updated PR (re-fetched at Tue Oct 29 09:22:19 CET 2024) does not solve the problem. Without
HTH, |
it will not work without A PR upgrading a package relatively often needs the latter, so I don't see a problem here. |
I was just trying to explain the reasoning behind my claim that libsemigroups doesn't require pkgconf to build, I'm not responsible for the libsemigroups is capable of using pkgconf, but our sage package shouldn't need it currently because (a) eigen is disabled and (b) the other bundled libraries that aren't disabled will use the bundled copies (i.e. no pkg-config detection). This is related to your problem somehow but I really have no idea what happened to cause your build failure. The |
The |
AFAICS, it was added by me. The reason was that the vendored headers are not installed in a proper place this way, It's a sort of a bug of GAP's semigroup package. I've just posted on sage-develop a proposal to add Eigen as a separate Sage optional package |
After
HTH, |
do you have Eigen installed anywhere on the machine? |
Maybe, but I don't think this explains everything. Emmanual saw the same error (Eigen/Core does not exist) and he would never have run a build without the -disable-eigen flag being set. |
We are still to hear from Emmanuel whether he ha s another instance of Eigen installed on the machine |
Sorry, I was out for a short beer... ;-) Well, yeah :
EDIT : FWIW :
HTH, |
I certainly don't have On Linux I don't get any of these either. Thus it must be a leftover from a previous install. |
We can add a |
I have just seen the positive review. I can confirm that installations that failed with the previous version work now (with beta9 merged). |
necessary for GAP 4.13.1 This was forgotten in sagemath#38804 ### 📝 Checklist <!-- Put an `x` in all the boxes that apply. --> - [ x] The title is concise and informative. - [ x] The description explains in detail what this PR is about. - [ x] I have linked a relevant issue or discussion. - [ ] I have created tests covering the changes. - [ ] I have updated the documentation and checked the documentation preview. ### ⌛ Dependencies <!-- List all open PRs that this PR logically depends on. For example, --> <!-- - sagemath#12345: short description why this is a dependency --> <!-- - sagemath#34567: ... --> URL: sagemath#38875 Reported by: Dima Pasechnik Reviewer(s): Marc Culler
necessary for GAP 4.13.1 This was forgotten in sagemath#38804 ### 📝 Checklist <!-- Put an `x` in all the boxes that apply. --> - [ x] The title is concise and informative. - [ x] The description explains in detail what this PR is about. - [ x] I have linked a relevant issue or discussion. - [ ] I have created tests covering the changes. - [ ] I have updated the documentation and checked the documentation preview. ### ⌛ Dependencies <!-- List all open PRs that this PR logically depends on. For example, --> <!-- - sagemath#12345: short description why this is a dependency --> <!-- - sagemath#34567: ... --> URL: sagemath#38875 Reported by: Dima Pasechnik Reviewer(s): Marc Culler
necessary for GAP 4.13.1 This was forgotten in sagemath#38804 ### 📝 Checklist <!-- Put an `x` in all the boxes that apply. --> - [ x] The title is concise and informative. - [ x] The description explains in detail what this PR is about. - [ x] I have linked a relevant issue or discussion. - [ ] I have created tests covering the changes. - [ ] I have updated the documentation and checked the documentation preview. ### ⌛ Dependencies <!-- List all open PRs that this PR logically depends on. For example, --> <!-- - sagemath#12345: short description why this is a dependency --> <!-- - sagemath#34567: ... --> URL: sagemath#38875 Reported by: Dima Pasechnik Reviewer(s): Marc Culler
necessary for GAP 4.13.1 This was forgotten in sagemath#38804 ### 📝 Checklist <!-- Put an `x` in all the boxes that apply. --> - [ x] The title is concise and informative. - [ x] The description explains in detail what this PR is about. - [ x] I have linked a relevant issue or discussion. - [ ] I have created tests covering the changes. - [ ] I have updated the documentation and checked the documentation preview. ### ⌛ Dependencies <!-- List all open PRs that this PR logically depends on. For example, --> <!-- - sagemath#12345: short description why this is a dependency --> <!-- - sagemath#34567: ... --> URL: sagemath#38875 Reported by: Dima Pasechnik Reviewer(s): Marc Culler
necessary for GAP 4.13.1 This was forgotten in sagemath#38804 ### 📝 Checklist <!-- Put an `x` in all the boxes that apply. --> - [ x] The title is concise and informative. - [ x] The description explains in detail what this PR is about. - [ x] I have linked a relevant issue or discussion. - [ ] I have created tests covering the changes. - [ ] I have updated the documentation and checked the documentation preview. ### ⌛ Dependencies <!-- List all open PRs that this PR logically depends on. For example, --> <!-- - sagemath#12345: short description why this is a dependency --> <!-- - sagemath#34567: ... --> URL: sagemath#38875 Reported by: Dima Pasechnik Reviewer(s): Marc Culler
necessary for GAP 4.13.1 This was forgotten in sagemath#38804 ### 📝 Checklist <!-- Put an `x` in all the boxes that apply. --> - [ x] The title is concise and informative. - [ x] The description explains in detail what this PR is about. - [ x] I have linked a relevant issue or discussion. - [ ] I have created tests covering the changes. - [ ] I have updated the documentation and checked the documentation preview. ### ⌛ Dependencies <!-- List all open PRs that this PR logically depends on. For example, --> <!-- - sagemath#12345: short description why this is a dependency --> <!-- - sagemath#34567: ... --> URL: sagemath#38875 Reported by: Dima Pasechnik Reviewer(s): Marc Culler
necessary for GAP 4.13.1
This was forgotten in #38804
📝 Checklist
⌛ Dependencies