Sage 9.0.beta6 released

258 views
Skip to first unread message

Volker Braun

unread,
Nov 17, 2019, 7:42:15 PM11/17/19
to sage-release
As always, you can get the latest beta version from the "develop" git branch. Alternatively, the self-contained source tarball is at http://www.sagemath.org/download-latest.html 

This is the first Python 3 beta, so incremental builds probably aren't going to work. Use "make distclean" or the appropriate configure flag to keep using Python 2 (noooo)


232ae1bddc (tag: 9.0.beta6) Updated SageMath version to 9.0.beta6
026a216fa4 Trac #28104: Openblas build failure
1e7795c1f2 Trac #28726: py3: cysignals fails its test suite
c53e82c055 Trac #28734: a few miscellanous details
a55e518077 Trac #28721: Document sage-dist-helpers
c87212c10b Trac #28715: remove some deprecated stuff in combinat after 23319 and 15597
2adaf8bc28 Trac #28686: Demote some optional packages to experimental
381ddacd15 Trac #15077: Inconsistency in polynomial .reverse(n)
af4d15a8e1 Trac #28725: fix lawrence_extension and lawrence_polytope for backend field
a8e457e711 Trac #28719: remove deprecated function aliases
e46f2a5383 Trac #28717: some cleanup in __init__ files
9101b22829 Trac #28709: Python executable in doctest/control.py
6544bf8e40 Trac #28707: More control on the numerical ODE solver for integrated curves and geodesics
50034a0ae9 Trac #28652: Rework the constructor of PermutationGroupElement
edc1360355 Trac #28606: CombinatorialPolyhedron: unbounded -> is_bounded
3a35510660 Trac #28605: CombinatorialPolyhedron: replace attributes by methods
133435b38d Trac #27302: Cubic Braid Groups
8d41eaeed4 Trac #27089: CPLEXBackend.solver_parameter: Handle CPX_PARAMTYPE_LONG
eb5d0df260 Trac #25183: Bug in the associahedron object
94b6adde10 Trac #24108: quadratic_form_from_invariants()
e9e14ad864 Trac #28730: cvxopt fails its test suite
a9146cd62b Trac #28714: clarify docstring of plot.colors.float_to_integer
f94189b015 Trac #28708: 5 cplex doctests failed in cplex_backend.pyx
92a0045e31 Trac #28700: Fixing missing optional flag in base_QQ.py
6c5f93dfb4 Trac #28689: py3: fix doctests with cbc
3dd1d44175 Trac #28660: Make Python 3 the default
0a86718461 Trac #28382: Correct types in cplex backend
82b36b2ead Trac #27761: DES Block Cipher
93db4cc438 (tag: 9.0.beta5) Updated SageMath version to 9.0.beta5

Sébastien Labbé

unread,
Nov 18, 2019, 9:51:56 AM11/18/19
to sage-release



The first try at running make gives me this:


[sagelib-9.0.beta6] make[4] : on entre dans le répertoire « /home/slabbe/GitBox/sage/src »
[sagelib-9.0.beta6] cd . && export                                    \
[sagelib-9.0.beta6]     SAGE_ROOT=/doesnotexist                               \
[sagelib-9.0.beta6]     SAGE_SRC=/doesnotexist                                \
[sagelib-9.0.beta6]     SAGE_SRC_ROOT=/doesnotexist                           \
[sagelib-9.0.beta6]     SAGE_DOC_SRC=/doesnotexist                            \
[sagelib-9.0.beta6]     SAGE_BUILD_DIR=/doesnotexist                          \
[sagelib-9.0.beta6]     SAGE_PKGS=/home/slabbe/GitBox/sage/build/pkgs                \
[sagelib-9.0.beta6] && sage-python -u setup.py --no-user-cfg build install
[sagelib-9.0.beta6] /home/slabbe/GitBox/sage/src/bin/sage-env: ligne 130 : cd: /doesnotexist: Aucun fichier ou dossier de ce type
[sagelib-9.0.beta6] Warning: overwriting SAGE_ROOT environment variable:
[sagelib-9.0.beta6] Old SAGE_ROOT=/doesnotexist
[sagelib-9.0.beta6] New SAGE_ROOT=
[sagelib-9.0.beta6] Traceback (most recent call last):
[sagelib-9.0.beta6]   File "setup.py", line 22, in <module>
[sagelib-9.0.beta6]     import fpickle_setup
[sagelib-9.0.beta6]   File "/home/slabbe/GitBox/sage/src/fpickle_setup.py", line 8, in <module>
[sagelib-9.0.beta6]     from six.moves import copyreg
[sagelib-9.0.beta6] ModuleNotFoundError: No module named 'six'
[sagelib-9.0.beta6] Makefile:33 : la recette pour la cible « sage » a échouée
[sagelib-9.0.beta6] make[4]: *** [sage] Erreur 1
[sagelib-9.0.beta6] make[4] : on quitte le répertoire « /home/slabbe/GitBox/sage/src »
[sagelib-9.0.beta6]
[sagelib-9.0.beta6] real    0m0.049s
[sagelib-9.0.beta6] user    0m0.032s
[sagelib-9.0.beta6] sys    0m0.012s
Makefile:1987 : la recette pour la cible « sagelib » a échouée
make[3]: *** [sagelib] Erreur 2
make[3] : on quitte le répertoire « /home/slabbe/GitBox/sage/build/make »
Makefile:1848 : la recette pour la cible « all-start » a échouée
make[2]: *** [all-start] Erreur 2
make[2] : on quitte le répertoire « /home/slabbe/GitBox/sage/build/make »

