Opened 18 months ago

Closed 15 months ago

Last modified 15 months ago

#28788 closed enhancement (fixed)

MR38: Fix documentation of spkg-configure.m4 and make output more verbose

Reported by: galois Owned by:
Priority: minor Milestone: sage-9.1
Component: build: configure Keywords:
Cc: embray, jhpalmieri, mkoeppe Merged in:
Authors: Julian Rüth, Matthias Koeppe Reviewers: Matthias Koeppe, John Palmieri
Report Upstream: N/A Work issues:
Branch: bef6d57 (Commits, GitHub, GitLab) Commit:
Dependencies: #29120 Stopgaps:

Status badges

Description (last modified by mkoeppe)

This now produces the following output:

...
-----------------------------------------------------------------------------
Checking whether SageMath should install SPKG yasm...
checking for yasm supporting the adox instruction... /usr/local/bin/yasm
configure: will use system package and not install SPKG yasm
-----------------------------------------------------------------------------
Checking whether SageMath should install SPKG zeromq...
configure: zeromq has already been installed by SageMath
## ----------------------------------------------------------------------- ##
## Build status for each package:                                          ##
## ----------------------------------------------------------------------- ##
4ti2-1.6.7.p0:                               does not support check for system package; optional, use "./configure --enable-4ti2" to install
alabaster-0.7.12:                            does not support check for system package; will be installed as an SPKG
appnope-0.1.0.p0:                            does not support check for system package; will be installed as an SPKG
arb-2.16.0.p0:                               no suitable system package; will be installed as an SPKG
atlas-3.10.2.p3:                             not required on your platform; SPKG will not be installed
autotools-20141105.p0:                       does not support check for system package; experimental, use "./configure --enable-autotools" to install
awali-1.0.2-190218:                          does not support check for system package; experimental, use "./configure --enable-awali" to install
babel-2.6.0:                                 does not support check for system package; will be installed as an SPKG
backports_abc-0.5:                           does not support check for system package; will be installed as an SPKG
backports_functools_lru_cache-1.5:           does not support check for system package; will be installed as an SPKG
backports_shutil_get_terminal_size-1.0.0.p1: does not support check for system package; will be installed as an SPKG
backports_ssl_match_hostname-3.5.0.1.p0:     does not support check for system package; will be installed as an SPKG
barvinok-0.41.1:                             does not support check for system package; optional, use "./configure --enable-barvinok" to install
benzene-20130630:                            does not support check for system package; optional, use "./configure --enable-benzene" to install
bleach-3.1.0:                                does not support check for system package; will be installed as an SPKG
bliss-0.73+debian-1+sage-2016-08-02.p0:      does not support check for system package; optional, use "./configure --enable-bliss" to install
boost-1_66_0:                                no suitable system package; optional, use "./configure --enable-boost" to install
boost_cropped-1.66.0.p0:                     already installed as an SPKG
brial-1.2.5:                                 does not support check for system package; will be installed as an SPKG
buckygen-1.1:                                does not support check for system package; optional, use "./configure --enable-buckygen" to install
bzip2-1.0.6-20150304.p0:                     using system package; SPKG will not be installed
cbc-2.9.4.p0:                                no suitable system package; optional, use "./configure --enable-cbc" to install
ccache-3.3.4:                                does not support check for system package; optional, use "./configure --enable-ccache" to install
cddlib-0.94j:                                does not support check for system package; will be installed as an SPKG
certifi-2019.3.9:                            does not support check for system package; will be installed as an SPKG
cliquer-1.21.p4:                             already installed as an SPKG
cmake-3.11.0:                                using system package; SPKG will not be installed
cocoalib-0.99564:                            does not support check for system package; experimental, use "./configure --enable-cocoalib" to install
combinatorial_designs-20140630.p0:           does not support check for system package; will be installed as an SPKG
compilerwrapper-1.2:                         does not support check for system package; experimental, use "./configure --enable-compilerwrapper" to install
configparser-3.7.4:                          does not support check for system package; will be installed as an SPKG
configure-e4607fdd24b7921f03499d3cba645ea2d14f7d87:does not support check for system package; came preinstalled with the SageMath tarball
conway_polynomials-0.5:                      does not support check for system package; will be installed as an SPKG
coxeter3-8ac9c71723c8ca57a836d6381aed125261e44e9e:does not support check for system package; optional, use "./configure --enable-coxeter3" to install
cryptominisat-5.6.8:                         does not support check for system package; optional, use "./configure --enable-cryptominisat" to install
csdp-6.2.p0:                                 does not support check for system package; optional, use "./configure --enable-csdp" to install
curl-7.62.0.p0:                              using system package; SPKG will not be installed
cvxopt-1.2.3:                                does not support check for system package; will be installed as an SPKG
cycler-0.10.0.p0:                            does not support check for system package; will be installed as an SPKG
cypari-2.1.1:                                does not support check for system package; will be installed as an SPKG
cysignals-1.10.2:                            does not support check for system package; will be installed as an SPKG
cython-0.29.12.p0:                           does not support check for system package; will be installed as an SPKG
d3js-3.4.8:                                  does not support check for system package; optional, use "./configure --enable-d3js" to install
database_cremona_ellcurve-20190911:          does not support check for system package; optional, use "./configure --enable-database_cremona_ellcurve" to install
database_jones_numfield-4:                   does not support check for system package; optional, use "./configure --enable-database_jones_numfield" to install
...

