Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

upgrade Normaliz to 3.8.8, PyNormaliz to 2.12, add script package libnauty #27952

Closed
videlec opened this issue Jun 8, 2019 · 204 comments
Closed

Comments

@videlec
Copy link
Contributor

videlec commented Jun 8, 2019

Tarballs: see checksums.ini

These new releases include dynamic bitset classes that allow dynamic h-representation computations.

We also install nauty header and library in order that Normaliz compile with nauty support (for computing automorphism group).

Depends on #30262

Upstream: Fixed upstream, but not in a stable release.

CC: @mkoeppe @jplab @isuruf @w-bruns @tscrim @kliem @LaisRast @slel

Component: packages: standard

Keywords: package upgrade days101

Author: Vincent Delecroix, Jonathan Kliem, Matthias Koeppe

Branch: c55a701

Reviewer: Jonathan Kliem, Matthias Koeppe

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

@videlec videlec added this to the sage-8.8 milestone Jun 8, 2019
@videlec
Copy link
Contributor Author

videlec commented Jun 8, 2019

New commits:

fdb67b5upgrade normaliz to 3.7.3

@videlec
Copy link
Contributor Author

videlec commented Jun 8, 2019

Commit: fdb67b5

@videlec
Copy link
Contributor Author

videlec commented Jun 8, 2019

Branch: u/vdelecroix/normaliz

@videlec

This comment has been minimized.

@videlec
Copy link
Contributor Author

videlec commented Jun 8, 2019

Changed keywords from none to package upgrade

@videlec videlec changed the title upgrade normaliz to 3.7.3 upgrade Normaliz to 3.7.3 and PyNormaliz to 2.7 Jun 8, 2019
@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Jun 8, 2019

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

7b7168bupgrade normaliz to 3.7.3 and PyNormaliz to 2.7

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Jun 8, 2019

Changed commit from fdb67b5 to 7b7168b

@videlec
Copy link
Contributor Author

videlec commented Jun 8, 2019

Author: Vincent Delecroix

@videlec

This comment has been minimized.

@videlec videlec changed the title upgrade Normaliz to 3.7.3 and PyNormaliz to 2.7 upgrade Normaliz to 3.7.3 Jun 8, 2019
@videlec
Copy link
Contributor Author

videlec commented Jun 8, 2019

Dependencies: #27920

@videlec

This comment has been minimized.

@videlec videlec changed the title upgrade Normaliz to 3.7.3 upgrade Normaliz to 3.7.3 and PyNormaliz to 2.8 Jun 9, 2019
@videlec

This comment has been minimized.

@videlec
Copy link
Contributor Author

videlec commented Jun 9, 2019

comment:9

Self tests do not pass on my computer

$ python3 setup.py test
/opt/sage/sage-py3-gcc/local/lib/python3.7/distutils/dist.py:274: UserWarning: Unknown distribution option: 'long_description_content_type'
  warnings.warn(msg)
running test
Doctest must_be_matrices-39.txt
  2 tests
Doctest test_rational_cones.txt
  34 tests
Doctest segfault-45.txt
  3 tests
Doctest autom.txt
Doctest failures

@videlec
Copy link
Contributor Author

videlec commented Jun 9, 2019

comment:10

And I confirm the segfault in a Python3 console