real    0m0.208s
user    0m0.148s
sys    0m0.016s
***************************************************************
Error building Sage.

The following package(s) may have failed to build (not necessarily
during this run of 'make all-start'):

The build directory may contain configuration files and other potentially
helpful information. WARNING: if you now run 'make' again, the build
directory will, by default, be deleted. Set the environment variable
SAGE_KEEP_BUILT_SPKGS to 'yes' to prevent this.


Sébastien Labbé

unread,
Nov 18, 2019, 9:53:38 AM11/18/19
to sage-release

[sagelib-9.0.beta6] Traceback (most recent call last):
[sagelib-9.0.beta6]   File "setup.py", line 22, in <module>
[sagelib-9.0.beta6]     import fpickle_setup
[sagelib-9.0.beta6]   File "/home/slabbe/GitBox/sage/src/fpickle_setup.py", line 8, in <module>
[sagelib-9.0.beta6]     from six.moves import copyreg
[sagelib-9.0.beta6] ModuleNotFoundError: No module named 'six'

Ok, I guess it is related to the move to Python 3:

3dd1d44175 Trac #28660: Make Python 3 the default

Let me make distclean and report back.

Emmanuel Charpentier

unread,
Nov 18, 2019, 10:00:48 AM11/18/19
to sage-release
On Debian testing runninng on core i7 + 16 GB RAM, ptestalllong my Python 3-based 9.0.beta5 upgraded to 9.0.beta6 gave me the same permanent ant transient failures as before AND two transient failures I don't remember having seen before:

File                                          | Result           
----------------------------------------------+------------------
src/sage/symbolic/integration/external.py     | 1 doctest failed 
src/sage/modular/ssmod/ssmod.py               | 2 doctests failed

Details:

sage -t --long --warn-long 178.5 src/sage/symbolic/integration/external.py
**********************************************************************
File "src/sage/symbolic/integration/external.py", line 96, in sage.symbolic.integration.external.mma_free_integrator
Failed example:
    mma_free_integrator(exp(-x^2)*log(x), x) # optional - internet
Exception raised:
    Traceback (most recent call last):
      File "/usr/local/sage-P3-2/local/lib/python3.7/site-packages/sage/doctest/forker.py", line 681, in _run
        self.compile_and_execute(example, compiler, test.globs)
      File "/usr/local/sage-P3-2/local/lib/python3.7/site-packages/sage/doctest/forker.py", line 1123, in compile_and_execute
        exec(compiled, globs)
      File "<doctest sage.symbolic.integration.external.mma_free_integrator[5]>", line 1, in <module>
        mma_free_integrator(exp(-x**Integer(2))*log(x), x) # optional - internet
      File "/usr/local/sage-P3-2/local/lib/python3.7/site-packages/sage/symbolic/integration/external.py", line 113, in mma_free_integrator
        raise ValueError("no outputs found in the answer from Wolfram Alpha")
    ValueError: no outputs found in the answer from Wolfram Alpha
**********************************************************************
1 item had failures:
   1 of   7 in sage.symbolic.integration.external.mma_free_integrator
    [44 tests, 1 failure, 34.49 s]

sage -t --long --warn-long 178.5 src/sage/modular/ssmod/ssmod.py
**********************************************************************
File "src/sage/modular/ssmod/ssmod.py", line 38, in sage.modular.ssmod.ssmod
Failed example:
    t = X.T(2).matrix()            # long time (21s on sage.math, 2011)
