Opened 2 years ago
Closed 15 months ago
#29372 closed defect (fixed)
At the end of configure, show installation hints for non-enabled optional packages separately
Reported by: | mjo | Owned by: | |
---|---|---|---|
Priority: | blocker | Milestone: | sage-9.3 |
Component: | build: configure | Keywords: | |
Cc: | mkoeppe, dimpase, embray, slelievre, charpent | Merged in: | |
Authors: | Matthias Koeppe | Reviewers: | Samuel Lelièvre |
Report Upstream: | N/A | Work issues: | |
Branch: | 50b1b25 (Commits, GitHub, GitLab) | Commit: | 50b1b25f4328d6f04e5d6271c4b7c939342b4b35 |
Dependencies: | Stopgaps: |
Description (last modified by )
When running the configure script, --enable-foo
and --disable-foo
should be used to control the installation of optional packages.
Original wishlist item:
With respect to the system-package support, this means that ./configure
should not try to find any optional packages that I don't want, and it shouldn't tell me to install them. For example,
$ ./configure ... Checking whether SageMath should install SPKG gp2c... checking installing pari? ... no checking for gp2c... no configure: using pari/gp from the system, but building gp2c configure: one might prefer to install a system-wide gp2c, instead configure: and re-run configure. configure: gp prefix is /usr configure: pari.cfg is /usr/share/pari/pari.cfg configure: no suitable system package found for SPKG gp2c using Sage's gp2c SPKG ... gp2c-0.0.10.p0: no suitable system package; optional, use "./configure --enable-gp2c" to install ... configure: Hint: The following SPKGs did not find equivalent system packages: configure: cbc gp2c libsemigroups checking for the package system in use... gentoo configure: Hint: Installing the following system packages is recommended and may avoid building some of the above SPKGs from source: configure: $ # install the following packages: sci-mathematics/gp2c
I guess this is partly due to the default of if_installed
for --enable-foo
(which I think is a bad default, but that's another matter), but the same thing happens if I explicitly pass --disable-gp2c
.
In this ticket, as a milder change, we show the list of system packages corresponding to non-enabled optional packages separately.
To test this branch, remember to use ./bootstrap
before ./configure
.
Critical for Sage 9.3 because there is evidence that users get concerned when too many packages are suggested to be installed.
Related:
- #29498: Do not check for system packages of disabled optional packages
Change History (24)
comment:1 Changed 2 years ago by
comment:2 Changed 2 years ago by
I guess this is partly due to the default of if_installed for --enable-foo (which I think is a bad default, but that's another matter)
Yes, the fact that an existing installation in SAGE_LOCAL influences configure's defaults is, of course, a quirk of Sage. We should not change this because it has a long tradition; but it would be good to have an additional configure option to disable it and obtain more standard configure behavior.
comment:3 Changed 2 years ago by
I think it's reasonable to use an existing spkg if one exists, and I guess that's why if_installed
was chosen as the default. But someone doing sage -i foo
and someone just happening to have foo
installed on the system express two very different intentions. This will become more apparent as we support more and more optional packages via spkg-configure, and they're all enabled by default.
comment:4 Changed 2 years ago by
No, if_installed
means "if installed as an SPKG in SAGE_LOCAL."
comment:5 Changed 2 years ago by
"Enabling" an optional package really just means to make sure it is installed as an spkg if the system does not provide it already.
comment:6 follow-up: ↓ 7 Changed 2 years ago by
Replying to mkoeppe:
No,
if_installed
means "if installed as an SPKG in SAGE_LOCAL."
Oh, OK. That's less crazy to me, then. But in that case, ./configure
definitely should not be looking for those system packages and telling me to install them (since I've told it to use those packages only if they're installed as SPKGs).
comment:7 in reply to: ↑ 6 Changed 2 years ago by
Replying to mjo:
But in that case,
./configure
definitely should not be looking for those system packages and telling me to install them (since I've told it to use those packages only if they're installed as SPKGs).
Yes, I agree that the hint should not be issued for disabled optional packages. Would you like to work on this improvement?
Testing for the system packages, on the other hand, is a bit trickier because they might be dependencies of an enabled optional package.
comment:8 Changed 2 years ago by
- Summary changed from optional packages should not be enabled automagically to At the end of configure, show installation hints for disabled optional packages separately
comment:9 Changed 2 years ago by
- Milestone changed from sage-9.1 to sage-9.2
comment:10 Changed 23 months ago by
- Milestone changed from sage-9.2 to sage-9.3
comment:11 Changed 19 months ago by
- Cc slelievre added
- Description modified (diff)
comment:12 Changed 17 months ago by
- Milestone changed from sage-9.3 to sage-9.4
Setting new milestone based on a cursory review of ticket status, priority, and last modification date.
comment:13 Changed 16 months ago by
- Branch set to u/mkoeppe/at_the_end_of_configure__show_installation_hints_for_disabled_optional_packages_separately
comment:14 Changed 16 months ago by
- Commit set to 50b1b25f4328d6f04e5d6271c4b7c939342b4b35
- Milestone changed from sage-9.4 to sage-9.3
- Status changed from new to needs_review
New commits:
50b1b25 | m4/sage_spkg_collect.m4: Show installation hints for non-enabled optional packages separately
|
comment:15 Changed 16 months ago by
- Cc charpent added
- Description modified (diff)
- Summary changed from At the end of configure, show installation hints for disabled optional packages separately to At the end of configure, show installation hints for non-enabled optional packages separately
comment:16 Changed 16 months ago by
- Description modified (diff)
comment:17 Changed 16 months ago by
- Reviewers set to Samuel Lelièvre
- Status changed from needs_review to positive_review
comment:18 Changed 16 months ago by
Thanks!
comment:19 Changed 16 months ago by
- Description modified (diff)
- Priority changed from major to critical
comment:20 Changed 15 months ago by
- Priority changed from critical to blocker
Setting priority to blocker to bring this ticket to the attention of the release bot.
comment:22 Changed 15 months ago by
Could you please clarify whether you mean that you do not plan to merge this ticket before the 9.4 series?
comment:23 Changed 15 months ago by
- Priority changed from major to blocker
comment:24 Changed 15 months ago by
- Branch changed from u/mkoeppe/at_the_end_of_configure__show_installation_hints_for_disabled_optional_packages_separately to 50b1b25f4328d6f04e5d6271c4b7c939342b4b35
- Resolution set to fixed
- Status changed from positive_review to closed
To clarify, they are not "enabled". But the hints certainly make no distinction between enabled and non-enabled packages.
This ticket overlaps with #29363 - "At the end of configure, indicate which optional/experimental packages are configured to be installed". Help on this is very welcome!