$ python3
Python 3.7.3 (default, May 26 2019, 12:00:16) 
[GCC 8.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> from PyNormaliz import Cone, NmzCone, NmzResult
>>> V = [[-1, -1, 1], [-1, 0, 1], [-1, 1, 1], [0, -1, 1], [0, 0, 1], [0, 1, 1], [1, -1, 1], [1, 0, 1], [1, 1, 1]]
>>> cube2 = NmzCone(vertices=V)
>>> NmzResult(cube2,"Automorphisms") == [8, [[[], []], []], [[[0, 2, 1, 3], [1, 0, 3, 2]], [[0, 1, 2, 3]]], [[[1, 0, 3, 2], [0, 2, 1, 3]], [[0, 1, 2, 3]]]]
Erreur de segmentation (core dumped)

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Jun 9, 2019

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

72af741normaliz 3.7.3 upgrade / PyNormaliz 2.8 upgrade

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Jun 9, 2019

Changed commit from 7b7168b to 72af741

@videlec

This comment has been minimized.

@videlec
Copy link
Contributor Author

videlec commented Jun 10, 2019

comment:12

segfault probably due to e-antic version. I am about to release 0.1.3

@videlec videlec changed the title upgrade Normaliz to 3.7.3 and PyNormaliz to 2.8 upgrade e-antic to 0.1.3 Normaliz to 3.7.3 and PyNormaliz to 2.8 Jun 10, 2019
@videlec
Copy link
Contributor Author

videlec commented Jun 10, 2019

comment:13

Most probably, the segfault is due to the fact that Normaliz was not built with nauty support

checking whether nauty headers and library are available... checking for densenauty in -lnauty... no

@mkoeppe
Copy link
Contributor

mkoeppe commented Aug 29, 2020

comment:155

Replying to @kliem:

Replying to @mkoeppe:

Is this condition tested by a doctest?

Matrix(ZZ, nmz_vertices + nmz_rays).rank() == Matrix(ZZ, nmz_rays).rank() + 1

...
The question is simply: Is the far face a facet or not? If it is a facet, we need to add an inequality to the normaliz cone. The lines don't make a difference with regard to that question.

Thanks for the explanation and adding the new comments and tests.

This is a positive review for your contributions on this ticket.


New commits:

3f2d872Merge tag '9.2.beta8' into t/27952/normaliz
84db571build/pkgs/normaliz: Update to 3.8.8
e1fc147Merge tag '9.2.beta10' into t/27952/normaliz

@mkoeppe
Copy link
Contributor

mkoeppe commented Aug 29, 2020

Changed commit from f3e8fc2 to e1fc147

@mkoeppe
Copy link
Contributor

mkoeppe commented Aug 29, 2020

comment:156

Replying to @kliem:

[normaliz-3.8.7] checking whether e-antic headers and library are available... configure: error: e-antic is not available but was requested

Tried it with "my" new patchbot. Doesn't work.

Please check again with the new release.

@mkoeppe
Copy link
Contributor

mkoeppe commented Aug 29, 2020

Changed reviewer from Jonathan Kliem, Matthias Koeppe to Jonathan Kliem, Matthias Koeppe, github.com/mkoeppe/sage/runs/1045214008, github.com/mkoeppe/sage/actions/runs/230112232

@kliem
Copy link
Contributor

kliem commented Aug 30, 2020

comment:158

Replying to @mkoeppe:

Replying to @kliem:

[normaliz-3.8.7] checking whether e-antic headers and library are available... configure: error: e-antic is not available but was requested

Tried it with "my" new patchbot. Doesn't work.

Please check again with the new release.

Seems to work well. At least all tests in the geometry folder passed.

This is great, because this is an improvement (see above). Before this ticket, pynormaliz is not working at all.

@kliem
Copy link
Contributor

kliem commented Aug 30, 2020

comment:159

Replying to @mkoeppe:

Replying to @kliem:

Replying to @mkoeppe:

Is this condition tested by a doctest?

Matrix(ZZ, nmz_vertices + nmz_rays).rank() == Matrix(ZZ, nmz_rays).rank() + 1

...
The question is simply: Is the far face a facet or not? If it is a facet, we need to add an inequality to the normaliz cone. The lines don't make a difference with regard to that question.

Thanks for the explanation and adding the new comments and tests.

This is a positive review for your contributions on this ticket.

Positive review on the other part.

@kliem
Copy link
Contributor

kliem commented Aug 30, 2020

Changed reviewer from Jonathan Kliem, Matthias Koeppe, github.com/mkoeppe/sage/runs/1045214008, github.com/mkoeppe/sage/actions/runs/230112232 to Jonathan Kliem, Matthias Koeppe

@vbraun
Copy link
Member

vbraun commented Aug 30, 2020

comment:161
**********************************************************************
File "src/sage/geometry/polyhedron/backend_normaliz.py", line 871, in sage.geometry.polyhedron.backend_normaliz.Polyhedron_normaliz._test_far_facet_condition
Failed example:
    P = Polyhedron(vertices=[[1,0], [0,1]],
                   rays=[[1,1]], backend='normaliz')     # optional - pynormaliz
Exception raised:
    Traceback (most recent call last):
      File "/home/release/Sage/local/lib/python3.7/site-packages/sage/doctest/forker.py", line 715, in _run
        self.compile_and_execute(example, compiler, test.globs)
      File "/home/release/Sage/local/lib/python3.7/site-packages/sage/doctest/forker.py", line 1139, in compile_and_execute
        exec(compiled, globs)
      File "<doctest sage.geometry.polyhedron.backend_normaliz.Polyhedron_normaliz._test_far_facet_condition[0]>", line 2, in <module>
        rays=[[Integer(1),Integer(1)]], backend='normaliz')     # optional - pynormaliz
      File "sage/misc/lazy_import.pyx", line 353, in sage.misc.lazy_import.LazyImport.__call__ (build/cythonized/sage/misc/lazy_import.c:3736)
        return self.get_object()(*args, **kwds)
      File "/home/release/Sage/local/lib/python3.7/site-packages/sage/geometry/polyhedron/constructor.py", line 662, in Polyhedron
        return parent(Vrep, Hrep, convert=convert, verbose=verbose)
      File "sage/structure/parent.pyx", line 902, in sage.structure.parent.Parent.__call__ (build/cythonized/sage/structure/parent.c:9364)
        return mor._call_with_args(x, args, kwds)
      File "sage/structure/coerce_maps.pyx", line 180, in sage.structure.coerce_maps.DefaultConvertMap_unique._call_with_args (build/cythonized/sage/structure/coerce_maps.c:5154)
        raise
      File "sage/structure/coerce_maps.pyx", line 175, in sage.structure.coerce_maps.DefaultConvertMap_unique._call_with_args (build/cythonized/sage/structure/coerce_maps.c:5042)
        return C._element_constructor(x, *args, **kwds)
      File "/home/release/Sage/local/lib/python3.7/site-packages/sage/geometry/polyhedron/parent.py", line 598, in _element_constructor_
        return self.element_class(self, Vrep, Hrep, **kwds)
      File "/home/release/Sage/local/lib/python3.7/site-packages/sage/geometry/polyhedron/backend_normaliz.py", line 238, in __init__
        Polyhedron_base.__init__(self, parent, Vrep, Hrep, **kwds)
      File "/home/release/Sage/local/lib/python3.7/site-packages/sage/geometry/polyhedron/base.py", line 249, in __init__
        self._init_from_Vrepresentation(vertices, rays, lines, **kwds)
      File "/home/release/Sage/local/lib/python3.7/site-packages/sage/geometry/polyhedron/backend_normaliz.py", line 565, in _init_from_Vrepresentation
        self._init_from_normaliz_data(data, normaliz_field=normaliz_field, verbose=verbose)
      File "/home/release/Sage/local/lib/python3.7/site-packages/sage/geometry/polyhedron/backend_normaliz.py", line 387, in _init_from_normaliz_data
        cone = self._cone_from_normaliz_data(data, verbose)
      File "/home/release/Sage/local/lib/python3.7/site-packages/sage/geometry/polyhedron/backend_normaliz.py", line 419, in _cone_from_normaliz_data
        PythonModule("PyNormaliz", spkg="pynormaliz").require()
      File "/home/release/Sage/local/lib/python3.7/site-packages/sage/features/__init__.py", line 191, in require
        raise FeatureNotPresentError(self, presence.reason, presence.resolution)
    sage.features.FeatureNotPresentError: PyNormaliz is not available.
    Failed to import `PyNormaliz`.
    To install PyNormaliz you can try to run 'sage -i pynormaliz'.
**********************************************************************

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Aug 30, 2020

Changed commit from e1fc147 to ce2b8f9

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Aug 30, 2020

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

ce2b8f9src/sage/geometry/polyhedron/backend_normaliz.py: Put # optional - pynormaliz on the first line, not continuation line

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Aug 30, 2020

Branch pushed to git repo; I updated commit sha1 and set ticket back to needs_review. New commits:

c55a701src/sage/geometry/polyhedron/backend_normaliz.py: Put # optional - pynormaliz on the first line, not continuation line (one more)

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Aug 30, 2020

Changed commit from ce2b8f9 to c55a701

@vbraun
Copy link
Member

vbraun commented Sep 6, 2020

Changed branch from u/mkoeppe/normaliz to c55a701

@dimpase
Copy link
Member

dimpase commented Oct 3, 2020

Changed commit from c55a701 to none

@dimpase
Copy link
Member

dimpase commented Oct 3, 2020

comment:167

a bug in libnauty spkg-configure

the 1st two args of AC_SEARCH_LIBS are swapped.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

8 participants