Exception raised:
    Traceback (most recent call last):
      File "/usr/local/sage-P3-2/local/lib/python3.7/site-packages/sage/modular/hecke/hecke_operator.py", line 749, in matrix
        return self.__matrix
      File "sage/structure/element.pyx", line 487, in sage.structure.element.Element.__getattr__ (build/cythonized/sage/structure/element.c:4608)
        return self.getattr_from_category(name)
      File "sage/structure/element.pyx", line 500, in sage.structure.element.Element.getattr_from_category (build/cythonized/sage/structure/element.c:4717)
        return getattr_from_other_class(self, cls, name)
      File "sage/cpython/getattr.pyx", line 394, in sage.cpython.getattr.getattr_from_other_class (build/cythonized/sage/cpython/getattr.c:2614)
        raise AttributeError(dummy_error_message)
    AttributeError: 'sage.rings.polynomial.polynomial_zz_pex.Polynomial_ZZ_pEX' object has no attribute 'dimension'

    During handling of the above exception, another exception occurred:

    Traceback (most recent call last):
      File "/usr/local/sage-P3-2/local/lib/python3.7/site-packages/sage/doctest/forker.py", line 681, in _run
        self.compile_and_execute(example, compiler, test.globs)
      File "/usr/local/sage-P3-2/local/lib/python3.7/site-packages/sage/doctest/forker.py", line 1123, in compile_and_execute
        exec(compiled, globs)
      File "<doctest sage.modular.ssmod.ssmod[7]>", line 1, in <module>
        t = X.T(Integer(2)).matrix()            # long time (21s on sage.math, 2011)
      File "/usr/local/sage-P3-2/local/lib/python3.7/site-packages/sage/modular/hecke/hecke_operator.py", line 751, in matrix
        self.__matrix = self.parent().hecke_matrix(self.__n, *args, **kwds)
      File "/usr/local/sage-P3-2/local/lib/python3.7/site-packages/sage/modular/hecke/algebra.py", line 528, in hecke_matrix
        return self.__M.hecke_matrix(n, *args, **kwds)
      File "/usr/local/sage-P3-2/local/lib/python3.7/site-packages/sage/modular/ssmod/ssmod.py", line 827, in hecke_matrix
        SS, II = self.supersingular_points()
      File "/usr/local/sage-P3-2/local/lib/python3.7/site-packages/sage/modular/ssmod/ssmod.py", line 705, in supersingular_points
        T2_matrix[pos, j] += ej
      File "sage/matrix/matrix0.pyx", line 970, in sage.matrix.matrix0.Matrix.__getitem__ (build/cythonized/sage/matrix/matrix0.c:7309)
        raise IndexError("matrix index out of range")
    IndexError: matrix index out of range
**********************************************************************
File "src/sage/modular/ssmod/ssmod.py", line 39, in sage.modular.ssmod.ssmod
Failed example:
    t.nrows()                      # long time
Exception raised:
    Traceback (most recent call last):
      File "/usr/local/sage-P3-2/local/lib/python3.7/site-packages/sage/doctest/forker.py", line 681, in _run
        self.compile_and_execute(example, compiler, test.globs)
      File "/usr/local/sage-P3-2/local/lib/python3.7/site-packages/sage/doctest/forker.py", line 1123, in compile_and_execute
        exec(compiled, globs)
      File "<doctest sage.modular.ssmod.ssmod[8]>", line 1, in <module>
        t.nrows()                      # long time
    NameError: name 't' is not defined
**********************************************************************
1 item had failures:
   2 of  17 in sage.modular.ssmod.ssmod
    [79 tests, 2 failures, 8.11 s]

HTH,

David Coudert

unread,
Nov 18, 2019, 10:21:52 AM11/18/19
to sage-r...@googlegroups.com
After a distclean, I successfully compiled 9.0.beta6 on a (old) linux fedora 28 machine.
Although I have set SAGE_ROOT, the compilation shows

[sagelib-9.0.beta6] cd . && export                                    \
[sagelib-9.0.beta6]     SAGE_ROOT=/doesnotexist                               \
[sagelib-9.0.beta6]     SAGE_SRC=/doesnotexist                                \
[sagelib-9.0.beta6]     SAGE_SRC_ROOT=/doesnotexist                           \
[sagelib-9.0.beta6]     SAGE_DOC_SRC=/doesnotexist                            \
[sagelib-9.0.beta6]     SAGE_BUILD_DIR=/doesnotexist                          \
[sagelib-9.0.beta6]     SAGE_PKGS=/home/dcoudert/sage/build/pkgs                \


Nonetheless, it’s working ;)

David.

