-
-
Notifications
You must be signed in to change notification settings - Fork 652
Meson: build on recent Fedora #40038
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
Meson: build on recent Fedora #40038
Conversation
Documentation preview for this PR (built with commit f375432; changes) is ready! 🎉 |
.github/workflows/ci.yml
Outdated
|
||
- name: Install dependencies | ||
run: | | ||
# Install dnf5 |
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.
I don't think this is necessary, as far as I can tell since Fedora 41 dnf
is symlinked to dnf5
, and Fedora 40 is supposed to be EOL in a couple weeks. Can we simplify this script by just using dnf
everywhere?
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.
Thanks for the suggestion. I'll remove fedora 40 then and use dnf
everywhere.
It now at least compiles on Fedora 42. There are still some unresolved errors due to upstream limitations with meson (see linked issues in the PR description). But I guess it's good enough for now, so ready for review. The biggest issue for the meson build currently is that Fedora no longer ships ecl (and maxima-ecl). Does someone know if this could be fixed easily? |
ecl folks fixed build with gcc-15, but it's not yet released. |
I presume the CI test errors with new fedora 41/42 are expected? |
The ecl fix https://gitlab.com/embeddable-common-lisp/ecl/-/commit/1aec8f741f69fd736f020b7fe4d3afc33e60ae6a was included in 6d7fe91 by moving the ecl subproject to develop. That required dropping the function |
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.
lgtm, thanks!
Changing tag on behalf of dima. Thanks for the work! (from a Fedora user) |
Exactly!
Thanks! Note that it compiles now fine, but maxima is still missing (so you will get a lot of runtime errors if you try to do anything with symbolics). This will be resolved with #40058. Edit: After a minor cleanup, setting it back to positive review. |
sagemathgh-40071: Meson: make it compile on recent ubuntu <!-- ^ Please provide a concise and informative title. --> <!-- ^ Don't put issue numbers in the title, do this in the PR description below. --> <!-- ^ For example, instead of "Fixes sagemath#12345" use "Introduce new method to calculate 1 + 2". --> <!-- v Describe your changes below in detail. --> <!-- v Why is this change required? What problem does it solve? --> <!-- v If this PR resolves an open issue, please link to it here. For example, "Fixes sagemath#12345". --> Successfully install sage with meson on recent ubuntu (like 25.04), only with system packages pre-installed. Ubuntu is missing maxima (with ecl), so we have to add maxima as a subproject that is build on-the-fly. Also make the python dep lrcalc an optional dependency, since it fails to build (due to missing lrcalc). The other changes are mostly minor updates to the dependency installing and handling in meson. Fixes sagemath#31347. ### 📝 Checklist <!-- Put an `x` in all the boxes that apply. --> - [ ] The title is concise and informative. - [ ] The description explains in detail what this PR is about. - [ ] 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 - sagemath#40038 <!-- 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#40071 Reported by: Tobias Diez Reviewer(s): Dima Pasechnik, Tobias Diez
sagemathgh-40071: Meson: make it compile on recent ubuntu <!-- ^ Please provide a concise and informative title. --> <!-- ^ Don't put issue numbers in the title, do this in the PR description below. --> <!-- ^ For example, instead of "Fixes sagemath#12345" use "Introduce new method to calculate 1 + 2". --> <!-- v Describe your changes below in detail. --> <!-- v Why is this change required? What problem does it solve? --> <!-- v If this PR resolves an open issue, please link to it here. For example, "Fixes sagemath#12345". --> Successfully install sage with meson on recent ubuntu (like 25.04), only with system packages pre-installed. Ubuntu is missing maxima (with ecl), so we have to add maxima as a subproject that is build on-the-fly. Also make the python dep lrcalc an optional dependency, since it fails to build (due to missing lrcalc). The other changes are mostly minor updates to the dependency installing and handling in meson. Fixes sagemath#31347. ### 📝 Checklist <!-- Put an `x` in all the boxes that apply. --> - [ ] The title is concise and informative. - [ ] The description explains in detail what this PR is about. - [ ] 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 - sagemath#40038 <!-- 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#40071 Reported by: Tobias Diez Reviewer(s): Dima Pasechnik, Tobias Diez
sagemathgh-40071: Meson: make it compile on recent ubuntu <!-- ^ Please provide a concise and informative title. --> <!-- ^ Don't put issue numbers in the title, do this in the PR description below. --> <!-- ^ For example, instead of "Fixes sagemath#12345" use "Introduce new method to calculate 1 + 2". --> <!-- v Describe your changes below in detail. --> <!-- v Why is this change required? What problem does it solve? --> <!-- v If this PR resolves an open issue, please link to it here. For example, "Fixes sagemath#12345". --> Successfully install sage with meson on recent ubuntu (like 25.04), only with system packages pre-installed. Ubuntu is missing maxima (with ecl), so we have to add maxima as a subproject that is build on-the-fly. Also make the python dep lrcalc an optional dependency, since it fails to build (due to missing lrcalc). The other changes are mostly minor updates to the dependency installing and handling in meson. Fixes sagemath#31347. ### 📝 Checklist <!-- Put an `x` in all the boxes that apply. --> - [ ] The title is concise and informative. - [ ] The description explains in detail what this PR is about. - [ ] 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 - sagemath#40038 <!-- 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#40071 Reported by: Tobias Diez Reviewer(s): Dima Pasechnik, Tobias Diez
sagemathgh-40071: Meson: make it compile on recent ubuntu <!-- ^ Please provide a concise and informative title. --> <!-- ^ Don't put issue numbers in the title, do this in the PR description below. --> <!-- ^ For example, instead of "Fixes sagemath#12345" use "Introduce new method to calculate 1 + 2". --> <!-- v Describe your changes below in detail. --> <!-- v Why is this change required? What problem does it solve? --> <!-- v If this PR resolves an open issue, please link to it here. For example, "Fixes sagemath#12345". --> Successfully install sage with meson on recent ubuntu (like 25.04), only with system packages pre-installed. Ubuntu is missing maxima (with ecl), so we have to add maxima as a subproject that is build on-the-fly. Also make the python dep lrcalc an optional dependency, since it fails to build (due to missing lrcalc). The other changes are mostly minor updates to the dependency installing and handling in meson. Fixes sagemath#31347. ### 📝 Checklist <!-- Put an `x` in all the boxes that apply. --> - [ ] The title is concise and informative. - [ ] The description explains in detail what this PR is about. - [ ] 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 - sagemath#40038 <!-- 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#40071 Reported by: Tobias Diez Reviewer(s): Dima Pasechnik, Tobias Diez
sagemathgh-40071: Meson: make it compile on recent ubuntu <!-- ^ Please provide a concise and informative title. --> <!-- ^ Don't put issue numbers in the title, do this in the PR description below. --> <!-- ^ For example, instead of "Fixes sagemath#12345" use "Introduce new method to calculate 1 + 2". --> <!-- v Describe your changes below in detail. --> <!-- v Why is this change required? What problem does it solve? --> <!-- v If this PR resolves an open issue, please link to it here. For example, "Fixes sagemath#12345". --> Successfully install sage with meson on recent ubuntu (like 25.04), only with system packages pre-installed. Ubuntu is missing maxima (with ecl), so we have to add maxima as a subproject that is build on-the-fly. Also make the python dep lrcalc an optional dependency, since it fails to build (due to missing lrcalc). The other changes are mostly minor updates to the dependency installing and handling in meson. Fixes sagemath#31347. ### 📝 Checklist <!-- Put an `x` in all the boxes that apply. --> - [ ] The title is concise and informative. - [ ] The description explains in detail what this PR is about. - [ ] 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 - sagemath#40038 <!-- 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#40071 Reported by: Tobias Diez Reviewer(s): Dima Pasechnik, Tobias Diez
sagemathgh-40071: Meson: make it compile on recent ubuntu <!-- ^ Please provide a concise and informative title. --> <!-- ^ Don't put issue numbers in the title, do this in the PR description below. --> <!-- ^ For example, instead of "Fixes sagemath#12345" use "Introduce new method to calculate 1 + 2". --> <!-- v Describe your changes below in detail. --> <!-- v Why is this change required? What problem does it solve? --> <!-- v If this PR resolves an open issue, please link to it here. For example, "Fixes sagemath#12345". --> Successfully install sage with meson on recent ubuntu (like 25.04), only with system packages pre-installed. Ubuntu is missing maxima (with ecl), so we have to add maxima as a subproject that is build on-the-fly. Also make the python dep lrcalc an optional dependency, since it fails to build (due to missing lrcalc). The other changes are mostly minor updates to the dependency installing and handling in meson. Fixes sagemath#31347. ### 📝 Checklist <!-- Put an `x` in all the boxes that apply. --> - [ ] The title is concise and informative. - [ ] The description explains in detail what this PR is about. - [ ] 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 - sagemath#40038 <!-- 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#40071 Reported by: Tobias Diez Reviewer(s): Dima Pasechnik, Tobias Diez
sagemathgh-40089: Meson: test void linux on CI and add devcontainer for it <!-- ^ Please provide a concise and informative title. --> <!-- ^ Don't put issue numbers in the title, do this in the PR description below. --> <!-- ^ For example, instead of "Fixes sagemath#12345" use "Introduce new method to calculate 1 + 2". --> <!-- v Describe your changes below in detail. --> <!-- v Why is this change required? What problem does it solve? --> <!-- v If this PR resolves an open issue, please link to it here. For example, "Fixes sagemath#12345". --> Add a CI test for Void Linux building sage with meson (similar to sagemath#40038 for Fedora). A few minor bugs in the system package installation are fixed: a missing `--yes` for the package index update, and adding a few missing void packages. ### 📝 Checklist <!-- Put an `x` in all the boxes that apply. --> - [ ] The title is concise and informative. - [ ] The description explains in detail what this PR is about. - [ ] 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#40089 Reported by: Tobias Diez Reviewer(s): Dima Pasechnik, Tobias Diez
sagemathgh-40089: Meson: test void linux on CI and add devcontainer for it <!-- ^ Please provide a concise and informative title. --> <!-- ^ Don't put issue numbers in the title, do this in the PR description below. --> <!-- ^ For example, instead of "Fixes sagemath#12345" use "Introduce new method to calculate 1 + 2". --> <!-- v Describe your changes below in detail. --> <!-- v Why is this change required? What problem does it solve? --> <!-- v If this PR resolves an open issue, please link to it here. For example, "Fixes sagemath#12345". --> Add a CI test for Void Linux building sage with meson (similar to sagemath#40038 for Fedora). A few minor bugs in the system package installation are fixed: a missing `--yes` for the package index update, and adding a few missing void packages. ### 📝 Checklist <!-- Put an `x` in all the boxes that apply. --> - [ ] The title is concise and informative. - [ ] The description explains in detail what this PR is about. - [ ] 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#40089 Reported by: Tobias Diez Reviewer(s): Dima Pasechnik, Tobias Diez
sagemathgh-40089: Meson: test void linux on CI and add devcontainer for it <!-- ^ Please provide a concise and informative title. --> <!-- ^ Don't put issue numbers in the title, do this in the PR description below. --> <!-- ^ For example, instead of "Fixes sagemath#12345" use "Introduce new method to calculate 1 + 2". --> <!-- v Describe your changes below in detail. --> <!-- v Why is this change required? What problem does it solve? --> <!-- v If this PR resolves an open issue, please link to it here. For example, "Fixes sagemath#12345". --> Add a CI test for Void Linux building sage with meson (similar to sagemath#40038 for Fedora). A few minor bugs in the system package installation are fixed: a missing `--yes` for the package index update, and adding a few missing void packages. ### 📝 Checklist <!-- Put an `x` in all the boxes that apply. --> - [ ] The title is concise and informative. - [ ] The description explains in detail what this PR is about. - [ ] 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#40089 Reported by: Tobias Diez Reviewer(s): Dima Pasechnik, Tobias Diez
sagemathgh-40089: Meson: test void linux on CI and add devcontainer for it <!-- ^ Please provide a concise and informative title. --> <!-- ^ Don't put issue numbers in the title, do this in the PR description below. --> <!-- ^ For example, instead of "Fixes sagemath#12345" use "Introduce new method to calculate 1 + 2". --> <!-- v Describe your changes below in detail. --> <!-- v Why is this change required? What problem does it solve? --> <!-- v If this PR resolves an open issue, please link to it here. For example, "Fixes sagemath#12345". --> Add a CI test for Void Linux building sage with meson (similar to sagemath#40038 for Fedora). A few minor bugs in the system package installation are fixed: a missing `--yes` for the package index update, and adding a few missing void packages. ### 📝 Checklist <!-- Put an `x` in all the boxes that apply. --> - [ ] The title is concise and informative. - [ ] The description explains in detail what this PR is about. - [ ] 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#40089 Reported by: Tobias Diez Reviewer(s): Dima Pasechnik, Tobias Diez
Currently encountering
meson install
pip
📝 Checklist
⌛ Dependencies