sagemath/sage

spkg-check.in: Do not use sdh_make to do 'make check', to avoid misleading messages

mkoeppe opened this issue · 20 comments

sdh_make, even when used for make check, prints the misleading message "Error building $PKG_NAME"

$ grep sdh_make build/pkgs/*/spkg-check.in
build/pkgs/awali/spkg-check.in:sdh_make check
build/pkgs/barvinok/spkg-check.in:sdh_make check
build/pkgs/cocoalib/spkg-check.in:sdh_make check
build/pkgs/e_antic/spkg-check.in:sdh_make check
build/pkgs/fflas_ffpack/spkg-check.in:sdh_make check
build/pkgs/isl/spkg-check.in:sdh_make check
build/pkgs/openblas/spkg-check.in:sdh_make tests $OPENBLAS_CONFIGURE
build/pkgs/openblas/spkg-check.in:        sdh_make tests $OPENBLAS_CONFIGURE
build/pkgs/polylib/spkg-check.in:sdh_make check
build/pkgs/polymake/spkg-check.in:sdh_make test
build/pkgs/symengine/spkg-check.in:sdh_make test
build/pkgs/tides/spkg-check.in:sdh_make check AM_CFLAGS="" AM_FFLAGS=""

In the present ticket, we fix this.

We note that when sdh_make is used for building in spkg-install.in, there is duplication with a message printed by sage-spkg afterwards. For example in https://github.com/mkoeppe/sage/runs/581877049:

  [python3-3.7.3.p1]   TypeError: can only concatenate str (not "NoneType") to str
  [python3-3.7.3.p1]   make[2]: *** [Makefile:626: sharedmods] Error 1
  [python3-3.7.3.p1]   make[2]: Target 'all' not remade because of errors.
  [python3-3.7.3.p1]   make[2]: Leaving directory '/home/runner/work/sage/sage/.tox/local-conda-forge-ubuntu-minimal/local/var/tmp/sage/build/python3-3.7.3.p1/src'
  [python3-3.7.3.p1]   ********************************************************************************
  [python3-3.7.3.p1]   Error building python3-3.7.3.p1
  [python3-3.7.3.p1]   ********************************************************************************
  [python3-3.7.3.p1]   
  [python3-3.7.3.p1]   real	3m37.614s
  [python3-3.7.3.p1]   user	1m37.298s
  [python3-3.7.3.p1]   sys	0m11.320s
  [python3-3.7.3.p1]   ************************************************************************
  [python3-3.7.3.p1]   Error building package python3-3.7.3.p1
  [python3-3.7.3.p1]   ************************************************************************
  [python3-3.7.3.p1] Full log file: /home/runner/work/sage/sage/logs/pkgs/python3-3.7.3.p1.log

However, as this does not have the potential to mislead, we will take care of this on another ticket.

Depends on #29510

CC: @dimpase @jhpalmieri @embray

Component: build

Author: Matthias Koeppe

Branch/Commit: c53ddc7

Reviewer: Dima Pasechnik, John Palmieri

Issue created by migration from https://trac.sagemath.org/ticket/29501

comment:1

Maybe just create a new function called sdh_make_check which is exactly the same as sdh_make but has a different error message. Or allow sdh_make to have an optional second argument, which defaults to "building".

Description changed:

--- 
+++ 
@@ -1,4 +1,4 @@
-`sdh_make` prints the misleading message "Error building $PKG_NAME"
+`sdh_make`, even when used for `make check`, prints the misleading message "Error building $PKG_NAME"
 
 ```
 $ grep sdh_make build/pkgs/*/spkg-check.in