--
You received this message because you are subscribed to the Google Groups "sage-release" group.
To unsubscribe from this group and stop receiving emails from it, send an email to sage-release...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/sage-release/205aa5f6-4584-4f69-9446-5d9a6c6b41d5%40googlegroups.com.

darwin doppelganger

unread,
Nov 18, 2019, 3:31:31 PM11/18/19
to sage-release
I did a "make distclean" followed by "make" on my Mac OSX 10.14.6, Xcode 11.2.1 and the build completed successfully:

[2019-11-18 14:22:10] SageMath version 9.0.beta6, Release Date: 2019-11-18
Yes, Sage starts.
real    257m11.634s
user    280m20.436s
sys     31m35.438s
Sage build/upgrade complete!

Emmanuel Charpentier

unread,
Nov 19, 2019, 2:24:37 AM11/19/19
to sage-release
On a slightly smaller machine (Debian testing running on core i5 + 8 GB RAM), the same upgrade give me the same results minus the two "new" transient failures.

HTH,

Sébastien Labbé

unread,
Nov 19, 2019, 3:26:48 AM11/19/19
to sage-release

Running ptestlong with optional + external packages, I get

Using --optional=4ti2,cbc,ccache,cryptominisat,dot2tex,e_antic,external,glucose,latte_int,lidia,lrslib,memlimit,normaliz,notedown,openssl,pandoc_attributes,pycosat,pynormaliz,rst2ipynb,sage,sagenb

----------------------------------------------------------------------
sage -t --long src/doc/en/thematic_tutorials/linear_programming.rst  # 1 doctest failed
sage -t --long src/sage/coding/databases.py  # 2 doctests failed
sage -t --long src/sage/combinat/matrices/hadamard_matrix.py  # 2 doctests failed
sage -t --long src/sage/combinat/posets/posets.py  # 1 doctest failed
sage -t --long src/sage/databases/findstat.py  # 9 doctests failed
sage -t --long src/sage/graphs/graph_latex.py  # 2 doctests failed
sage -t --long src/sage/misc/latex.py  # 1 doctest failed
sage -t --long src/sage/misc/persist.pyx  # 2 doctests failed
sage -t --long src/sage/misc/remote_file.py  # 2 doctests failed
sage -t --long src/sage/numerical/backends/gurobi_backend.pyx  # 17 doctests failed
sage -t --long src/sage/numerical/linear_functions.pyx  # 29 doctests failed
sage -t --long src/sage/numerical/linear_tensor.py  # 20 doctests failed
sage -t --long src/sage/numerical/linear_tensor_constraints.py  # 28 doctests failed
sage -t --long src/sage/numerical/linear_tensor_element.pyx  # 23 doctests failed
sage -t --long src/sage/numerical/mip.pyx  # 4 doctests failed
sage -t --long src/sage/plot/animate.py  # 7 doctests failed
sage -t --long src/sage/repl/load.py  # 1 doctest failed
sage -t --long src/sage/sat/solvers/dimacs.py  # 7 doctests failed
sage -t --long src/sage/tests/cmdline.py  # 2 doctests failed
----------------------------------------------------------------------
External software detected for doctesting: ffmpeg,graphviz,gurobi,imagemagick,internet,latex,pandoc

Reruning the failed tests, I obtain the same:

----------------------------------------------------------------------
sage -t --long src/doc/en/thematic_tutorials/linear_programming.rst  # 1 doctest failed
sage -t --long src/sage/coding/databases.py  # 2 doctests failed
sage -t --long src/sage/combinat/matrices/hadamard_matrix.py  # 2 doctests failed
sage -t --long src/sage/combinat/posets/posets.py  # 1 doctest failed
sage -t --long src/sage/databases/findstat.py  # 9 doctests failed
sage -t --long src/sage/graphs/graph_latex.py  # 2 doctests failed
sage -t --long src/sage/misc/latex.py  # 1 doctest failed
sage -t --long src/sage/misc/persist.pyx  # 2 doctests failed
sage -t --long src/sage/misc/remote_file.py  # 2 doctests failed
sage -t --long src/sage/numerical/backends/gurobi_backend.pyx  # 17 doctests failed
sage -t --long src/sage/numerical/linear_functions.pyx  # 29 doctests failed
sage -t --long src/sage/numerical/linear_tensor.py  # 20 doctests failed
sage -t --long src/sage/numerical/linear_tensor_constraints.py  # 28 doctests failed
sage -t --long src/sage/numerical/linear_tensor_element.pyx  # 23 doctests failed
sage -t --long src/sage/numerical/mip.pyx  # 4 doctests failed
sage -t --long src/sage/plot/animate.py  # 7 doctests failed
sage -t --long src/sage/repl/load.py  # 1 doctest failed
sage -t --long src/sage/sat/solvers/dimacs.py  # 7 doctests failed
sage -t --long src/sage/tests/cmdline.py  # 2 doctests failed
----------------------------------------------------------------------
External software detected for doctesting: ffmpeg,graphviz,gurobi,imagemagick,internet,latex,pandoc

