Opened 2 years ago

Closed 19 months ago

Last modified 18 months ago

#29557 closed enhancement (fixed)

Add script package _recommended and generate "recommended system packages" info

Reported by: mkoeppe Owned by:
Priority: critical Milestone: sage-9.3
Component: documentation Keywords: sd109
Cc: egourgoulhon, dimpase, fbissey, mjo, jhpalmieri, vdelecroix, kcrisman, slelievre, arojas, gh-kliem, gh-thierry-FreeBSD, saraedum Merged in:
Authors: Matthias Koeppe, John Palmieri Reviewers: John Palmieri, Matthias Koeppe
Report Upstream: N/A Work issues:
Branch: 6d5cc43 (Commits, GitHub, GitLab) Commit:
Dependencies: Stopgaps:

Status badges

Description (last modified by slelievre)

Let's improve the installation-from-source documentation regarding the "recommended system packages" for 9.1.

(from #29124)

Related:

  • #29146: Meta-ticket: Refactor and improve system package related scripts, tox.ini, build/bin/write_dockerfile.sh
  • #29372: At the end of configure, show installation hints for disabled optional packages separately
  • #30624: Improve configure's recommendation message

Change History (57)

comment:1 Changed 2 years ago by mkoeppe

  • Branch set to u/mkoeppe/29557-recommended-packages

comment:2 Changed 2 years ago by egourgoulhon

  • Commit set to 449df5afd6fa0817a1b8b5604522b68f30c5d276
  • Description modified (diff)

New commits:

449df5abuild/pkgs/_recommended: New

comment:3 Changed 2 years ago by egourgoulhon

  • Cc slelievre added

comment:4 Changed 2 years ago by mkoeppe

  • Cc arojas added

So far we only have the recommended packages for debian/ubuntu

comment:5 Changed 2 years ago by mkoeppe

  • Cc gh-kliem added

comment:6 Changed 2 years ago by mkoeppe

  • Dependencies set to #29558

comment:7 Changed 2 years ago by git

  • Commit changed from 449df5afd6fa0817a1b8b5604522b68f30c5d276 to 8273e84d2eba88bc23e56a2fb632ad18781ece28

Branch pushed to git repo; I updated commit sha1. This was a forced push. New commits:

66c07d8trac 29558: first draft
deb84cdsage-print-system-package-command: More options, update uses
a832dbcsrc/doc/bootstrap: Initialize OPTIONAL_SYSTEM_PACKAGES
272f01bbuild/bin/sage-spkg: Update use of sage-print-system-package-command
8f064f4trac 29558: correct some markup, change the date at end of file
8273e84build/pkgs/_recommended: New

comment:8 Changed 2 years ago by git

  • Commit changed from 8273e84d2eba88bc23e56a2fb632ad18781ece28 to 7151382da312e5ad9977e001e7d9eff6f299b0a3

Branch pushed to git repo; I updated commit sha1. New commits:

7151382src/doc/bootstrap: Generate debian-recommended.txt etc

comment:9 Changed 2 years ago by mkoeppe

Would someone like to help with the list of packages on their favorite distribution?

comment:10 Changed 2 years ago by mkoeppe

  • Authors set to Matthias Koeppe

comment:11 Changed 2 years ago by jhpalmieri

  • Branch changed from u/mkoeppe/29557-recommended-packages to u/jhpalmieri/29557-recommended-packages

comment:12 Changed 2 years ago by jhpalmieri

  • Commit changed from 7151382da312e5ad9977e001e7d9eff6f299b0a3 to 85281cfca65e9bb513527deea82a5e30674fd158

Here are a few suggestions for homebrew.


New commits:

85281cftrac 29557: some recommended packages for homebrew

comment:13 Changed 2 years ago by git

  • Commit changed from 85281cfca65e9bb513527deea82a5e30674fd158 to 2104e53c22ff7cebd8a4a55e5295361b60166d05

Branch pushed to git repo; I updated commit sha1. This was a forced push. New commits:

2104e53trac 29557: some recommended packages for homebrew

comment:14 Changed 2 years ago by mkoeppe

I don't think gcc needs to be added here - it's already listed in build/pkgs/gfortran/distros/homebrew.txt

comment:15 Changed 2 years ago by git

  • Commit changed from 2104e53c22ff7cebd8a4a55e5295361b60166d05 to 8550fe017c3130c7818bf5f82ebdacf7b205ade9

Branch pushed to git repo; I updated commit sha1. This was a forced push. New commits:

8550fe0trac 29557: some recommended packages for homebrew

comment:16 Changed 2 years ago by jhpalmieri

Okay, I took gcc out.

comment:17 Changed 2 years ago by mkoeppe

Thanks!

comment:18 Changed 2 years ago by gh-kliem

Typo in the ubuntu link:

+https://wiki.sagemath.org/prerequisites/Ubuntu
-https://wiki.sagemath.org/prerequisitesUbuntu

comment:19 follow-up: Changed 2 years ago by slelievre

My fault: I recently moved that page from prerequisitesUbuntu to prerequisites/Ubuntu to make it easier to find, better indexed, and thinking we might have other prerequisites/something.

comment:20 in reply to: ↑ 19 Changed 2 years ago by mkoeppe

Replying to slelievre:

[...] thinking we might have other prerequisites/something.

Hopefully this won't be necessary and we can keep this information up to date in a single place - the install manual.

comment:21 Changed 2 years ago by mkoeppe

  • Authors changed from Matthias Koeppe to Matthias Koeppe, John Palmieri

comment:22 Changed 2 years ago by mkoeppe

  • Cc gh-thierry-FreeBSD added

comment:23 Changed 2 years ago by mkoeppe

Fedora, Arch, anyone?

comment:24 Changed 2 years ago by mkoeppe

  • Milestone changed from sage-9.1 to sage-9.2

comment:25 Changed 2 years ago by mkoeppe

  • Dependencies changed from #29558 to #25206

comment:26 Changed 2 years ago by mkoeppe

  • Branch changed from u/jhpalmieri/29557-recommended-packages to u/mkoeppe/29557-recommended-packages

comment:27 Changed 2 years ago by git

  • Commit changed from 8550fe017c3130c7818bf5f82ebdacf7b205ade9 to 5a0682e0157f6adc9aa514a327b8571fc7f17aa3

Branch pushed to git repo; I updated commit sha1. New commits:

5a0682esrc/doc/en/installation/source.rst: Add recommended ubuntu packages from wiki

comment:28 Changed 2 years ago by git

  • Commit changed from 5a0682e0157f6adc9aa514a327b8571fc7f17aa3 to 01301af79decf1210015415f376c7a507d6b4691

Branch pushed to git repo; I updated commit sha1. This was a forced push. New commits:

comment:29 Changed 2 years ago by mkoeppe

  • Cc saraedum added
  • Keywords sd109 added

comment:30 Changed 2 years ago by mkoeppe

  • Description modified (diff)

comment:31 Changed 20 months ago by mkoeppe

  • Milestone changed from sage-9.2 to sage-9.3

comment:32 Changed 19 months ago by git

  • Commit changed from 01301af79decf1210015415f376c7a507d6b4691 to ea5d610b21798533bc817eb5d00a2e37a0b1c211

Branch pushed to git repo; I updated commit sha1. This was a forced push. New commits:

2cd5ef9build/pkgs/_recommended: New
ea5d610src/doc/bootstrap: Generate debian-recommended.txt etc

comment:33 Changed 19 months ago by git

  • Commit changed from ea5d610b21798533bc817eb5d00a2e37a0b1c211 to fe9ba0b00ceb20d83cd7b846354fd80a553945ca

Branch pushed to git repo; I updated commit sha1. New commits:

fe9ba0bbuild/pkgs/_recommended/distros/homebrew.txt: New

comment:34 Changed 19 months ago by mkoeppe

  • Dependencies #25206 deleted

comment:35 Changed 19 months ago by git

  • Commit changed from fe9ba0b00ceb20d83cd7b846354fd80a553945ca to d198e9c5b7c3fa18e968a70d4b4c574969b08927

Branch pushed to git repo; I updated commit sha1. New commits:

d198e9cbuild/pkgs/_recommended/distros/debian.txt: Format change

comment:36 follow-up: Changed 19 months ago by jhpalmieri

For homebrew, do we want to recommend any of:

  • autoconf
  • automake
  • ffmpeg
  • imagemagick
  • pandoc

?

A related question: if we recommend pandoc (for instance) for debian, then for consistency, should we necessarily recommend it for homebrew?

comment:37 in reply to: ↑ 36 Changed 19 months ago by mkoeppe

Replying to jhpalmieri:

For homebrew, do we want to recommend any of:

  • autoconf
  • automake
  • ffmpeg
  • imagemagick
  • pandoc

autoconf/automake are already in homebrew-bootstrap.txt

The other, yes.

A related question: if we recommend pandoc (for instance) for debian, then for consistency, should we necessarily recommend it for homebrew?

Ideally, yes, but getting a version of this ticket merged would be good even if it has not reached 100% consistency between distributions

comment:38 Changed 19 months ago by jhpalmieri

Hmm. I did git trac pull 29557 and made some changes, but it won't let me do git trac push ..., saying the remote contains work that you do not have locally. Any objections if I do a forced push?

comment:39 Changed 19 months ago by slelievre

What commit are you working on top of?

What does git log --oneline -20 say (or -3 if it's enough)?

comment:40 Changed 19 months ago by jhpalmieri

6d5cc43d09 (HEAD -> t/29557/29557-recommended-packages) trac 29557: recommended packages for homebrew
d198e9c5b7 build/pkgs/_recommended/distros/debian.txt: Format change
fe9ba0b00c build/pkgs/_recommended/distros/homebrew.txt: New
ea5d610b21 src/doc/bootstrap: Generate debian-recommended.txt etc
2cd5ef99ee build/pkgs/_recommended: New

comment:41 follow-up: Changed 19 months ago by mkoeppe

go for the force push. It's possible that you had a branch under your name previously that can't be fast-forwarded

comment:42 Changed 19 months ago by jhpalmieri

  • Branch changed from u/mkoeppe/29557-recommended-packages to u/jhpalmieri/29557-recommended-packages

comment:43 in reply to: ↑ 41 Changed 19 months ago by jhpalmieri

  • Commit changed from d198e9c5b7c3fa18e968a70d4b4c574969b08927 to 6d5cc43d09b06e3d9886ead4c78dbcd1fc19da5e

Replying to mkoeppe:

go for the force push. It's possible that you had a branch under your name previously that can't be fast-forwarded

Done


New commits:

6d5cc43trac 29557: recommended packages for homebrew

comment:44 Changed 19 months ago by mkoeppe

  • Status changed from new to needs_review

comment:45 Changed 19 months ago by mkoeppe

We could update the installation manual, in src/doc/en/installation/source.rst, using the generated files, but probably it's best to leave this for another ticket.

comment:46 Changed 19 months ago by mkoeppe

  • Reviewers set to ..., Matthias Koeppe

comment:47 Changed 19 months ago by jhpalmieri

  • Reviewers changed from ..., Matthias Koeppe to John Palmieri, Matthias Koeppe

This looks good to me, although I can't really vouch for the recommendations on debian. It's certainly a good start, and people can supplement on later tickets.

Last edited 19 months ago by jhpalmieri (previous) (diff)

comment:48 Changed 19 months ago by mkoeppe

  • Milestone changed from sage-9.3 to sage-9.2
  • Status changed from needs_review to positive_review

comment:49 Changed 19 months ago by mkoeppe

  • Milestone changed from sage-9.2 to sage-9.3

comment:50 Changed 19 months ago by vbraun

  • Branch changed from u/jhpalmieri/29557-recommended-packages to 6d5cc43d09b06e3d9886ead4c78dbcd1fc19da5e
  • Resolution set to fixed
  • Status changed from positive_review to closed

comment:51 Changed 19 months ago by jhpalmieri

  • Commit 6d5cc43d09b06e3d9886ead4c78dbcd1fc19da5e deleted

On OS X, I see this:

configure:40015: notice: the following SPKGs did not find equivalent system packages: _recommended arb brial cbc cddlib cliquer cmake coxeter3 eclib ecm fflas_ffpack flint flintqs fplll gf2x gfan giac givaro gp2c iml lcalc libbraiding libsemigroups lrcalc m4ri m4rie ntl palp pari pari_elldata pari_galdata pari_galpol pari_nftables pari_seadata pari_seadata_small perl_cpan_polymake_prereq perl_term_readline_gnu planarity rw symmetrica sympow tachyon zn_poly
configure:40017: checking for the package system in use
configure:40020: result: homebrew
configure:40029: hint: installing the following system packages is recommended and may avoid building some of the above SPKGs from source:
configure:40031:   $ brew install pandoc ffmpeg imagemagick texinfo cmake

On a follow-up, we could improve this message. First, these recommended packages don't actually help to avoid building any of the listed SPKGs. Second, this message is printed regardless of whether ffmpeg et al. are installed. Third, I actually have pandoc installed, it is correctly detected by ./configure, but it recommends installing it anyway.

comment:52 follow-up: Changed 19 months ago by mkoeppe

Note there's also a separate pandoc script package

comment:53 Changed 19 months ago by mkoeppe

For improvements of this type, please see #29146, #29372

comment:54 in reply to: ↑ 52 Changed 19 months ago by jhpalmieri

Replying to mkoeppe:

Note there's also a separate pandoc script package

Right, and that correctly detects my pandoc installation, so it would be nice if the ending message took that into account. The ending message automatically prints every recommended external package, even those which are installed and have corresponding script packages.

comment:55 Changed 19 months ago by slelievre

  • Description modified (diff)

Replying to jhpalmieri (comment 51):

On a follow-up, we could improve this message. First, these recommended packages don't actually help to avoid building any of the listed SPKGs. Second, this message is printed regardless of whether ffmpeg et al. are installed. Third, I actually have pandoc installed, it is correctly detected by ./configure, but it recommends installing it anyway.

See:

  • #30624: Improve configure's recommendation message

comment:56 Changed 19 months ago by gh-tobiasdiez

The package texlive-generic-extra doesn't exist for ubuntu 20.04, and on 18.04 it was already labeled as "transitional dummy package". I'm not sure what's the correct replacement, maybe simply "texlive"?

comment:57 Changed 18 months ago by mkoeppe

Follow-up regarding the package list at #30930

Note: See TracTickets for help on using tickets.