@@ -16,3 +16,22 @@
 build/pkgs/tides/spkg-check.in:sdh_make check AM_CFLAGS="" AM_FFLAGS=""
 ```
 
+Also, when `sdh_make` is used for building in `spkg-install.in`, there is duplication with a message printed by `sage-spkg` afterwards. For example in https://github.com/mkoeppe/sage/runs/581877049:
+
+```
+  [python3-3.7.3.p1]   TypeError: can only concatenate str (not "NoneType") to str
+  [python3-3.7.3.p1]   make[2]: *** [Makefile:626: sharedmods] Error 1
+  [python3-3.7.3.p1]   make[2]: Target 'all' not remade because of errors.
+  [python3-3.7.3.p1]   make[2]: Leaving directory '/home/runner/work/sage/sage/.tox/local-conda-forge-ubuntu-minimal/local/var/tmp/sage/build/python3-3.7.3.p1/src'
+  [python3-3.7.3.p1]   ********************************************************************************
+  [python3-3.7.3.p1]   Error building python3-3.7.3.p1
+  [python3-3.7.3.p1]   ********************************************************************************
+  [python3-3.7.3.p1]   
+  [python3-3.7.3.p1]   real	3m37.614s
+  [python3-3.7.3.p1]   user	1m37.298s
+  [python3-3.7.3.p1]   sys	0m11.320s
+  [python3-3.7.3.p1]   ************************************************************************
+  [python3-3.7.3.p1]   Error building package python3-3.7.3.p1
+  [python3-3.7.3.p1]   ************************************************************************
+  [python3-3.7.3.p1] Full log file: /home/runner/work/sage/sage/logs/pkgs/python3-3.7.3.p1.log
+```

New commits:

2c647fcbuild/pkgs/*/spkg-check.in: Do not print misleading error messages: avoid sdh_make

Description changed:

--- 
+++ 
@@ -15,8 +15,11 @@
 build/pkgs/symengine/spkg-check.in:sdh_make test
 build/pkgs/tides/spkg-check.in:sdh_make check AM_CFLAGS="" AM_FFLAGS=""
 ```
+In the present ticket, we fix this. 
 
-Also, when `sdh_make` is used for building in `spkg-install.in`, there is duplication with a message printed by `sage-spkg` afterwards. For example in https://github.com/mkoeppe/sage/runs/581877049:
+
+
+We note that when `sdh_make` is used for building in `spkg-install.in`, there is duplication with a message printed by `sage-spkg` afterwards. For example in https://github.com/mkoeppe/sage/runs/581877049:
 
 ```
   [python3-3.7.3.p1]   TypeError: can only concatenate str (not "NoneType") to str
@@ -35,3 +38,4 @@
   [python3-3.7.3.p1]   ************************************************************************
   [python3-3.7.3.p1] Full log file: /home/runner/work/sage/sage/logs/pkgs/python3-3.7.3.p1.log
 ```
+However, as this does not have the potential to mislead, we will take care of this on another ticket.

Commit: 2c647fc

Author: Matthias Koeppe

comment:7

maybe, for uniformity, not "Failures checking $PKG_NAME", but "Error checking $PKG_NAME"

comment:8

I worded it like this because if SAGE_CHECK=warn, then it is not an error but only a warning.

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

67256c2Use 'failures', not 'error' when reporting testsuite failures

Changed commit from 2c647fc to 67256c2

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

251ab47trac 29492: remove outdated boilerplate from spkg-install.in,
1383a59Merge branch 'u/jhpalmieri/remove-boilerplate' of git://trac.sagemath.org/sage into t/29510/spkg_check_in__remove_messages_that_duplicate_sage_spkg_s_messages
2533a67build/pkgs/*/spkg-check.in: Remove messages that duplicate sage-spkg messages
9b213a4build/bin/sage-spkg: Add message when test suite passed
ca36a87build/pkgs/*/spkg-check.in: Do not print misleading error messages: avoid sdh_make
c53ddc7Use 'failures', not 'error' when reporting testsuite failures

Changed commit from 67256c2 to c53ddc7

Dependencies: #29510

comment:11

rebased on top of #29510 to remove a merge conflict

comment:12

needs review

Reviewer: Dima Pasechnik, John Palmieri

comment:13

Looks good to me.

comment:14

Thank you!