A bunch of new tickets are to be created. Follow up at https://trac.sagemath.org/ticket/25536

Justin C. Walker

unread,
Nov 19, 2019, 4:38:53 AM11/19/19
to sage-r...@googlegroups.com


> On Nov 17, 2019, at 16:42 , Volker Braun <vbrau...@gmail.com> wrote:
>
> As always, you can get the latest beta version from the "develop" git branch. Alternatively, the self-contained source tarball is at http://www.sagemath.org/download-latest.html
>
> This is the first Python 3 beta, so incremental builds probably aren't going to work. Use "make distclean" or the appropriate configure flag to keep using Python 2 (noooo)

Built w/o problems on three macOS systems: 10.11.6 (mid-2015 MBP, Quad-core Core i7), 10.13.6 (2017 iMac Pro, 18-core Xeon W), and 10.14.6 (2017 MBP, Quad-core Core i7).

Testing showed the following failures:
10.11.6:
sage -t --long --warn-long 98.8 src/sage/symbolic/expression.pyx # 2 doctests failed
sage -t --long --warn-long 98.8 src/sage/misc/sageinspect.py # 4 doctests failed
sage -t --long --warn-long 98.8 src/sage/repl/ipython_extension.py # 2 doctests failed
Of the three, the first is transient; and the latter two appear to be repeatable: multiple test runs of these two failed consistently.

10.13.6:
sage -t --long --warn-long 72.2 src/sage/groups/cubic_braid.py # 1 doctest failed
This is transient.

10.14.6:
sage -t --long --warn-long 80.8 src/sage/symbolic/expression.pyx
This is transient.

Justin

--
Justin C. Walker, Curmudgeon at Large
Institute for the Absorption of Federal Funds
-----------
My wife 'n kids 'n dogs are gone,
I can't get Jesus on the phone,
But Ol' Milwaukee's Best is my best friend.
-----------


E. Madison Bray

unread,
Nov 19, 2019, 8:46:52 AM11/19/19
to sage-r...@googlegroups.com
On Mon, Nov 18, 2019 at 9:31 PM darwin doppelganger <dan...@gmail.com> wrote:
>
> I did a "make distclean" followed by "make" on my Mac OSX 10.14.6, Xcode 11.2.1 and the build completed successfully:

It's not even necessary to do a full `make distclean`. Instead you
have to manually reconfigure your build to use --with-python=3 like

$ ./configure --with-python=3

*then*

$ make

>> [2019-11-18 14:22:10] SageMath version 9.0.beta6, Release Date: 2019-11-18
>> Yes, Sage starts.
>> real 257m11.634s
>> user 280m20.436s
>> sys 31m35.438s
>> Sage build/upgrade complete!
>
> --
> You received this message because you are subscribed to the Google Groups "sage-release" group.
> To unsubscribe from this group and stop receiving emails from it, send an email to sage-release...@googlegroups.com.
> To view this discussion on the web visit https://groups.google.com/d/msgid/sage-release/3bc5756c-679b-4525-be49-b587b5151de1%40googlegroups.com.

E. Madison Bray

unread,
Nov 19, 2019, 8:55:30 AM11/19/19
to sage-r...@googlegroups.com
IMO this does appear to be a bug though. If you have an existing
Python 2 build of Sage it should *not* break just because the default
has changed to Python 3. It appears something is trying to run the
fpickle_setup.py script (whatever that is) with python3 even if it's a
python2 build of Sage.

E. Madison Bray

