#27952 closed enhancement (fixed)
upgrade Normaliz to 3.8.8, PyNormaliz to 2.12, add script package libnauty
Reported by:  vdelecroix  Owned by:  

Priority:  major  Milestone:  sage9.2 
Component:  packages: standard  Keywords:  package upgrade days101 
Cc:  mkoeppe, jipilab, isuruf, Winfried, tscrim, ghkliem, ghLaisRast, slelievre  Merged in:  
Authors:  Vincent Delecroix, Jonathan Kliem, Matthias Koeppe  Reviewers:  Jonathan Kliem, Matthias Koeppe 
Report Upstream:  Fixed upstream, but not in a stable release.  Work issues:  
Branch:  c55a701 (Commits, GitHub, GitLab)  Commit:  
Dependencies:  #30262  Stopgaps: 
Description (last modified by )
Tarballs: see checksums.ini
These new releases include dynamic bitset classes that allow dynamic hrepresentation computations.
We also install nauty header and library in order that Normaliz compile with nauty support (for computing automorphism group).
Attachments (2)
Change History (169)
comment:1 Changed 3 years ago by
 Branch set to u/vdelecroix/normaliz
 Commit set to fdb67b50a94ec7e4dde62d7a213d6f2bea563dca
comment:2 Changed 3 years ago by
 Description modified (diff)
 Keywords package upgrade added
 Summary changed from upgrade normaliz to 3.7.3 to upgrade Normaliz to 3.7.3 and PyNormaliz to 2.7
comment:3 Changed 3 years ago by
 Commit changed from fdb67b50a94ec7e4dde62d7a213d6f2bea563dca to 7b7168bd3d6fee5cda67fa6c86442e4754bbb7e7
Branch pushed to git repo; I updated commit sha1. This was a forced push. New commits:
7b7168b  upgrade normaliz to 3.7.3 and PyNormaliz to 2.7

comment:4 Changed 3 years ago by
 Status changed from new to needs_review
comment:5 Changed 3 years ago by
 Description modified (diff)
 Status changed from needs_review to needs_work
 Summary changed from upgrade Normaliz to 3.7.3 and PyNormaliz to 2.7 to upgrade Normaliz to 3.7.3
comment:6 Changed 3 years ago by
 Dependencies set to #27920
comment:7 Changed 3 years ago by
 Description modified (diff)
 Summary changed from upgrade Normaliz to 3.7.3 to upgrade Normaliz to 3.7.3 and PyNormaliz to 2.8
comment:8 Changed 3 years ago by
 Description modified (diff)
comment:9 Changed 3 years ago by
Self tests do not pass on my computer
$ python3 setup.py test /opt/sage/sagepy3gcc/local/lib/python3.7/distutils/dist.py:274: UserWarning: Unknown distribution option: 'long_description_content_type' warnings.warn(msg) running test Doctest must_be_matrices39.txt 2 tests Doctest test_rational_cones.txt 34 tests Doctest segfault45.txt 3 tests Doctest autom.txt Doctest failures
comment:10 Changed 3 years ago by
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)
comment:11 Changed 3 years ago by
 Commit changed from 7b7168bd3d6fee5cda67fa6c86442e4754bbb7e7 to 72af741a434aa8ab7f4602e9fecd54e691ef9513
Branch pushed to git repo; I updated commit sha1. This was a forced push. New commits:
72af741  normaliz 3.7.3 upgrade / PyNormaliz 2.8 upgrade

comment:12 Changed 3 years ago by
 Description modified (diff)
 Summary changed from upgrade Normaliz to 3.7.3 and PyNormaliz to 2.8 to upgrade eantic to 0.1.3 Normaliz to 3.7.3 and PyNormaliz to 2.8
segfault probably due to eantic version. I am about to release 0.1.3
comment:13 Changed 3 years ago by
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
comment:14 Changed 3 years ago by
 Milestone changed from sage8.8 to sage8.9
Tickets still needing working or clarification should be moved to the next release milestone at the soonest (please feel free to revert if you think the ticket is close to being resolved).
comment:15 Changed 3 years ago by
 Description modified (diff)
 Summary changed from upgrade eantic to 0.1.3 Normaliz to 3.7.3 and PyNormaliz to 2.8 to upgrade Normaliz to 3.7.3 and PyNormaliz to 2.8
comment:16 Changed 3 years ago by
 Description modified (diff)
comment:17 Changed 3 years ago by
 Commit changed from 72af741a434aa8ab7f4602e9fecd54e691ef9513 to 36f640ea47a7160379cc47784476270177698cdc
comment:18 Changed 3 years ago by
 Dependencies changed from #27920 to #28006
 Status changed from needs_work to needs_review
comment:19 Changed 3 years ago by
What's this business with nauty.a? Shouldn't a shared library be built?
comment:20 Changed 3 years ago by
If you suceed in doing so, please go on. Nauty makefile is extremly basic.
comment:21 Changed 3 years ago by
 Keywords days101 added
comment:22 Changed 3 years ago by
Debian seems to have an autotoolized build system for nauty. https://sources.debian.org/patches/nauty/2.5r9+ds1/
comment:23 Changed 3 years ago by
They also do not build shared library as far a I see.
comment:24 Changed 3 years ago by
Their "upstream autotoolization.patch " has lib_LTLIBRARIES = libnauty.la ....
comment:25 Changed 3 years ago by
 Status changed from needs_review to needs_work
Then you are welcome to port their patch to Sage and propose a patch to normaliz!
comment:26 Changed 2 years ago by
 Cc isuruf added
comment:27 Changed 2 years ago by
FWIW: Normaliz 3.7.4 is out and fixes an fvector issue (that came up with algebraic polytopes). It might be worth to grab this version right away and not wait for another ticket. This newer version should not be a quantum step...
comment:28 Changed 2 years ago by
 Milestone changed from sage8.9 to sage9.1