(Earlier version: merge request at https://gitlab.com/sagemath/sage/-/merge_requests/38)

Change History (33)

comment:1 Changed 18 months ago by saraedum

  • Cc embray jhpalmieri added
  • Component changed from PLEASE CHANGE to build: configure
  • Description modified (diff)
  • Priority changed from major to minor
  • Status changed from needs_review to needs_work
  • Type changed from PLEASE CHANGE to enhancement

comment:2 Changed 18 months ago by saraedum

  • Description modified (diff)

comment:3 Changed 18 months ago by galois

  • Commit changed from 84a6e8218082387ec30bf6b4d8e00a6151e69bd4 to cabfe1f219a91ad95eab1552990036a42b82a564

New commits added to merge request. I updated the commit SHA-1. New commits:

cabfe1ffix use of polymorphic variable

comment:4 Changed 18 months ago by galois

  • Description modified (diff)

comment:5 Changed 18 months ago by galois

  • Commit changed from cabfe1f219a91ad95eab1552990036a42b82a564 to 146eaab4115ecc582b3f12b64d078839b056db0e

New commits added to merge request. I updated the commit SHA-1. New commits:

146eaabalign code for readability

comment:6 Changed 18 months ago by galois

  • Commit changed from 146eaab4115ecc582b3f12b64d078839b056db0e to 7f889c14cc11752698c89d8e1e8a70a4b5052eca

New commits added to merge request. I updated the commit SHA-1. New commits:

7f889c1fix yasm require check

comment:7 Changed 18 months ago by saraedum

  • Description modified (diff)

comment:8 Changed 18 months ago by saraedum

I made some remarks on GitLab. Looking forward to comments at https://gitlab.com/sagemath/sage/merge_requests/38.

comment:9 Changed 18 months ago by jhpalmieri

config.log is still misleading:

result: no
no suitable system package found for SPKG rw
configure:20250: make will build and install the following SPKGs...
     4ti2-1.6.7.p0
     alabaster-0.7.12
     appnope-0.1.0.p0
     arb-2.16.0.p0 (no suitable system package)
     atlas-3.10.2.p3
     ...
     bzip2-1.0.6-20150304.p0 (using system package; will not be installed)
     ...

4ti2 and atlas are optional, and so they will not in fact be installed unless explicitly instructed via a command like make 4ti2. The package bzip2 is listed in this group of packages that make will build and installed, but with a note saying that it won't be installed. (Note also that make bzip2 will install bzip2, even though there is a valid system package.)

Also it would help to have a divider between the last test ("no suitable system package found for SPKG rw") and the start of the summary.

I would prefer to see something like

checking for library containing calculate_level... no
configure: no suitable system package found for SPKG rw
------------
configure: build status for each package:
   4ti2-1.6.7.p0: optional; not installed by default
   alabaster-0.7.12: will be installed
   appnope-0.1.0.p0: will be installed
   arb-2.16.0.p0: no suitable system package; will be installed
   atlas-3.10.2.p3: optional; not installed by default
   ...
   bzip2-1.0.6-20150304.p0: using system package; will not be installed
   ...

comment:10 Changed 17 months ago by embray

  • Milestone changed from sage-9.0 to sage-9.1

Ticket retargeted after milestone closed

comment:11 Changed 16 months ago by mkoeppe

  • Cc mkoeppe added

comment:12 Changed 16 months ago by mkoeppe

Related: #28095 - Add --enable-OPTIONALSPKG options to configure

comment:13 Changed 15 months ago by galois

  • Commit changed from 7f889c14cc11752698c89d8e1e8a70a4b5052eca to 455b550d6f8aa0ce147da30faf1271153e3e97a8

New commits added to merge request. I updated the commit SHA-1. New commits:

275225achange wording & layout of build status header
455b550Explain which packages are not going to be installed

comment:14 Changed 15 months ago by galois

  • Description modified (diff)

comment:15 Changed 15 months ago by galois

  • Commit changed from 455b550d6f8aa0ce147da30faf1271153e3e97a8 to 5863ac7f1aa14605c6b8c1f40bd9cbff0196ee3e

New commits added to merge request. I updated the commit SHA-1. New commits:

5863ac7Make sage_require_ follow the documentation

comment:16 Changed 15 months ago by mkoeppe

  • Description modified (diff)
  • Status changed from needs_work to positive_review

This is a great improvement and seems to work fine on top of current develop. I'm setting this to positive review, although I have suggestions for improvements:

  • I find the trailing "##" quite distracting.
  • The final output would look much cleaner if tabulated
  • For standard packages without spkg-configure.m4 it says;
    testpath-0.4.2: does not support check for system package yet; will be installed
    
    even if it is already installed; whereas for those with spkg-configure.m4 it says
    zeromq-4.2.5: already installed
    
  • Perhaps it should also be pointed out that "some" version is installed (but make may install a different version).

comment:17 Changed 15 months ago by mkoeppe

  • Reviewers set to Matthias Koeppe

comment:18 Changed 15 months ago by jhpalmieri

  • Status changed from positive_review to needs_work

I get a merge failure with 9.1.beta3. Once fixed, please feel free to set back to positive review.

comment:19 Changed 15 months ago by jhpalmieri

Actually, I have another request. The output in the ticket description, including

configure: will use system package and not install SPKG zeromq
## ------------------------------ ##
## build status for each package: ##
## ------------------------------ ##
    4ti2-1.6.7.p0: does not support check for system package yet; optional, will not be installed unless requested

is what is printed on the screen, but the config.log file shows

configure:25323: will use system package and not install SPKG zeromq
configure:28740: result:     4ti2-1.6.7.p0: does not support check for system package yet; optional, will not be installed unless requested

with no text separating the last test from the summary. Can you add some text there so I can easily search config.log to find the spot where the summary starts?

Indeed, perhaps all of the summary text ("checking whether SageMath should install SPKG tachyon", etc.) should be included in the log file, not just on the screen.

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

comment:20 Changed 15 months ago by jhpalmieri

To explain a bit more about my last comment: I am much more likely to look through the log file than to see the mass of text whiz by on the screen, so (assuming I'm not the only one) the log file should have formatting at least as good as what's on the screen.

comment:21 Changed 15 months ago by mkoeppe

I agree, everything that is printed on the screen should also appear in the log file.

comment:22 Changed 15 months ago by saraedum

I won't continue on this one. If you are unhappy with autoconf defaults, feel free to work around them.

comment:23 follow-up: Changed 15 months ago by jhpalmieri

mkoeppe: I don't know autoconf syntax, but if you can do the last fixes, I can review.

comment:24 Changed 15 months ago by mkoeppe

  • Branch changed from u/galois/mrs/38/verbose-configure to u/mkoeppe/mrs/38/verbose-configure

comment:25 Changed 15 months ago by git

  • Commit changed from 5863ac7f1aa14605c6b8c1f40bd9cbff0196ee3e to bef6d579447b90e4976c5bf9ce29390100e03311

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

bef6d57Improve spkg messages

comment:26 Changed 15 months ago by mkoeppe

  • Authors changed from Julian Rüth to Julian Rüth, Matthias Koeppe
  • Description modified (diff)
  • Status changed from needs_work to needs_review

comment:27 Changed 15 months ago by mkoeppe

  • Dependencies set to #29120

comment:28 in reply to: ↑ 23 Changed 15 months ago by mkoeppe

Replying to jhpalmieri:

mkoeppe: I don't know autoconf syntax, but if you can do the last fixes, I can review.

Ready for review.

comment:29 Changed 15 months ago by jhpalmieri

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

Looks good to me, thanks! And thanks very much to saraedum for leading the efforts on this. Sorry to be so picky.

comment:30 Changed 15 months ago by jhpalmieri

  • Status changed from needs_review to positive_review

comment:31 Changed 15 months ago by mkoeppe

Thank you!

comment:32 Changed 15 months ago by vbraun

  • Branch changed from u/mkoeppe/mrs/38/verbose-configure to bef6d579447b90e4976c5bf9ce29390100e03311
  • Resolution set to fixed
  • Status changed from positive_review to closed

comment:33 Changed 15 months ago by mkoeppe

  • Commit bef6d579447b90e4976c5bf9ce29390100e03311 deleted

Follow up: #29211

Note: See TracTickets for help on using tickets.