unread,
Nov 19, 2019, 8:59:27 AM11/19/19
to sage-r...@googlegroups.com
Nevermind--the real issue is the opposite of what I wrote two posts
ago. If you have a python2 build of Sage and you want to keep it as
python2 you need to do a `./configure --with-python=2`. It's kind of
annoying that this is not preserved (I'm a little confused that it
isn't, since I thought that was the point of having config.status...)

Dima Pasechnik

unread,
Nov 19, 2019, 9:57:36 AM11/19/19
to sage-release
isn't config.status a script, to re-create/show the current configuration?
So you'd run
./config-status --config to see the confugure's parameters used
at its last call.

>
> --
> You received this message because you are subscribed to the Google Groups "sage-release" group.
> To unsubscribe from this group and stop receiving emails from it, send an email to sage-release...@googlegroups.com.
> To view this discussion on the web visit https://groups.google.com/d/msgid/sage-release/CAOTD34a%2BQ9tWiEMN325KKxfdYoDXj3XF-QEmLxvWh5kQqP1xyQ%40mail.gmail.com.

John H Palmieri

unread,
Nov 19, 2019, 11:43:35 AM11/19/19
to sage-release
The problems with incremental building and Python 2 vs. Python 3 are being tracked at https://trac.sagemath.org/ticket/28742


On Tuesday, November 19, 2019 at 6:57:36 AM UTC-8, Dima Pasechnik wrote:
On Tue, Nov 19, 2019 at 1:59 PM E. Madison Bray <erik...@gmail.com> wrote:
> To unsubscribe from this group and stop receiving emails from it, send an email to sage-r...@googlegroups.com.

Emmanuel Charpentier

unread,
Nov 20, 2019, 1:59:51 AM11/20/19
to sage-release
I reported similar problems since I started to use ptestalllong on Python3-based Sagemath.

In the present case, I just checked that *each* of these tests passes when (manually) ran standalone.

Since 
  • I get the same problems when running testallong (i. e. nnot* parallel),
  • the lis of your problrmatic test only partially intersects mine,
I think that the problem is with the test infrastructure. 

HTH,

Paul Masson

unread,
Nov 20, 2019, 2:57:53 PM11/20/19
to sage-release
On macOS 10.15.1, after "make distclean" I get

The following package(s) may have failed to build (not necessarily

during this run of 'make all-start'):


* package: matplotlib-2.2.4.p0

  log file: /Users/Masson/Downloads/GitHub/sage/logs/pkgs/matplotlib-2.2.4.p0.log

  build directory: /Users/Masson/Downloads/GitHub/sage/local/var/tmp/sage/build/matplotlib-2.2.4.p0


In the attached log, it says that libpng is not installed. I've never seen this error before, but I didn't think I'd have to install anything manually that was mandatory for the build. Thoughts?

matplotlib-2.2.4.p0.log

Dima Pasechnik

unread,
Nov 20, 2019, 4:31:10 PM11/20/19
to sage-release
Probably anaconda conflict, do you have pkg-config installed, so that

pkg-config --libs libpng

outputs a path to anaconda?

I guess matplotlib does not use pkg-config, so it can't find libpng in
an unusual location.
> --
> You received this message because you are subscribed to the Google Groups "sage-release" group.
> To unsubscribe from this group and stop receiving emails from it, send an email to sage-release...@googlegroups.com.
> To view this discussion on the web visit https://groups.google.com/d/msgid/sage-release/b5a898e9-75d3-4bfe-a276-c273df8844d8%40googlegroups.com.

Paul Masson

unread,
Nov 20, 2019, 4:36:01 PM11/20/19
to sage-release
I do not have anaconda installed. Building from the git repository with no package managers.
> To unsubscribe from this group and stop receiving emails from it, send an email to sage-r...@googlegroups.com.

Dima Pasechnik

unread,
Nov 20, 2019, 4:39:19 PM11/20/19
to sage-release
please post config.log
you have a mysterious copy of libpng somewhere...
> To unsubscribe from this group and stop receiving emails from it, send an email to sage-release...@googlegroups.com.
> To view this discussion on the web visit https://groups.google.com/d/msgid/sage-release/8aa8a9a8-1cb5-4d54-bb08-188f02dfd78f%40googlegroups.com.

Paul Masson

unread,
Nov 20, 2019, 4:49:45 PM11/20/19
to sage-release
config.log

Dima Pasechnik

unread,
Nov 20, 2019, 5:05:41 PM11/20/19
to sage-release
hmm, strange. So it is found somewhere, not clear where. One way to
see is to check linking of libgd

otool -L local/lib/libgd.dylib

or perhaps in

logs/pkgs/libgd*
> To unsubscribe from this group and stop receiving emails from it, send an email to sage-release...@googlegroups.com.
> To view this discussion on the web visit https://groups.google.com/d/msgid/sage-release/4739aecd-5670-425c-b30b-2158db34bebf%40googlegroups.com.

Dima Pasechnik

unread,
Nov 20, 2019, 5:12:17 PM11/20/19
to sage-release
also please post the output of

libpng-config --prefix

Paul Masson

unread,
Nov 20, 2019, 5:17:54 PM11/20/19
to sage-release
For the first:

otool -L local/lib/libgd.dylib 

local/lib/libgd.dylib:

/Users/Masson/Downloads/GitHub/sage/local/lib/libgd.3.dylib (compatibility version 4.0.0, current version 4.0.0)

/usr/lib/libiconv.2.dylib (compatibility version 7.0.0, current version 7.0.0)

/usr/lib/libz.1.dylib (compatibility version 1.0.0, current version 1.2.11)

/Users/Masson/Downloads/GitHub/sage/local/lib/libfreetype.6.dylib (compatibility version 23.0.0, current version 23.1.0)

/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1281.0.0)