Ticket retargeted after milestone closed
comment:29 followup: ↓ 33 Changed 2 years ago by
Also we need a version of eantic that finds Debian's install name of arb, flintarb
.
This seems to be in eantic master but not in the 0.x branch
comment:30 Changed 2 years ago by
(see https://github.com/mkoeppe/sage/runs/430688755?check_suite_focus=true, where Sage recognizes libflintarb but the eantic install fails.)
comment:31 Changed 2 years ago by
 Cc Winfried tscrim added
 Description modified (diff)
 Summary changed from upgrade Normaliz to 3.7.3 and PyNormaliz to 2.8 to upgrade Normaliz to 3.8.3, PyNormaliz to 2.8, eantic
comment:32 Changed 2 years ago by
 Summary changed from upgrade Normaliz to 3.8.3, PyNormaliz to 2.8, eantic to upgrade Normaliz to 3.8.3, PyNormaliz to 2.9, eantic
comment:33 in reply to: ↑ 29 Changed 2 years ago by
Replying to mkoeppe:
Also we need a version of eantic that finds Debian's install name of arb,
flintarb
. This seems to be in eantic master but not in the 0.x branch
Fixed in merged pull request https://github.com/videlec/eantic/pull/82; now we only need a new release!
comment:34 Changed 2 years ago by
Needs to be merged with #28799.
comment:35 Changed 2 years ago by
 Cc ghkliem ghLaisRast added
 Description modified (diff)
comment:36 Changed 2 years ago by
 Description modified (diff)
 Summary changed from upgrade Normaliz to 3.8.3, PyNormaliz to 2.9, eantic to upgrade Normaliz to 3.8.4, PyNormaliz to 2.10, install nauty header/library, add patch to eantic
comment:37 Changed 2 years ago by
 Branch changed from u/vdelecroix/normaliz to u/mkoeppe/normaliz
comment:38 followup: ↓ 39 Changed 2 years ago by
 Commit changed from 36f640ea47a7160379cc47784476270177698cdc to 3543b73b8f7d0881911c78a7fcf7ef4bfb7fa4d1
The challenge with upgrading Normaliz and PyNormaliz? one basically has to rewrite _cone_from_Vrepresentation_and_Hrepresentation
in backend_normaliz.py
(and then pickling fails again), as initialization from precomputed data of normaliz cones works a bit different now.
I have mostly figured out how to do this, I think. So unless someone want to, I would like to take care of that part.
New commits:
b9b8222  install nauty header and library

b482276  normaliz 3.7.3 upgrade / PyNormaliz 2.8 upgrade

1860af0  Update Normaliz to 3.8.4, PyNormaliz to 2.10

2e1b0e8  normaliz: Remove dependency on boost_cropped

3543b73  Add eantic patch

comment:39 in reply to: ↑ 38 Changed 2 years ago by
Replying to ghkliem:
The challenge with upgrading Normaliz and PyNormaliz? one basically has to rewrite
_cone_from_Vrepresentation_and_Hrepresentation
inbackend_normaliz.py
(and then pickling fails again), as initialization from precomputed data of normaliz cones works a bit different now.I have mostly figured out how to do this, I think. So unless someone want to, I would like to take care of that part.
Sounds good.
comment:40 Changed 2 years ago by
I assume you are referring to these kinds of errors:
File "src/sage/geometry/polyhedron/backend_normaliz.py", line 675, in sage.geometry.polyhedron.backend_normaliz.Polyhedron_normaliz._cone_from_Vrepresentation_and_Hrepresentation Failed example: cone = P._cone_from_Vrepresentation_and_Hrepresentation(P.vertices(),P.rays(),P.inequalities(),P.equations()) # optional  pynormaliz Exception raised: Traceback (most recent call last): File "/Users/mkoeppe/s/sage/sagerebasing/worktreealgebraic2018spring/local/lib/python3.7/sitepackages/sage/doctest/forker.py", line 681, in _run self.compile_and_execute(example, compiler, test.globs) File "/Users/mkoeppe/s/sage/sagerebasing/worktreealgebraic2018spring/local/lib/python3.7/sitepackages/sage/doctest/forker.py", line 1123, in compile_and_execute exec(compiled, globs) File "<doctest sage.geometry.polyhedron.backend_normaliz.Polyhedron_normaliz._cone_from_Vrepresentation_and_Hrepresentation[2]>", line 1, in <module> cone = P._cone_from_Vrepresentation_and_Hrepresentation(P.vertices(),P.rays(),P.inequalities(),P.equations()) # optional  pynormaliz File "/Users/mkoeppe/s/sage/sagerebasing/worktreealgebraic2018spring/local/lib/python3.7/sitepackages/sage/geometry/polyhedron/backend_normaliz.py", line 790, in _cone_from_Vrepresentation_and_Hrepresentation return self._cone_from_normaliz_data(data, verbose=verbose) File "/Users/mkoeppe/s/sage/sagerebasing/worktreealgebraic2018spring/local/lib/python3.7/sitepackages/sage/geometry/polyhedron/backend_normaliz.py", line 414, in _cone_from_normaliz_data cone = PyNormaliz.NmzCone(**data) PyNormaliz_cpp.NormalizError: Some error in the normaliz input data detected: Input type not allowed with precomputed data
comment:41 Changed 2 years ago by
I will not make further changes at this point. The branch needs the first part of commit 9dd22ef4f79228fdb9e0e012b98046349922d6fb (from #28799).
comment:42 Changed 2 years ago by
comment:43 Changed 2 years ago by
@Winfried: I'm having trouble with the new version of normaliz for the following reason:
When initializing a cone from precomputed data, it asks me to specify generated_lattice
. However, sometimes we do not have access to this (e.g. when we want to change backends and have never done the computations in normaliz or when combinatorially obtaining the new double description is much cheaper).
How do I obtain generated_lattice
from extreme_rays
and maximal_subspace
? (Or even as a cone property from any normaliz cone).
I'm puzzled for example how I could obtain the 2dimensional permutahedron e.g.. The following doesn't seem to work:
sage: import PyNormaliz sage: cone = PyNormaliz.NmzCone( ....: dehomogenization=[[0, 0, 0, 1]], ....: extreme_rays=[ ....: [1, 2, 3, 1], [1, 3, 2, 1], [2, 1, 3, 1], ....: [2, 3, 1, 1], [3, 1, 2, 1], [3, 2, 1, 1]], ....: generated_lattice=[[1, 0, 1, 0], [0, 1, 1, 0], [0, 0, 6, 1]], ....: maximal_subspace=[], ....: support_hyperplanes=[ ....: [1, 1, 0, 5], [1, 0, 0, 3], [0, 1, 0, 3], ....: [0, 1, 0, 1], [1, 0, 0, 1], [1, 1, 0, 3]])
It initializes the empty cone for some reason. (At least Dimension of this thing is 1.)
How do I modify the generated lattice to make this work?
comment:44 Changed 2 years ago by
 Work issues set to patch eantic configure
comment:45 Changed 2 years ago by
 Commit changed from 3543b73b8f7d0881911c78a7fcf7ef4bfb7fa4d1 to 2aaeccc690a95633b46fd84004bf808bc2530084
comment:46 Changed 2 years ago by
 Branch changed from u/mkoeppe/normaliz to u/ghkliem/normaliz
 Commit changed from 2aaeccc690a95633b46fd84004bf808bc2530084 to f40437f509dce3c70debddf3890fcd1e3468c8cd
 Work issues changed from patch eantic configure to patch eantic configure, patch normaliz
As for the trouble with normaliz 3.8.4:
Winfried Bruns figured out the error, one needs to patch normaliz somehow like this
Add a missing dual in normaliz 3.8.4 diff git a/source/libnormaliz/cone.cpp b/source/libnormaliz/cone.cpp index 4e416a75e1..9ba2b2ba40 100644  a/source/libnormaliz/cone.cpp +++ b/source/libnormaliz/cone.cpp @@ 1034,7 +1034,7 @@ void Cone<Integer>::process_multi_input_inner(map<InputType, vector<vector<Integ setComputed(ConeProperty::SupportHyperplanes); size_t test_rank=BasisChangePointed.getRank();  if( test_rank != BasisChangePointed.to_sublattice(Generators).rank()  + if( test_rank != BasisChangePointed.to_sublattice_dual(Generators).rank()  test_rank != BasisChangePointed.to_sublattice_dual(SupportHyperplanes).rank()) throw BadInputException("Precomputed data do not define pointed cone modulo maximal subspace"); create_convex_hull_data();
I couldn't figure out, how to apply this patch though. So I manually changed the tarball and then udpated the checksums. So my last commit is most likely not helpful.
New commits:
2565849  fixed pickling of normaliz polyhedra

f40437f  checksum for patched normaliz

comment:47 Changed 2 years ago by
All tests passing for me.
comment:48 Changed 2 years ago by
 Branch changed from u/ghkliem/normaliz to u/mkoeppe/normaliz
comment:49 Changed 2 years ago by
 Commit changed from f40437f509dce3c70debddf3890fcd1e3468c8cd to 1f534ca2e5dfc196093728006766bd3fc0ef84c6
comment:50 followup: ↓ 54 Changed 2 years ago by
I get this (on macOS):
sage t src/sage/geometry/polyhedron/backend_normaliz.py ********************************************************************** File "src/sage/geometry/polyhedron/backend_normaliz.py", line 1242, in sage.geometry.polyhedron.backend_normaliz.Polyhedron_normaliz.__setstate__ Failed example: P1.volume(measure='induced_lattice', engine='normaliz') # optional  pynormaliz Expected: 96 Got: 0 ********************************************************************** File "src/sage/geometry/polyhedron/backend_normaliz.py", line 1251, in sage.geometry.polyhedron.backend_normaliz.Polyhedron_normaliz.__setstate__ Failed example: P2 == P # optional  pynormaliz Expected: True Got: False ********************************************************************** 1 item had failures: 2 of 27 in sage.geometry.polyhedron.backend_normaliz.Polyhedron_normaliz.__setstate__ [317 tests, 2 failures, 2.46 s]
comment:51 Changed 2 years ago by
 Work issues patch eantic configure, patch normaliz deleted
comment:52 Changed 2 years ago by
 Work issues set to patch eantic configure
comment:53 Changed 2 years ago by
Vincent, could you make a new eantic 0.x release?
comment:54 in reply to: ↑ 50 Changed 2 years ago by
This means you didn't apply the patch before installing normaliz (?)
Replying to mkoeppe:
I get this (on macOS):
sage t src/sage/geometry/polyhedron/backend_normaliz.py ********************************************************************** File "src/sage/geometry/polyhedron/backend_normaliz.py", line 1242, in sage.geometry.polyhedron.backend_normaliz.Polyhedron_normaliz.__setstate__ Failed example: P1.volume(measure='induced_lattice', engine='normaliz') # optional  pynormaliz Expected: 96 Got: 0 ********************************************************************** File "src/sage/geometry/polyhedron/backend_normaliz.py", line 1251, in sage.geometry.polyhedron.backend_normaliz.Polyhedron_normaliz.__setstate__ Failed example: P2 == P # optional  pynormaliz Expected: True Got: False ********************************************************************** 1 item had failures: 2 of 27 in sage.geometry.polyhedron.backend_normaliz.Polyhedron_normaliz.__setstate__ [317 tests, 2 failures, 2.46 s]
comment:55 Changed 2 years ago by
The patch was applied in that build:
sagelogger p 'sagespkg normaliz3.8.4' '/Users/mkoeppe/s/sage/sagerebasing/worktreealgebraic2018spring/logs/pkgs/normaliz3.8.4.log' [normaliz3.8.4] Found local metadata for normaliz3.8.4 [normaliz3.8.4] Using cached file /Users/mkoeppe/s/sage/sagerebasing/worktreealgebraic2018spring/upstream/normaliz3.8.4.tar.gz [normaliz3.8.4] normaliz3.8.4 [normaliz3.8.4] ==================================================== [normaliz3.8.4] Setting up build directory for normaliz3.8.4 [normaliz3.8.4] Finished extraction [normaliz3.8.4] Applying patches from ../patches... [normaliz3.8.4] Applying ../patches/patch_test_rank.patch [normaliz3.8.4] patching file source/libnormaliz/cone.cpp [normaliz3.8.4] Hunk #1 succeeded at 1034 with fuzz 2.
comment:56 Changed 2 years ago by
This is the same issue that I had and why I said, I couldn't do a patch.
When I manually modified the tarball in upstream and updated the checksums it worked just fine.
comment:57 Changed 2 years ago by
Attach your modified tarball please
Changed 2 years ago by
comment:58 Changed 2 years ago by
Well your tarball has a different patch.
comment:59 Changed 2 years ago by
Sorry, my bad. I used an editor without line numbers, because it is not configured to delete trailing spaces.
This is Winfrieds mail:
An einer Stelle ein _dual vergessen. Ersetze Zeile 4287 in cone.cpp durch
vector<Integer> HelpDehom?=BasisChangePointed?.to_sublattice_dual(Dehomogenization);
Winfried
comment:60 followup: ↓ 63 Changed 2 years ago by
I guess when making the diff file for the patch, I got it wrong. That explains, why the patch was successfully applied but it still didn't work.
comment:61 Changed 2 years ago by
I'll push a fix in a second
comment:62 Changed 2 years ago by
 Commit changed from 1f534ca2e5dfc196093728006766bd3fc0ef84c6 to 586617ce78b7fb5e6ffca7765c7d9ce218ac96cc
Branch pushed to git repo; I updated commit sha1. This was a forced push. New commits:
586617c  build/pkgs/normaliz: Add compute_recession_rank.patch (from upstream)

comment:63 in reply to: ↑ 60 Changed 2 years ago by
Replying to ghkliem:
I guess when making the diff file for the patch, I got it wrong. That explains, why the patch was successfully applied but it still didn't work.
I recommend this procedure: https://doc.sagemath.org/html/en/developer/packaging.html#howtomaintainasetofpatches
comment:64 Changed 2 years ago by
 Commit changed from 586617ce78b7fb5e6ffca7765c7d9ce218ac96cc to ab81f9fa24d47344e81ea505d0f55f508fc746a3
Branch pushed to git repo; I updated commit sha1. New commits:
ab81f9f  Remove changes to Makefile.am (trigger autoreconf)

comment:65 Changed 2 years ago by
 Status changed from needs_work to needs_review
This fixes the doctest failures for me.
comment:66 Changed 2 years ago by
 Branch changed from u/mkoeppe/normaliz to u/ghkliem/normaliz
 Commit changed from ab81f9fa24d47344e81ea505d0f55f508fc746a3 to 06d45f3d21992c072aa5744b16f6f29e01e6f8c2
New commits:
06d45f3  fixed optional flags; better documentation

comment:67 followup: ↓ 69 Changed 2 years ago by
How about
sdh_make +sdh_make CFLAGS=fPIC
Doesn't that overwrite previously configured CFLAGS
?
comment:68 Changed 2 years ago by
 Branch changed from u/ghkliem/normaliz to u/mkoeppe/normaliz
comment:69 in reply to: ↑ 67 Changed 2 years ago by
 Commit changed from 06d45f3d21992c072aa5744b16f6f29e01e6f8c2 to 1587063c5258e2a25cf5b3a903734598459f8980
comment:70 followups: ↓ 72 ↓ 73 Changed 2 years ago by
 Status changed from needs_review to needs_work
There are still build failures on various platforms:
ubuntutrusty
:
In file included from ./libnormaliz/list_operations.cpp:31:0, from libnormaliz/cone_and_control.cpp:31: ./libnormaliz/matrix.h: In function 'libnormaliz::Matrix<Number> libnormaliz::LLL_red(const libnormaliz::Matrix<Number>&, libnormaliz::Matrix<Integer>&, libnormaliz::Matrix<Integer>&)': ./libnormaliz/matrix.h:647:30: error: call of overloaded 'isnan(__gnu_cxx::__alloc_traits<std::allocator<double> >::value_type&)' is ambiguous if (isnan(M[i][j])) {
ubuntu{xenial,bionic}standard
, fedora26standard
etc.:
checking nauty/nauty.h presence... no checking for nauty/nauty.h... no configure: error: nauty is not available but was requested
ubuntu{eoan,focal}standard
, debiansidstandard
etc.:
... renf_elem/.libs/cmp_fmpq.o renf_elem/.libs/floor_ceil.o renf_elem/.libs/gen.o renf_elem/.libs/get_cfrac.o renf_elem/.libs/get_str_pretty.o renf_elem/.libs/init.o renf_elem/.libs/print_pretty.o renf_elem/.libs/randtest.o renf_elem/.libs/set_evaluation.o renf_elem/.libs/set_fmpq_poly.o renf_elem/.libs/sgn.o renf_elem/.libs/get_d.o renf_elem/.libs/get_arb.o renf_elem/.libs/relative_condition_number_2exp.o L/sage/local/lib larb lflintarb lflint lgmp fopenmp g O2 Wl,rpath Wl,/sage/local/lib fopenmp Wl,soname Wl,libeantic.so.0 o .libs/libeantic.so.0.0.0 /usr/bin/ld: cannot find larb collect2: error: ld returned 1 exit status make[3]: *** [Makefile:1899: libeantic.la] Error 1
comment:71 followup: ↓ 74 Changed 2 years ago by
nauty
's spkgconfigure.m4
only looks for the executables, not the library
comment:72 in reply to: ↑ 70 Changed 2 years ago by
Replying to mkoeppe:
There are still build failures on various platforms:
ubuntutrusty
:In file included from ./libnormaliz/list_operations.cpp:31:0, from libnormaliz/cone_and_control.cpp:31: ./libnormaliz/matrix.h: In function 'libnormaliz::Matrix<Number> libnormaliz::LLL_red(const libnormaliz::Matrix<Number>&, libnormaliz::Matrix<Integer>&, libnormaliz::Matrix<Integer>&)': ./libnormaliz/matrix.h:647:30: error: call of overloaded 'isnan(__gnu_cxx::__alloc_traits<std::allocator<double> >::value_type&)' is ambiguous if (isnan(M[i][j])) {
Winfried, do you know about this compile error related to isnan
? This is with the ancient gcc on Ubuntu trusty.
comment:73 in reply to: ↑ 70 Changed 2 years ago by
Replying to mkoeppe:
There are still build failures on various platforms:
ubuntu{eoan,focal}standard
,debiansidstandard
etc.:... renf_elem/.libs/cmp_fmpq.o renf_elem/.libs/floor_ceil.o renf_elem/.libs/gen.o renf_elem/.libs/get_cfrac.o renf_elem/.libs/get_str_pretty.o renf_elem/.libs/init.o renf_elem/.libs/print_pretty.o renf_elem/.libs/randtest.o renf_elem/.libs/set_evaluation.o renf_elem/.libs/set_fmpq_poly.o renf_elem/.libs/sgn.o renf_elem/.libs/get_d.o renf_elem/.libs/get_arb.o renf_elem/.libs/relative_condition_number_2exp.o L/sage/local/lib larb lflintarb lflint lgmp fopenmp g O2 Wl,rpath Wl,/sage/local/lib fopenmp Wl,soname Wl,libeantic.so.0 o .libs/libeantic.so.0.0.0 /usr/bin/ld: cannot find larb collect2: error: ld returned 1 exit status make[3]: *** [Makefile:1899: libeantic.la] Error 1
This will be fixed by https://github.com/videlec/eantic/pull/85
comment:74 in reply to: ↑ 71 Changed 2 years ago by
comment:75 Changed 2 years ago by
nauty header file location varies between distributions, https://github.com/Normaliz/Normaliz/issues/332
comment:76 Changed 22 months ago by
 Commit changed from 1587063c5258e2a25cf5b3a903734598459f8980 to 7378372b356c4722a59a294158866bdde2f0b3aa
Branch pushed to git repo; I updated commit sha1. This was a forced push. Last 10 new commits:
5cb779c  Update Normaliz to 3.8.4, PyNormaliz to 2.10

4ba88ef  normaliz: Remove dependency on boost_cropped

cbffb6c  build/pkgs/normaliz: Update configure options

32906fe  build/pkgs/pynormaliz: Update spkgcheck

5a8205b  fixed pickling of normaliz polyhedra

c9be0c4  build/pkgs/normaliz: Add compute_recession_rank.patch (from upstream)

3a69847  fixed optional flags; better documentation

a2112c2  build/pkgs/nauty/spkginstall: Put fPIC in CC at connfigure time

69351ac  Update eantic to 0.1.5

7378372  Add libnauty script package, dependency for normaliz

comment:77 Changed 22 months ago by
 Summary changed from upgrade Normaliz to 3.8.4, PyNormaliz to 2.10, install nauty header/library, add patch to eantic to upgrade Normaliz to 3.8.4, PyNormaliz to 2.10, eantic to 0.1.5, install nauty header/library
 Work issues changed from patch eantic configure to figure out libnauty configure
comment:78 Changed 22 months ago by
 Commit changed from 7378372b356c4722a59a294158866bdde2f0b3aa to efcc1ca9643ddb8788e8bcba40842bb8bfe7ae13
Branch pushed to git repo; I updated commit sha1. This was a forced push. Last 10 new commits:
ce78b1b  Update Normaliz to 3.8.4, PyNormaliz to 2.10

8061156  normaliz: Remove dependency on boost_cropped

fe957a6  build/pkgs/normaliz: Update configure options

ec93c82  build/pkgs/pynormaliz: Update spkgcheck

787c4df  fixed pickling of normaliz polyhedra

3605788  build/pkgs/normaliz: Add compute_recession_rank.patch (from upstream)

63fafd0  fixed optional flags; better documentation

bdbd6c9  build/pkgs/nauty/spkginstall: Put fPIC in CC at connfigure time

c6f353b  Update eantic to 0.1.5

efcc1ca  Add libnauty script package, dependency for normaliz

comment:79 Changed 22 months ago by
Rebased on 9.1.beta8
comment:80 Changed 22 months ago by
 Description modified (diff)
comment:81 Changed 22 months ago by
 Dependencies changed from #28006 to #29380
comment:82 Changed 21 months ago by
 Dependencies #29380 deleted
 Description modified (diff)
 Milestone changed from sage9.1 to sage9.2
 Summary changed from upgrade Normaliz to 3.8.4, PyNormaliz to 2.10, eantic to 0.1.5, install nauty header/library to upgrade Normaliz to 3.8.4, PyNormaliz to 2.10, install nauty header/library
Update of eantic to 0.1.5 was done in #29380.
comment:83 Changed 20 months ago by
 Description modified (diff)
 Summary changed from upgrade Normaliz to 3.8.4, PyNormaliz to 2.10, install nauty header/library to upgrade Normaliz to 3.8.5, PyNormaliz to 2.10, install nauty header/library
comment:84 Changed 20 months ago by
 Summary changed from upgrade Normaliz to 3.8.5, PyNormaliz to 2.10, install nauty header/library to upgrade Normaliz to 3.8.5, PyNormaliz to 2.11, install nauty header/library
comment:85 Changed 20 months ago by
comment:86 Changed 20 months ago by
 Commit changed from efcc1ca9643ddb8788e8bcba40842bb8bfe7ae13 to 3b67efbc7c87a25f2b3b0c95a6aa613ac6a1b733
Branch pushed to git repo; I updated commit sha1. This was a forced push. New commits:
858aa7c  install nauty header and library

8402f89  Update Normaliz to 3.8.4, PyNormaliz to 2.10

44651b3  normaliz: Remove dependency on boost_cropped

25a7c8f  build/pkgs/normaliz: Update configure options

2cec815  build/pkgs/pynormaliz: Update spkgcheck

eed04fa  fixed pickling of normaliz polyhedra

09303bf  fixed optional flags; better documentation

1cdfb7c  build/pkgs/nauty/spkginstall: Put fPIC in CC at connfigure time

583ca93  Add libnauty script package, dependency for normaliz

3b67efb  Update Normaliz to 3.8.5, PyNormaliz to 2.11

comment:87 Changed 20 months ago by
Rebased, new version, dropped the patch
comment:88 Changed 20 months ago by
 Commit changed from 3b67efbc7c87a25f2b3b0c95a6aa613ac6a1b733 to 828e6531a8ffdbfe8ce88996835474affa1dde1f
Branch pushed to git repo; I updated commit sha1. This was a forced push. New commits:
828e653  Update Normaliz to 3.8.5, PyNormaliz to 2.11

comment:89 Changed 20 months ago by
 Commit changed from 828e6531a8ffdbfe8ce88996835474affa1dde1f to ed0d5870bb7b66521e71f4aa752bd8d51e5f3587
Branch pushed to git repo; I updated commit sha1. New commits:
ed0d587  build/pkgs/libnauty/type: Change to optional

comment:90 Changed 20 months ago by
Error on various systems including ubuntueoan
(https://github.com/mkoeppe/sage/runs/764195861)
[normaliz3.8.5] checking whether eantic headers and library are available... configure: error: eantic is not available but was requested [normaliz3.8.5] ******************************************************************************** [normaliz3.8.5] Error configuring normaliz3.8.5
(From a run without the FLINT and eantic updates)
comment:91 followup: ↓ 92 Changed 20 months ago by
configure:14201: checking whether eantic headers and library are available configure:14219: g++ std=gnu++11 std=gnu++14 o conftest g O2 Wl,rpathlink,/sage/local/lib L/sage/local/lib Wl,rpath,/sage/local/lib conftest.cpp leanticxx leantic larb lflint >&5 /usr/bin/ld: cannot find larb collect2: error: ld returned 1 exit status
I guess this happens because on Debian, arb
is installed as libflintarb
.
docker run it docker.pkg.github.com/mkoeppe/sage/sagedockerubuntueoanmaximalwithtargetsoptional:9.1.rc466657ged0d5870bb
comment:92 in reply to: ↑ 91 ; followup: ↓ 93 Changed 20 months ago by
Replying to mkoeppe:
on Debian,
arb
is installed aslibflintarb
.
(eantic has fixed this already, but normaliz needs a fix for it too.) https://github.com/Normaliz/Normaliz/blob/master/configure.ac#L314
comment:93 in reply to: ↑ 92 ; followup: ↓ 102 Changed 20 months ago by
Replying to mkoeppe:
Replying to mkoeppe:
on Debian,
arb
is installed aslibflintarb
.(eantic has fixed this already, but normaliz needs a fix for it too.) https://github.com/Normaliz/Normaliz/blob/master/configure.ac#L314
Winfried, if we could get a similar fix into Normaliz 3.8.6, that would be great
comment:94 followup: ↓ 95 Changed 20 months ago by
Are there any news regarding figure out libnauty configure
?
comment:95 in reply to: ↑ 94 Changed 20 months ago by
Replying to ghkliem:
Are there any news regarding
figure out libnauty configure
?
What is on this branch might already work, but it's also possible that I have forgotten about some of its subtleties.
comment:96 Changed 20 months ago by
I would not mind a pull request taking care both of the arb issue as well as the nauty issue.
comment:97 Changed 19 months ago by
 Dependencies set to #29826
comment:98 Changed 19 months ago by
 Commit changed from ed0d5870bb7b66521e71f4aa752bd8d51e5f3587 to 18b94b9325ff4d5cbc47d99a25fa952d8ab161c1
comment:99 followup: ↓ 100 Changed 19 months ago by
Also, why does build/pkgs/normaliz/dependencies
include singular
?
comment:100 in reply to: ↑ 99 Changed 19 months ago by
Replying to mkoeppe:
Also, why does
build/pkgs/normaliz/dependencies
includesingular
?
This seems to be just a leftover from when normaliz.lib
was installed into the singular installation. I'll remove it.
comment:101 Changed 19 months ago by
 Commit changed from 18b94b9325ff4d5cbc47d99a25fa952d8ab161c1 to feb22882858d8991b45955df6bcaed3e47a4d5c6
Branch pushed to git repo; I updated commit sha1. New commits:
feb2288  build/pkgs/normaliz/dependencies: Remove singular

comment:102 in reply to: ↑ 93 Changed 19 months ago by
Replying to mkoeppe:
Replying to mkoeppe:
Replying to mkoeppe:
on Debian,
arb
is installed aslibflintarb
.(eantic has fixed this already, but normaliz needs a fix for it too.) https://github.com/Normaliz/Normaliz/blob/master/configure.ac#L314
Winfried, if we could get a similar fix into Normaliz 3.8.6, that would be great
This is now https://github.com/Normaliz/Normaliz/pull/339
comment:103 Changed 19 months ago by
 Summary changed from upgrade Normaliz to 3.8.5, PyNormaliz to 2.11, install nauty header/library to upgrade Normaliz to 3.8.7, PyNormaliz to 2.11, install nauty header/library
comment:104 Changed 19 months ago by
For the sake of clarity: Normaliz 3.8.7 does not exist yet. I am not sure when it will be released and whether PyNormaliz? 2.11 will be sufficient for it.
But: if it would be helpful to have a version 3.8.7 of Normaliz with updated confiure.ac (arb and nauty), I can make it. But I think the nauty issue should be solved for it.
comment:105 Changed 19 months ago by
Yes, I'll look into the nauty business next
comment:106 Changed 19 months ago by
 Commit changed from feb22882858d8991b45955df6bcaed3e47a4d5c6 to 2a7b240bc2e98e61aa788f31d7dc6e7775880826
Branch pushed to git repo; I updated commit sha1. New commits:
2a7b240  Merge tag '9.2.beta2' into t/27952/normaliz

comment:107 Changed 19 months ago by
Tests of normaliz@master against this branch run at https://github.com/mkoeppe/Normaliz/actions/runs/149952613
comment:108 Changed 19 months ago by
For example for ubuntubionicstandard
:
[normalizgit] checking whether nauty headers and library are available... checking nauty/nauty.h usability... no [normalizgit] checking nauty/nauty.h presence... no [normalizgit] checking for nauty/nauty.h... no [normalizgit] configure: error: nauty is not available but was requested
comment:109 Changed 19 months ago by
Also on cygwinstandard
during make check
of eantic
:
e_antic0.1.7] renfxx/test/tconstructor.cpp: In function ‘void check_equal(renf_elem_class&, mp_limb_signed_t)’: [e_antic0.1.7] renfxx/test/tconstructor.cpp:29:11: error: ambiguous overload for ‘operator!=’ (operand types are ‘renf_elem_class’ and ‘mp_limb_signed_t’ {aka ‘long long int’}) [e_antic0.1.7] 29  if (a != b) [e_antic0.1.7]  ~ ^~ ~ [e_antic0.1.7]    [e_antic0.1.7]   mp_limb_signed_t {aka long long int} [e_antic0.1.7]  renf_elem_class
(with g++ version... 9.3.0)
comment:110 Changed 19 months ago by
 Commit changed from 2a7b240bc2e98e61aa788f31d7dc6e7775880826 to 7902386ba609b4a39f88ebb50b0fdef07400822d
Branch pushed to git repo; I updated commit sha1. New commits:
7902386  build/pkgs/libnauty: Fix libnauty > nauty delegation

comment:111 Changed 19 months ago by
New tests of normaliz@master against this branch run at https://github.com/mkoeppe/Normaliz/actions/runs/152252527
comment:112 followup: ↓ 113 Changed 19 months ago by
Another eantic
failure while building test programs on Debian:
bin/bash ./libtool tag=CC mode=link gcc fopenmp g O2 Wl,rpathlink,/sage/local/lib L/sage/local/lib Wl,rpath,/sage/local/lib o poly_extra/test/tfmpz_poly_scale_0_1_fmpq poly_extra/test/tfmpz_poly_scale_0_1_fmpq.o libeanticxx.la libeantic.la larb lflint lgmpxx lgmp lflintarb lflint lgmp libtool: link: gcc fopenmp g O2 Wl,rpathlink Wl,/sage/local/lib Wl,rpath Wl,/sage/local/lib o poly_extra/test/.libs/tevaluate poly_extra/test/tevaluate.o L/sage/local/lib ./.libs/libeanticxx.so /sage/local/var/tmp/sage/build/e_antic0.1.7/src/.libs/libeantic.so ./.libs/libeantic.so larb lgmpxx lflintarb lflint lgmp fopenmp Wl,rpath Wl,/sage/local/lib /usr/bin/ld: cannot find larb collect2: error: ld returned 1 exit status
because it seems I forgot to change these lines of Makefile.am
in https://github.com/videlec/eantic/pull/85 :
# TODO: we currently build all tests with linked c++ libraries LDADD = libeanticxx.la libeantic.la larb lflint lgmpxx lgmp
comment:113 in reply to: ↑ 112 Changed 19 months ago by
Replying to mkoeppe:
Another
eantic
failure while building test programs on Debian:bin/bash ./libtool tag=CC mode=link gcc fopenmp g O2 Wl,rpathlink,/sage/local/lib L/sage/local/lib Wl,rpath,/sage/local/lib o poly_extra/test/tfmpz_poly_scale_0_1_fmpq poly_extra/test/tfmpz_poly_scale_0_1_fmpq.o libeanticxx.la libeantic.la larb lflint lgmpxx lgmp lflintarb lflint lgmp libtool: link: gcc fopenmp g O2 Wl,rpathlink Wl,/sage/local/lib Wl,rpath Wl,/sage/local/lib o poly_extra/test/.libs/tevaluate poly_extra/test/tevaluate.o L/sage/local/lib ./.libs/libeanticxx.so /sage/local/var/tmp/sage/build/e_antic0.1.7/src/.libs/libeantic.so ./.libs/libeantic.so larb lgmpxx lflintarb lflint lgmp fopenmp Wl,rpath Wl,/sage/local/lib /usr/bin/ld: cannot find larb collect2: error: ld returned 1 exit statusbecause it seems I forgot to change these lines of
Makefile.am
in https://github.com/videlec/eantic/pull/85 :# TODO: we currently build all tests with linked c++ libraries LDADD = libeanticxx.la libeantic.la larb lflint lgmpxx lgmp
This is now https://github.com/videlec/eantic/pull/105
comment:114 Changed 19 months ago by
 Cc Max.Horn@… added
comment:115 Changed 19 months ago by
 Commit changed from 7902386ba609b4a39f88ebb50b0fdef07400822d to 0c540a8487cc7ae140e59a6958e466f12f2050dc
Branch pushed to git repo; I updated commit sha1. New commits:
539c182  build/make/install: Do not depend on src/bin/sageversion.sh

761092c  Merge branch 't/29987/build_make_install__do_not_depend_on_src_bin_sage_version_sh' into t/30064/fix_tox_docker_builds_broken_by__29884

f2efa6a  src/doc/bootstrap: Create the directory src/doc/en/reference/repl if it does not exist

b7bf43b  build/bin/writedockerfile.sh: ADD src/bin for bootstrapping, needed by src/doc/bootstrap after #29884

365ce61  Merge branch 'u/mkoeppe/fix_tox_docker_builds_broken_by__29884' of git://trac.sagemath.org/sage into HEAD

1e7becc  tox.ini [debianbuster, sid]: IGNORE_MISSING_SYSTEM_PACKAGES=yes because of libpython3.7dev

fb61a31  Merge branch 'u/mkoeppe/tox_ini__debian_bullseye___sid_have_python3_8_instead_of_3_7' of git://trac.sagemath.org/sage into 9.2.beta3+cifixes

0c540a8  Merge branch '9.2.beta3+cifixes' into t/27952/normaliz

comment:116 Changed 19 months ago by
 Dependencies changed from #29826 to #29826, #29987, #30064, #29851
comment:117 Changed 19 months ago by
From https://github.com/Normaliz/Normaliz/pull/350#issuecomment655507396:
On ubuntutrusty with the isnan
fix:
libtool: link: g++ std=gnu++11 fPIC DPIC shared nostdlib /usr/lib/gcc/x86_64linuxgnu/4.8/../../../x86_64linuxgnu/crti.o /usr/lib/gcc/x86_64linuxgnu/4.8/crtbeginS.o libnormaliz/.libs/nmz_nauty.o libnormaliz/.libs/offload_handler.o libnormaliz/.libs/output.o libnormaliz/.libs/automorph.o libnormaliz/.libs/cone_dual_mode.o libnormaliz/.libs/cone_property.o libnormaliz/.libs/cone.o libnormaliz/.libs/descent.o libnormaliz/.libs/full_cone.o libnormaliz/.libs/general.o libnormaliz/.libs/HilbertSeries.o libnormaliz/.libs/matrix.o libnormaliz/.libs/nmz_integral.o libnormaliz/.libs/project_and_lift.o libnormaliz/.libs/reduction.o libnormaliz/.libs/simplex.o libnormaliz/.libs/sublattice_representation.o libnormaliz/.libs/input.o libnormaliz/.libs/collection.o L/sage/local/lib leanticxx leantic larb lflint lmpfr lnauty lgmpxx lgmp L/sage/local/lib/../lib L/usr/lib/gcc/x86_64linuxgnu/4.8 L/usr/lib/gcc/x86_64linuxgnu/4.8/../../../x86_64linuxgnu L/usr/lib/gcc/x86_64linuxgnu/4.8/../../../../lib L/lib/x86_64linuxgnu L/lib/../lib L/usr/lib/x86_64linuxgnu L/usr/lib/../lib L/usr/lib/gcc/x86_64linuxgnu/4.8/../../.. lstdc++ lm lc lgcc_s /usr/lib/gcc/x86_64linuxgnu/4.8/crtendS.o /usr/lib/gcc/x86_64linuxgnu/4.8/../../../x86_64linuxgnu/crtn.o fopenmp g O2 Wl,rpathlink Wl,/sage/local/lib Wl,rpath Wl,/sage/local/lib fopenmp Wl,soname Wl,libnormaliz.so.3 o .libs/libnormaliz.so.3.8.6 /usr/bin/ld: /sage/local/lib/libnauty.a(naugraph.o): relocation R_X86_64_32S against `.rodata' can not be used when making a shared object; recompile with fPIC /sage/local/lib/libnauty.a: error adding symbols: Bad value collect2: error: ld returned 1 exit status make[3]: *** [libnormaliz.la] Error 1 make[3]: Target `all' not remade because of errors.
comment:118 Changed 18 months ago by
 Commit changed from 0c540a8487cc7ae140e59a6958e466f12f2050dc to 13c0375d334eb3f85b643a7a0dff4a7621987e1a
comment:119 Changed 18 months ago by
 Dependencies changed from #29826, #29987, #30064, #29851 to #29826, #29987, #30064, #29851, #30262
comment:120 Changed 18 months ago by
comment:121 Changed 18 months ago by
 Summary changed from upgrade Normaliz to 3.8.7, PyNormaliz to 2.11, install nauty header/library to upgrade Normaliz to 3.8.7, PyNormaliz to 2.12, install nauty header/library
comment:122 Changed 18 months ago by
 Work issues changed from figure out libnauty configure to ubuntutrusty libnauty
comment:123 followup: ↓ 125 Changed 18 months ago by
The problem with libnauty
on ubuntutrusty
still needs to be fixed (https://github.com/mkoeppe/sage/runs/934245080)
pynormaliz build error in ubuntuxenial
:
NormalizModule.cpp:13:40: fatal error: libnormaliz/map_operations.h: No such file or directory compilation terminated.
comment:124 Changed 18 months ago by
 Commit changed from 13c0375d334eb3f85b643a7a0dff4a7621987e1a to 027ef5fadb38c4016947224c312dd320453e024b
Branch pushed to git repo; I updated commit sha1. New commits:
027ef5f  build/pkgs/pynormaliz: Fix upstream_url

comment:125 in reply to: ↑ 123 Changed 18 months ago by
Replying to mkoeppe:
pynormaliz build error in
ubuntuxenial
:NormalizModule.cpp:13:40: fatal error: libnormaliz/map_operations.h: No such file or directory compilation terminated.
Actually tested with an old PyNormaliz? by mistake
comment:126 Changed 18 months ago by
 Commit changed from 027ef5fadb38c4016947224c312dd320453e024b to b35c2fcc2fd08bdc2fc05add07d0d221d853bbe7
Branch pushed to git repo; I updated commit sha1. New commits:
b35c2fc  build/pkgs/nauty: Switch to autotoolized fork

comment:127 Changed 18 months ago by
 Summary changed from upgrade Normaliz to 3.8.7, PyNormaliz to 2.12, install nauty header/library to upgrade Normaliz to 3.8.7, PyNormaliz to 2.12, switch nauty to autotoolized fork
comment:128 Changed 18 months ago by
 Status changed from needs_work to needs_review
Tests at https://github.com/mkoeppe/sage/actions/runs/191867544 (ci#27952#29766#3360).
comment:129 Changed 18 months ago by
 Status changed from needs_review to needs_work
comment:130 Changed 18 months ago by
nauty needs more work, I'll do that on a separate ticket first.
Back to the previous commit, which "only" has failures on ubuntutrusty
and similar.
comment:131 Changed 18 months ago by
 Commit changed from b35c2fcc2fd08bdc2fc05add07d0d221d853bbe7 to 027ef5fadb38c4016947224c312dd320453e024b
Branch pushed to git repo; I updated commit sha1. This was a forced push. New commits:
comment:132 Changed 18 months ago by
 Work issues changed from ubuntutrusty libnauty to ubuntutrusty libnauty  merge #30271 when ready
comment:133 Changed 18 months ago by
let's spin libnauty off to a separate ticket indeed
comment:134 Changed 18 months ago by
 Cc Max.Horn@… removed
 Status changed from needs_work to needs_review
(removing cc: as requested)
Yes, to make progress here, let's just merge the present version, which works well  except that the optional package normaliz
will fail to build on the ancient platforms ubuntutrusty
, debianjessie
and the like.
Needs review.
comment:135 Changed 18 months ago by
 Dependencies changed from #29826, #29987, #30064, #29851, #30262 to #30262
 Summary changed from upgrade Normaliz to 3.8.7, PyNormaliz to 2.12, switch nauty to autotoolized fork to upgrade Normaliz to 3.8.7, PyNormaliz to 2.12, add script package libnauty
 Work issues ubuntutrusty libnauty  merge #30271 when ready deleted
comment:136 Changed 18 months ago by
 Commit changed from 027ef5fadb38c4016947224c312dd320453e024b to 071bfc7bb2b8dc582f4146613956727240e7ac13
comment:137 Changed 18 months ago by
 Commit changed from 071bfc7bb2b8dc582f4146613956727240e7ac13 to 4072b6730412103bf0e6d33d6e31f31e620f8d2d
(push to wrong ticket)
comment:138 Changed 18 months ago by
 Commit changed from 4072b6730412103bf0e6d33d6e31f31e620f8d2d to 071bfc7bb2b8dc582f4146613956727240e7ac13
Branch pushed to git repo; I updated commit sha1. This was a forced push. New commits:
comment:139 Changed 18 months ago by
 Reviewers set to Jonathan Kliem
I'm happy with the ticket as it is and all tests in geometry
pass for me.
comment:140 Changed 18 months ago by
is this a positive review?
comment:141 Changed 18 months ago by
No, not by itself. One thing missing is that I wrote pretty much the code in backend_normaliz.py
. So somebody has to review that part.
Along with the fact that no one seems to disagree that the present state is an improvement (although not perfect), this would make a positive review IMO.
comment:142 followup: ↓ 144 Changed 18 months ago by
Is this condition tested by a doctest?
Matrix(ZZ, nmz_vertices + nmz_rays).rank() == Matrix(ZZ, nmz_rays).rank() + 1
Also, how come nmz_lines
does not have to be used in this condition?
comment:143 Changed 18 months ago by
 Reviewers changed from Jonathan Kliem to Jonathan Kliem, Matthias Koeppe
comment:144 in reply to: ↑ 142 ; followup: ↓ 155 Changed 18 months ago by
Replying to mkoeppe:
Is this condition tested by a doctest?
Matrix(ZZ, nmz_vertices + nmz_rays).rank() == Matrix(ZZ, nmz_rays).rank() + 1Also, how come
nmz_lines
does not have to be used in this condition?
I have done a terrible job in commenting this (it took me a while to figure out, why I did this) and you are right, a doctest might make sense.
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.
comment:145 Changed 18 months ago by
 Branch changed from u/mkoeppe/normaliz to u/kliem/normaliz
 Commit 071bfc7bb2b8dc582f4146613956727240e7ac13 deleted
comment:146 Changed 18 months ago by
 Branch changed from u/kliem/normaliz to u/ghkliem/normaliz
 Commit set to f3e8fc21d70dc5b6f8e647e39fbe5d01b39ffe13
Last 10 new commits:
7902386  build/pkgs/libnauty: Fix libnauty > nauty delegation

0c540a8  Merge branch '9.2.beta3+cifixes' into t/27952/normaliz

6e9191a  build/pkgs/e_antic: Update to 0.1.8

a906db8  Merge branch 't/30262/update_e_antic_to_0_1_8' into t/27952/normaliz

582c309  build/pkgs/normaliz: Update to 3.8.7

13c0375  build/pkgs/pynormaliz: Update to 2.12

027ef5f  build/pkgs/pynormaliz: Fix upstream_url

0882611  Merge tag '9.2.beta7' into t/30262/update_e_antic_to_0_1_8

071bfc7  Merge branch 't/30262/update_e_antic_to_0_1_8' into t/27952/normaliz

f3e8fc2  document far facet condition and add a doctest

comment:147 followup: ↓ 156 Changed 18 months ago by
[normaliz3.8.7] checking whether eantic headers and library are available... configure: error: eantic is not available but was requested
Tried it with "my" new patchbot. Doesn't work.
But this installation also had trouble without this ticket. Installed normaliz with no problems and then gave me this error
PyNormaliz_cpp.NormalizInterfaceError: When parsing number_field: coefficient in matrix must be PyFloat, PyInt, PyLong, Sequence, must be able to be converted to a valid gmp input string
comment:148 Changed 17 months ago by
Yes, there's still a typo in normaliz configure.ac...
comment:150 Changed 17 months ago by
 Report Upstream changed from N/A to Reported upstream. No feedback yet.
comment:151 Changed 17 months ago by
 Status changed from needs_review to needs_work
comment:152 Changed 17 months ago by
 Cc slelievre added
 Report Upstream changed from Reported upstream. No feedback yet. to Fixed upstream, but not in a stable release.
Apply the upstream fix as a patch here? Or wait for the next Normaliz release?
comment:153 Changed 17 months ago by
 Summary changed from upgrade Normaliz to 3.8.7, PyNormaliz to 2.12, add script package libnauty to upgrade Normaliz to 3.8.8, PyNormaliz to 2.12, add script package libnauty
comment:154 Changed 17 months ago by
 Branch changed from u/ghkliem/normaliz to u/mkoeppe/normaliz
comment:155 in reply to: ↑ 144 ; followup: ↓ 159 Changed 17 months ago by
 Commit changed from f3e8fc21d70dc5b6f8e647e39fbe5d01b39ffe13 to e1fc1477f729a1f6b230c5d57df0e5d4d14cfa83
Replying to ghkliem:
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:
3f2d872  Merge tag '9.2.beta8' into t/27952/normaliz

84db571  build/pkgs/normaliz: Update to 3.8.8

e1fc147  Merge tag '9.2.beta10' into t/27952/normaliz

comment:156 in reply to: ↑ 147 ; followup: ↓ 158 Changed 17 months ago by
Replying to ghkliem:
[normaliz3.8.7] checking whether eantic headers and library are available... configure: error: eantic is not available but was requestedTried it with "my" new patchbot. Doesn't work.
Please check again with the new release.
comment:157 Changed 17 months ago by
 Reviewers changed from Jonathan Kliem, Matthias Koeppe to Jonathan Kliem, Matthias Koeppe, github.com/mkoeppe/sage/runs/1045214008, github.com/mkoeppe/sage/actions/runs/230112232
 Status changed from needs_work to needs_review
comment:158 in reply to: ↑ 156 Changed 17 months ago by
Replying to mkoeppe:
Replying to ghkliem:
[normaliz3.8.7] checking whether eantic headers and library are available... configure: error: eantic is not available but was requestedTried 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.
comment:159 in reply to: ↑ 155 Changed 17 months ago by
 Status changed from needs_review to positive_review
Replying to mkoeppe:
Replying to ghkliem:
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.
comment:160 Changed 17 months ago by
 Reviewers changed from Jonathan Kliem, Matthias Koeppe, github.com/mkoeppe/sage/runs/1045214008, github.com/mkoeppe/sage/actions/runs/230112232 to Jonathan Kliem, Matthias Koeppe
comment:161 Changed 17 months ago by
 Status changed from positive_review to needs_work
********************************************************************** 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/sitepackages/sage/doctest/forker.py", line 715, in _run self.compile_and_execute(example, compiler, test.globs) File "/home/release/Sage/local/lib/python3.7/sitepackages/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/sitepackages/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/sitepackages/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/sitepackages/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/sitepackages/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/sitepackages/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/sitepackages/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/sitepackages/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/sitepackages/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'. **********************************************************************
comment:162 Changed 17 months ago by
 Commit changed from e1fc1477f729a1f6b230c5d57df0e5d4d14cfa83 to ce2b8f9c33b05fd8e8e914481c357d8cd9cf234d
Branch pushed to git repo; I updated commit sha1. New commits:
ce2b8f9  src/sage/geometry/polyhedron/backend_normaliz.py: Put # optional  pynormaliz on the first line, not continuation line

comment:163 Changed 17 months ago by
 Status changed from needs_work to positive_review
comment:164 Changed 17 months ago by
 Commit changed from ce2b8f9c33b05fd8e8e914481c357d8cd9cf234d to c55a701146b048d5488e1aa82276b12bfa341644
 Status changed from positive_review to needs_review
Branch pushed to git repo; I updated commit sha1 and set ticket back to needs_review. New commits:
c55a701  src/sage/geometry/polyhedron/backend_normaliz.py: Put # optional  pynormaliz on the first line, not continuation line (one more)

comment:165 Changed 17 months ago by
 Status changed from needs_review to positive_review
comment:166 Changed 17 months ago by
 Branch changed from u/mkoeppe/normaliz to c55a701146b048d5488e1aa82276b12bfa341644
 Resolution set to fixed
 Status changed from positive_review to closed
comment:167 Changed 16 months ago by
 Commit c55a701146b048d5488e1aa82276b12bfa341644 deleted
a bug in libnauty spkgconfigure
the 1st two args of AC_SEARCH_LIBS are swapped.
New commits:
upgrade normaliz to 3.7.3