And the second:


libpng-config --prefix 

/usr/local/Cellar/libpng/1.6.34

Dima Pasechnik

unread,
Nov 20, 2019, 5:38:21 PM11/20/19
to sage-release
So you do have old (the current libpng there is 1.6.37, not 1.6.34)
Homebrew (?) installed (or perhaps not 100% de-installed), with libpng
installed in Cellar only (?) for some reason. It causes trouble, as it
is (as well as matplolib's handling
of dependence discovery) is a bit broken.

more our of curiosity, what are outputs of

libpng-config --cflags
libpng-config --ldflags

If you don't need it libpng, you can just remove it.
Else, you can remove it only for the Sage building.
Or you can update your Homebrew, properly install libpng etc...
> To unsubscribe from this group and stop receiving emails from it, send an email to sage-release...@googlegroups.com.
> To view this discussion on the web visit https://groups.google.com/d/msgid/sage-release/dfc961b1-4cf5-4922-b77d-16b158a99838%40googlegroups.com.

Paul Masson

unread,
Nov 20, 2019, 6:22:06 PM11/20/19
to sage-release
I have Homebrew installed but have rarely used it so assumed it wasn't part of the problem. It needed updating, but then the Sage build stopped with the same matplotlib error.

libpng-config --cflags 

-I/usr/local/Cellar/libpng/1.6.34/include/libpng16


libpng-config --ldflags 

-L/usr/local/Cellar/libpng/1.6.34/lib -lpng16


Guess I'll do a manual install with Homebrew unless there is a better idea.

Dima Pasechnik

unread,
Nov 20, 2019, 6:38:12 PM11/20/19
to sage-release
you can do

brew install libpng

which would install libpng 1.6.37 into /usr/local/
(I think, by looking at
https://github.com/Homebrew/homebrew-core/blob/master/Formula/libpng.rb)

you can also install a lot of other homebrew packages, such as gmp, etc
to account for more packages on https://trac.sagemath.org/ticket/27330


I've tweaked/wrote some Homebrew formulas to get flint and arb

brew install dimpase/science/flint
brew install dimpase/science/arb

from https://github.com/dimpase/homebrew-science

(probably many more can be done this way too)
> To unsubscribe from this group and stop receiving emails from it, send an email to sage-release...@googlegroups.com.
> To view this discussion on the web visit https://groups.google.com/d/msgid/sage-release/0d8abc59-9cc4-48ec-a539-082e2dd0fed7%40googlegroups.com.

Paul Masson

unread,
Nov 20, 2019, 6:56:03 PM11/20/19
to sage-release
I'd like to understand why this is now necessary. I've been building Sage on this Mac for several years without having this happen. I think the last "make distclean" I did was in April. What might have changed in the meantime? Perhaps this is relevant: https://trac.sagemath.org/ticket/27186

Dima Pasechnik

unread,
Nov 20, 2019, 7:36:02 PM11/20/19
to sage-release
On Wed, Nov 20, 2019 at 11:56 PM Paul Masson <paulm...@comcast.net> wrote:
>
> I'd like to understand why this is now necessary. I've been building Sage on this Mac for several years without having this happen. I think the last "make distclean" I did was in April. What might have changed in the meantime? Perhaps this is relevant: https://trac.sagemath.org/ticket/27186

Sure, now a system version of libpng is used by default.
We're trying to unvendor as much as possible from Sage the distribution, see
https://trac.sagemath.org/ticket/27330
- something which is a necessary step towards make sagelib a "normal"
Python library,
which you could install by running pip.

So, yes, if you have a stale library somewhere it might break the
build, as it's not really
possible to test on all the possible broken configurations.

You may force building of libpng by doing

./configure --without-system-png

before running make

Hope this explains.
> To unsubscribe from this group and stop receiving emails from it, send an email to sage-release...@googlegroups.com.
> To view this discussion on the web visit https://groups.google.com/d/msgid/sage-release/fe421ed4-2a7c-4fb0-ae42-e2b2015b7bf1%40googlegroups.com.

Dima Pasechnik

unread,
Nov 20, 2019, 7:39:26 PM11/20/19
to sage-release
On Thu, Nov 21, 2019 at 12:35 AM Dima Pasechnik <dim...@gmail.com> wrote:
>
> On Wed, Nov 20, 2019 at 11:56 PM Paul Masson <paulm...@comcast.net> wrote:
> >
> > I'd like to understand why this is now necessary. I've been building Sage on this Mac for several years without having this happen. I think the last "make distclean" I did was in April. What might have changed in the meantime? Perhaps this is relevant: https://trac.sagemath.org/ticket/27186
>
> Sure, now a system version of libpng is used by default.
> We're trying to unvendor as much as possible from Sage the distribution, see
> https://trac.sagemath.org/ticket/27330
> - something which is a necessary step towards make sagelib a "normal"
> Python library,
> which you could install by running pip.
>
> So, yes, if you have a stale library somewhere it might break the
> build, as it's not really
> possible to test on all the possible broken configurations.
>
> You may force building of libpng by doing
>
> ./configure --without-system-png
oops, it must be
./configure --without-system-libpng

Eric Gourgoulhon

unread,
Nov 21, 2019, 7:30:58 AM11/21/19
to sage-release
On Ubuntu 18.04 running on a bi-Xeon E5-2623 (8 cores) + 16 GB RAM computer:

  - default (i.e. Python 3) build with -j16 from a fresh git clone + pull develop OK
  - all tests from ptestlong passed

Eric.


Paul Masson

unread,
Nov 21, 2019, 4:09:44 PM11/21/19
to sage-release
After installing both libpng and pkg-config, and making sure both are completely updated, building Sage still fails on matplotlib with the same error. Here is an output requested yesterday:

pkg-config --libs libpng 

-L/usr/local/Cellar/libpng/1.6.37/lib -lpng16 -lz


I added /usr/local/Cellar to my $PATH. Build still fails for matplotlib.


Before I ignore the system libpng when building, is there anything else I should try?

Dima Pasechnik

unread,
Nov 21, 2019, 4:35:24 PM11/21/19
to sage-release
On Thu, 21 Nov 2019, 21:09 Paul Masson, <paulm...@comcast.net> wrote:
After installing both libpng and pkg-config, and making sure both are completely updated, building Sage still fails on matplotlib with the same error. Here is an output requested yesterday:

pkg-config --libs libpng 

-L/usr/local/Cellar/libpng/1.6.37/lib -lpng16 -lz


I added /usr/local/Cellar to my $PATH. Build still fails for matplotlib.


Before I ignore the system libpng when building, is there anything else I should try?


do you have /usr/local/include/png.h and /usr/local/lib/libpng.dylib 
present?

To unsubscribe from this group and stop receiving emails from it, send an email to sage-release...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/sage-release/8f2476ef-43cd-496b-be31-52fc133f0863%40googlegroups.com.

Paul Masson

unread,
Nov 21, 2019, 4:43:05 PM11/21/19
to sage-release
Both are present as symlinks

John H Palmieri

unread,
Nov 21, 2019, 5:45:33 PM11/21/19
to sage-release
I have what looks like a very similar setup: `pkg-config --libs libpng` returns the same thing, I have symlinks for those two files, but matplotlib finds libpng just fine. Did you do 'make distclean' after reinstalling libpng and pkg-config? What does "brew list" say?

Paul Masson

unread,
Nov 21, 2019, 5:59:18 PM11/21/19
to sage-release
brew list output includes libpng. Did not "make distclean" after updates. Will try yet another fresh start...

Paul Masson

unread,
Nov 21, 2019, 8:34:10 PM11/21/19
to sage-release
That did it! Thanks Dima and John. Hope I won't have to build fresh with every little system package installed.


On Thursday, November 21, 2019 at 2:45:33 PM UTC-8, John H Palmieri wrote:

Dima Pasechnik

unread,
Nov 21, 2019, 8:56:54 PM11/21/19
to sage-r...@googlegroups.com
On Fri, 22 Nov 2019 at 01:34, Paul Masson <paulm...@comcast.net> wrote:
That did it! Thanks Dima and John. Hope I won't have to build fresh with every little system package installed.

distclean is certainly an overkill in such cases.
Basically, if you replace a package X with a system package, you might need to rebuild all the packages that depend on X, and this should be automatic (but not too robust :()


what is not automatic is de-installation of Sage’s package X,
and one needs to run

make X-clean

before running ./configure && make

To unsubscribe from this group and stop receiving emails from it, send an email to sage-release...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/sage-release/b3345cc3-7f96-454b-9950-25516db8114e%40googlegroups.com.
Reply all
Reply to author
Forward
0 new messages