Sage: Ticket #30319: Upgrade cddlib to fix wrong intersection of polytopes
https://trac.sagemath.org/ticket/30319
<p>
As reported in <a class="ext-link" href="https://groups.google.com/forum/#!topic/sage-devel/514hUpM7pBY "><span class="icon"></span> this sage-devel thread</a>, the intersection of polytopes is sometimes very wrong
</p>
<pre class="wiki">a = Polyhedron([[0, -1, 1], [1, -1, 1], [1, 1, -1]])
b = Polyhedron([[0.0, -0.5, 1.5], [1.0, -0.5, 1.5], [1.0, 1.5, -0.5]])
c = a.intersection(b)
</pre><p>
Here <code>c</code> should have been empty but is equal to <code>b</code>.
</p>
<p>
We fix it by upgrading to cddlib 0.94m, installing symlinks so that consumers of cddlib that have not been updated to work with the new header file locations (<a class="new ticket" href="https://trac.sagemath.org/ticket/29413" title="enhancement: Meta-ticket: Upgrade cddlib, fix cddlib header search for packages ... (new)">#29413</a>) continue to work.
</p>
en-usSagehttps://trac.sagemath.org/chrome/site/logo_sagemath_trac.png
https://trac.sagemath.org/ticket/30319
Trac 1.1.6mkoeppeSat, 08 Aug 2020 15:10:31 GMTpriority changed
https://trac.sagemath.org/ticket/30319#comment:1
https://trac.sagemath.org/ticket/30319#comment:1
<ul>
<li><strong>priority</strong>
changed from <em>major</em> to <em>critical</em>
</li>
</ul>
Ticketgh-kliemMon, 10 Aug 2020 10:04:40 GMT
https://trac.sagemath.org/ticket/30319#comment:2
https://trac.sagemath.org/ticket/30319#comment:2
<p>
Looks like a <code>cdd</code> bug.
</p>
<pre class="wiki">sage: a = Polyhedron([[0, -1, 1], [1, -1, 1], [1, 1, -1]])
sage: b = Polyhedron([[0.0, -0.5, 1.5], [1.0, -0.5, 1.5], [1.0, 1.5, -0.5]])
sage: a = a.change_ring(RDF)
sage: new_eqns = a.equations() + b.equations()
sage: new_ieqs = a.inequalities() + b.inequalities()
sage: Polyhedron(eqns=new_eqns, ieqs=new_ieqs[1:2]+new_ieqs[4:5], verbose=True)
---- CDD input -----
H-representation
linearity 2 1 2
begin
5 4 real
0.0 0.0 1.0 1.0
-1.0 0.0 1.0 1.0
-1.0 2.0 -1.0 0.0
-1.0 4.0 -2.0 0.0
1 0 0 0
end
---- CDD output -----
Canonicalize the matrix.
Implicit linearity rows are:
Redundant rows are:1 3 5
Nonredundant representation:
The new row positions are as follows (orig:new).
Each redundant row has the new number 0.
Each deleted duplicated row has a number nagative of the row that
represents its equivalence class.
1:0 2:1 3:0 4:2 5:0
H-representation
linearity 1 1
begin
2 4 real
-1 0 1 1
-1 4 -2 0
end
size = 5 x 4
Number Type = real
---- CDD input -----
Canonicalize the matrix.
Implicit linearity rows are:
Redundant rows are:1 3 5
Nonredundant representation:
The new row positions are as follows (orig:new).
Each redundant row has the new number 0.
Each deleted duplicated row has a number nagative of the row that
represents its equivalence class.
1:0 2:1 3:0 4:2 5:0
H-representation
linearity 1 1
begin
2 4 real
-1 0 1 1
-1 4 -2 0
end
---- CDD output -----
The second representation:
V-representation
linearity 1 3
begin
3 4 real
0 1 0 0
1 7.500000000E-01 1 0
0 -5.000000000E-01 -1 1
end
Vertex incidence
ecd_file: Incidence of generators and inequalities
begin
3 3
1 -2 : 2
2 -2 : 3
3 -3 :
end
Vertex adjacency
ead_file: Adjacency of generators
begin
3 3
1 1 : 2
2 1 : 1
3 0 :
end
The first (input) representation
H-representation
linearity 1 1
begin
2 4 real
-1 0 1 1
-1 4 -2 0
end
Facet incidence
icd_file: Incidence of inequalities and generators
begin
3 3
1 -3 :
2 -2 : 1
3 -2 : 2
end
Facet adjacency
iad_file: Adjacency of inequalities
begin
3 3
1 -2 : 1
2 -2 : 2
3 -2 : 3
end
size = 2 x 4
Number Type = real
---- CDD input -----
The second representation:
V-representation
linearity 1 3
begin
3 4 real
0 1 0 0
1 7.500000000E-01 1 0
0 -5.000000000E-01 -1 1
end
---- CDD output -----
The second representation:
H-representation
linearity 1 3
begin
3 4 real
1 0 0 0
-1 4 -2 0
-1 0 1 1
end
size = 3 x 4
Number Type = real
A 2-dimensional polyhedron in RDF^3 defined as the convex hull of 1 vertex, 1 ray, 1 line
</pre><p>
For some reason <code>cdd</code> thinks that row <code>1</code> is redundant. If you drop an inequality, everything is fine.
</p>
TickettmonteilFri, 14 Aug 2020 10:28:34 GMTupstream changed
https://trac.sagemath.org/ticket/30319#comment:3
https://trac.sagemath.org/ticket/30319#comment:3
<ul>
<li><strong>upstream</strong>
changed from <em>N/A</em> to <em>Not yet reported upstream; Will do shortly.</em>
</li>
</ul>
<p>
Could someone please report it upstream (i do not have a github account) ?
</p>
Ticketgh-kliemFri, 14 Aug 2020 11:38:10 GMTupstream changed
https://trac.sagemath.org/ticket/30319#comment:4
https://trac.sagemath.org/ticket/30319#comment:4
<ul>
<li><strong>upstream</strong>
changed from <em>Not yet reported upstream; Will do shortly.</em> to <em>Reported upstream. No feedback yet.</em>
</li>
</ul>
<p>
<a class="ext-link" href="https://github.com/cddlib/cddlib/issues/45"><span class="icon"></span>https://github.com/cddlib/cddlib/issues/45</a>
</p>
TicketdimpaseMon, 21 Sep 2020 07:24:11 GMT
https://trac.sagemath.org/ticket/30319#comment:5
https://trac.sagemath.org/ticket/30319#comment:5
<p>
Note that with data in <a class="ticket" href="https://trac.sagemath.org/ticket/30319#comment:2" title="Comment 2">comment:2</a> one has
</p>
<pre class="wiki">sage: Polyhedron(eqns=new_eqns)
The empty polyhedron in RDF^3
</pre><p>
so the emptiness should have been detected earlier.
</p>
Ticketgh-kliemMon, 21 Sep 2020 07:51:56 GMT
https://trac.sagemath.org/ticket/30319#comment:6
https://trac.sagemath.org/ticket/30319#comment:6
<p>
Are you proposing that we test whether the equations are infeasible ourselves as a workaround?
</p>
<p>
Sounds like a workaround that should work for us.
</p>
<p>
Is <code>cdd</code> specifically excluding this case?
</p>
Ticketgh-kliemMon, 21 Sep 2020 08:00:31 GMT
https://trac.sagemath.org/ticket/30319#comment:7
https://trac.sagemath.org/ticket/30319#comment:7
<p>
Something like
</p>
<pre class="wiki">new_eqns_matrix = matrix(new_eqns)
feasible_directions = new_eqns_matrix.right_kernel_matrix()
if feasible_directions.column(0).is_zero():
initialize_empty_polyhedron()
</pre><p>
should work.
</p>
TicketdimpaseMon, 21 Sep 2020 08:59:59 GMT
https://trac.sagemath.org/ticket/30319#comment:8
https://trac.sagemath.org/ticket/30319#comment:8
<p>
On the other hand, with RDF data and the internal representation used by <code>cdd</code>, it is not so hard to come up with (ugly) examples on which it can fail to produce a meaningful answer.
</p>
<p>
I'd say that computing <code>c</code> like in the ticket description should throw an error,
as <code>a</code> is exact and <code>b</code> is not.
Or at the very least print a warning like
</p>
<pre class="wiki">sage: a = Polyhedron([[0, -1, 1], [1, -1, 1], [1, 1, -1]],base_ring=RDF)
....: b = Polyhedron([[0.0, -0.5, 1.5], [1.0, -0.5, 1.5], [1.0, 1.5, -0.5]])
sage: a.intersection(b)
/mnt/opt/Sage/sage-dev/local/lib/python3.8/site-packages/sage/geometry/polyhedron/backend_cdd.py:151: UserWarning: This polyhedron data is numerically complicated; cdd could not convert between the inexact V and H representation without loss of data. The resulting object might show inconsistencies.
warn("This polyhedron data is numerically complicated; cdd could not convert between the inexact V and H representation without loss of data. The resulting object might show inconsistencies.")
A 2-dimensional polyhedron in RDF^3 defined as the convex hull of 3 vertices
</pre>
TicketdimpaseMon, 21 Sep 2020 09:06:16 GMT
https://trac.sagemath.org/ticket/30319#comment:9
https://trac.sagemath.org/ticket/30319#comment:9
<p>
it's also weird that no warning is printed in this case:
</p>
<pre class="wiki">sage: a = Polyhedron([[0, -1, 1], [1, -1, 1], [1, 1, -1]])
....: b = Polyhedron([[0.0, -0.5, 1.5], [1.0, -0.5, 1.5], [1.0, 1.5, -0.5]])
....: b.intersection(a)
A 2-dimensional polyhedron in RDF^3 defined as the convex hull of 3 vertices
</pre><p>
as if seeing the exact <code>a</code> to intersect <code>b</code> with convinces cdd that everything should be fine.
</p>
Ticketgh-kliemMon, 21 Sep 2020 09:07:02 GMT
https://trac.sagemath.org/ticket/30319#comment:10
https://trac.sagemath.org/ticket/30319#comment:10
<p>
The behavior of coercing base rings is the correct and expected behaviour, I would say.
</p>
<p>
The failure of <code>cdd</code> has nothing to do with inexactness:
</p>
<pre class="wiki">sage: a = Polyhedron([[0, -1, 1], [1, -1, 1], [1, 1, -1]], backend='cdd')
sage: b = Polyhedron([[0, -1/2, 3/2], [1, -1/2, 3/2], [1, 3/2, -1/2]], backend='cdd')
sage: a.intersection(b)
A 2-dimensional polyhedron in QQ^3 defined as the convex hull of 3 vertices
</pre>
Ticketgh-kliemMon, 21 Sep 2020 09:09:10 GMT
https://trac.sagemath.org/ticket/30319#comment:11
https://trac.sagemath.org/ticket/30319#comment:11
<p>
<code>cdd</code> for some reason determines that one of the equations is redundant. After this the calculation is correct. For this reason, no warning is printed. Because converting from Vrepresention to Hrepresentation works.
</p>
<p>
The output of <code>cdd</code> is numerical consistent, but incorrect.
</p>
TicketdimpaseMon, 21 Sep 2020 11:05:14 GMT
https://trac.sagemath.org/ticket/30319#comment:12
https://trac.sagemath.org/ticket/30319#comment:12
<p>
Replying to <a class="ticket" href="https://trac.sagemath.org/ticket/30319#comment:10" title="Comment 10">gh-kliem</a>:
</p>
<blockquote class="citation">
<p>
The behavior of coercing base rings is the correct and expected behaviour, I would say.
</p>
<p>
The failure of <code>cdd</code> has nothing to do with inexactness:
</p>
</blockquote>
<p>
OK, I see, you're right - I thought it's an inexactness issue, such as computing rank of an RDF matrix, sorry.
</p>
Ticketgh-kliemMon, 21 Sep 2020 13:47:33 GMTupstream changed
https://trac.sagemath.org/ticket/30319#comment:13
https://trac.sagemath.org/ticket/30319#comment:13
<ul>
<li><strong>upstream</strong>
changed from <em>Reported upstream. No feedback yet.</em> to <em>Reported upstream. Developers acknowledge bug.</em>
</li>
</ul>
TicketmkoeppeSat, 24 Oct 2020 20:15:01 GMTmilestone changed
https://trac.sagemath.org/ticket/30319#comment:14
https://trac.sagemath.org/ticket/30319#comment:14
<ul>
<li><strong>milestone</strong>
changed from <em>sage-9.2</em> to <em>sage-9.3</em>
</li>
</ul>
TicketdimpaseWed, 09 Dec 2020 16:06:00 GMT
https://trac.sagemath.org/ticket/30319#comment:15
https://trac.sagemath.org/ticket/30319#comment:15
<p>
The fix is in
<a class="ext-link" href="https://github.com/cddlib/cddlib/releases/tag/0.94m"><span class="icon"></span>https://github.com/cddlib/cddlib/releases/tag/0.94m</a>
</p>
<p>
let's upgrade
</p>
TicketdimpaseWed, 09 Dec 2020 16:09:49 GMTupstream changed
https://trac.sagemath.org/ticket/30319#comment:16
https://trac.sagemath.org/ticket/30319#comment:16
<ul>
<li><strong>upstream</strong>
changed from <em>Reported upstream. Developers acknowledge bug.</em> to <em>Fixed upstream, in a later stable release.</em>
</li>
</ul>
Ticketgh-kliemWed, 09 Dec 2020 16:10:36 GMTupstream changed
https://trac.sagemath.org/ticket/30319#comment:17
https://trac.sagemath.org/ticket/30319#comment:17
<ul>
<li><strong>upstream</strong>
changed from <em>Fixed upstream, in a later stable release.</em> to <em>Reported upstream. Developers acknowledge bug.</em>
</li>
</ul>
<p>
How important do we consider this bug. Should we reject older system installs?
</p>
Ticketgh-kliemWed, 09 Dec 2020 16:13:29 GMTupstream changed
https://trac.sagemath.org/ticket/30319#comment:18
https://trac.sagemath.org/ticket/30319#comment:18
<ul>
<li><strong>upstream</strong>
changed from <em>Reported upstream. Developers acknowledge bug.</em> to <em>Fixed upstream, in a later stable release.</em>
</li>
</ul>
<p>
Ok, it warned me because of a conflict, but I did not expect it to change the description back.
</p>
Ticketgh-kliemWed, 09 Dec 2020 16:45:02 GMT
https://trac.sagemath.org/ticket/30319#comment:19
https://trac.sagemath.org/ticket/30319#comment:19
<p>
There is a bug in latte_int with the new header location that needs fixing yet:
</p>
<p>
<a class="ext-link" href="https://github.com/latte-int/latte/issues/15"><span class="icon"></span>https://github.com/latte-int/latte/issues/15</a>
</p>
Ticketgh-kliemWed, 09 Dec 2020 18:31:34 GMTcc changed
https://trac.sagemath.org/ticket/30319#comment:20
https://trac.sagemath.org/ticket/30319#comment:20
<ul>
<li><strong>cc</strong>
<em>mkoeppe</em> added
</li>
</ul>
<p>
@mkoeppe
</p>
<p>
There is already a patch for latte, but I'm incapable of creating a patch for latte-int not latte-integral.
</p>
Ticketgh-kliemWed, 09 Dec 2020 18:33:33 GMTcommit, branch set
https://trac.sagemath.org/ticket/30319#comment:21
https://trac.sagemath.org/ticket/30319#comment:21
<ul>
<li><strong>commit</strong>
set to <em>406cb29f98626dce6ca86f27983874ab72fcd08d</em>
</li>
<li><strong>branch</strong>
set to <em>public/30319</em>
</li>
</ul>
<p>
New commits:
</p>
<table class="wiki">
<tr><td><a class="ext-link" href="https://git.sagemath.org/sage.git/commit?id=406cb29f98626dce6ca86f27983874ab72fcd08d"><span class="icon"></span>406cb29</a></td><td><code>update cddlib</code>
</td></tr></table>
TicketdimpaseTue, 15 Dec 2020 20:04:17 GMT
https://trac.sagemath.org/ticket/30319#comment:22
https://trac.sagemath.org/ticket/30319#comment:22
<p>
Replying to <a class="ticket" href="https://trac.sagemath.org/ticket/30319#comment:17" title="Comment 17">gh-kliem</a>:
</p>
<blockquote class="citation">
<p>
How important do we consider this bug. Should we reject older system installs?
</p>
</blockquote>
<p>
A good idea, I think.
</p>
TicketmkoeppeTue, 15 Dec 2020 20:17:24 GMT
https://trac.sagemath.org/ticket/30319#comment:23
https://trac.sagemath.org/ticket/30319#comment:23
<p>
I agree as well.
</p>
TicketmkoeppeThu, 18 Mar 2021 02:16:25 GMTsummary changed
https://trac.sagemath.org/ticket/30319#comment:24
https://trac.sagemath.org/ticket/30319#comment:24
<ul>
<li><strong>summary</strong>
changed from <em>wrong intersection of polytopes</em> to <em>wrong intersection of polytopes: Upgrade cddlib</em>
</li>
</ul>
TicketmkoeppeThu, 18 Mar 2021 02:18:04 GMTsummary changed; dependencies, work_issues set
https://trac.sagemath.org/ticket/30319#comment:25
https://trac.sagemath.org/ticket/30319#comment:25
<ul>
<li><strong>dependencies</strong>
set to <em>#31482</em>
</li>
<li><strong>work_issues</strong>
set to <em>rebase on #31482 - latte_int upgrade</em>
</li>
<li><strong>summary</strong>
changed from <em>wrong intersection of polytopes: Upgrade cddlib</em> to <em>wrong intersection of polytopes</em>
</li>
</ul>
Ticketgh-kliemThu, 18 Mar 2021 06:05:45 GMT
https://trac.sagemath.org/ticket/30319#comment:26
https://trac.sagemath.org/ticket/30319#comment:26
<p>
It seems that the system cdd will also leak into singular:
</p>
<p>
<code>Singular/m4/gfanlib-check.m4</code>:
</p>
<pre class="wiki"> AC_CHECK_HEADERS([setoper.h cdd/setoper.h cddlib/setoper.h])
if test "x$ac_cv_header_setoper_h" = xno -a "x$ac_cv_header_cdd_setoper_h" = xno -a "x$ac_cv_header_cddlib_setoper_h" = xno
then
if test "x$ENABLE_GFANLIB" = "xyes"; then
AC_MSG_ERROR([Error, setoper.h is missing!])
fi
</pre>
TicketmkoeppeThu, 18 Mar 2021 06:21:43 GMTdependencies, work_issues changed
https://trac.sagemath.org/ticket/30319#comment:27
https://trac.sagemath.org/ticket/30319#comment:27
<ul>
<li><strong>dependencies</strong>
changed from <em>#31482</em> to <em>#31482, #25993</em>
</li>
<li><strong>work_issues</strong>
changed from <em>rebase on #31482 - latte_int upgrade</em> to <em>rebase on dependencies</em>
</li>
</ul>
Ticketgh-kliemThu, 18 Mar 2021 06:29:00 GMT
https://trac.sagemath.org/ticket/30319#comment:28
https://trac.sagemath.org/ticket/30319#comment:28
<p>
Singular always prefers <code><cdd/....h></code> over <code><cddlib/....h</code>. This means that on debian a system cdd will always be prefered, if I'm not mistaken.
</p>
<p>
I don't know if this leads to any problems?
</p>
<p>
We could patch singular to modify the preference to <code><cddlib/....h></code> over <code><cdd/....h></code>. If we set up the path correctly, then sage's cdd will be prefered, even if there is a system cdd that is also in <code><cdd/....h></code>. Right??
</p>
<p>
This would be preferable in general I think (for singular as well). If there is a seperate install of cdd, it will always be in <code>cddlib/</code>.
</p>
TicketmkoeppeThu, 18 Mar 2021 06:32:36 GMT
https://trac.sagemath.org/ticket/30319#comment:29
https://trac.sagemath.org/ticket/30319#comment:29
<p>
I suppose we can also just install a few symlinks in cddlib's spkg-install.
Then we could finish the present ticket without having to wait for all the dependencies.
Later, in a followup ticket when packages have been updated, we could eliminate the symlinks again.
</p>
Ticketgh-kliemThu, 18 Mar 2021 06:56:35 GMT
https://trac.sagemath.org/ticket/30319#comment:30
https://trac.sagemath.org/ticket/30319#comment:30
<p>
We could to that with the symlinks and singular will pull in the correct library then, I think (at least if my assumption that the path is an ordered list and we lock for headers from sage first is correct).
</p>
<p>
I don't think we have to wait on singular. It's been leaking all along prefering the <code>cdd</code> system one over sage's header. It also checks for <code>cddlib</code>, so it won't fail.
</p>
Ticketgh-kliemThu, 18 Mar 2021 07:54:04 GMTwork_issues changed
https://trac.sagemath.org/ticket/30319#comment:31
https://trac.sagemath.org/ticket/30319#comment:31
<ul>
<li><strong>work_issues</strong>
changed from <em>rebase on dependencies</em> to <em>rebase on dependencies, -I$SAGE_LOCAL/include/cddlib for gfan</em>
</li>
</ul>
<p>
gfan only checks plain cdd.h
</p>
<p>
In fact it looks to me, like gfan wouldn't be able to pick up a systems cdd at all (because the headers are in the subfolder cddlib resp. cdd). So that is actually a bug in the install system. Because if you have cdd installed in your system, but gfan not, then you won't be able to build gfan.
</p>
Ticketgh-kliemThu, 18 Mar 2021 07:55:38 GMTwork_issues changed
https://trac.sagemath.org/ticket/30319#comment:32
https://trac.sagemath.org/ticket/30319#comment:32
<ul>
<li><strong>work_issues</strong>
changed from <em>rebase on dependencies, -I$SAGE_LOCAL/include/cddlib for gfan</em> to <em>rebase on dependencies, -I$SAGE_LOCAL/include/cddlib for gfan, topcom configure</em>
</li>
</ul>
<p>
We should also update topcom's configure patch to match t, the updated version of latte. This should be easy, as we completely control topcom's configure
</p>
Ticketgh-kliemThu, 18 Mar 2021 08:01:14 GMT
https://trac.sagemath.org/ticket/30319#comment:33
https://trac.sagemath.org/ticket/30319#comment:33
<p>
Polymake is a different topic.
</p>
<p>
According to this <a class="ext-link" href="https://github.com/polymake/polymake/blob/c2a326f240b11a06e1b1d5fd1c2ca7278bbe60a2/bundled/cdd/support/configure.pl"><span class="icon"></span>https://github.com/polymake/polymake/blob/c2a326f240b11a06e1b1d5fd1c2ca7278bbe60a2/bundled/cdd/support/configure.pl</a>
</p>
<p>
we probably need to specify the path to cdd. But I wouldn't know how to make this work for the systems cdd. But then again, I don't understand perl at all.
</p>
Ticketgh-kliemThu, 18 Mar 2021 08:03:23 GMT
https://trac.sagemath.org/ticket/30319#comment:34
https://trac.sagemath.org/ticket/30319#comment:34
<p>
I think if we only make sure things don't get worse as they have been, this ticket is very much doable.
</p>
<p>
We probably need a follow up ticket to fix gfan to work with systems cdd.
</p>
<p>
Edit: I see, we ignore system cdd installs, if headers are in a subfolder. This is why I have cdd installed in both the system and in sage as well. I guess with the current ticket, we know exactly what we need to do, to be able to drop this.
</p>
TicketgitThu, 18 Mar 2021 20:24:56 GMTcommit changed
https://trac.sagemath.org/ticket/30319#comment:35
https://trac.sagemath.org/ticket/30319#comment:35
<ul>
<li><strong>commit</strong>
changed from <em>406cb29f98626dce6ca86f27983874ab72fcd08d</em> to <em>ed3ed2a20f98f534d13b461d7b476fbc776928a1</em>
</li>
</ul>
<p>
Branch pushed to git repo; I updated commit sha1. This was a forced push. New commits:
</p>
<table class="wiki">
<tr><td><a class="ext-link" href="https://git.sagemath.org/sage.git/commit/?id=308274d2e56ccd1cb75e471f5d59b8e0ad0111d9"><span class="icon"></span>308274d</a></td><td><code>update cddlib</code>
</td></tr><tr><td><a class="ext-link" href="https://git.sagemath.org/sage.git/commit/?id=ed3ed2a20f98f534d13b461d7b476fbc776928a1"><span class="icon"></span>ed3ed2a</a></td><td><code>build/pkgs/cddlib/spkg-install.in: Install symlinks for cddlib/*.h</code>
</td></tr></table>
TicketmkoeppeThu, 18 Mar 2021 20:27:24 GMTauthor set; work_issues deleted
https://trac.sagemath.org/ticket/30319#comment:36
https://trac.sagemath.org/ticket/30319#comment:36
<ul>
<li><strong>work_issues</strong>
<em>rebase on dependencies, -I$SAGE_LOCAL/include/cddlib for gfan, topcom configure</em> deleted
</li>
<li><strong>author</strong>
set to <em>Jonathan Kliem, Matthias Koeppe</em>
</li>
</ul>
<p>
Do you know how to test for the cddlib bug in spkg-configure.m4?
</p>
Ticketgh-kliemThu, 18 Mar 2021 20:31:28 GMT
https://trac.sagemath.org/ticket/30319#comment:37
https://trac.sagemath.org/ticket/30319#comment:37
<p>
Replying to <a class="ticket" href="https://trac.sagemath.org/ticket/30319#comment:35" title="Comment 35">git</a>:
</p>
<blockquote class="citation">
<p>
Branch pushed to git repo; I updated commit sha1. This was a forced push. New commits:
</p>
<table class="wiki">
<tr><td><a class="ext-link" href="https://git.sagemath.org/sage.git/commit/?id=308274d2e56ccd1cb75e471f5d59b8e0ad0111d9"><span class="icon"></span>308274d</a></td><td><code>update cddlib</code>
</td></tr><tr><td><a class="ext-link" href="https://git.sagemath.org/sage.git/commit/?id=ed3ed2a20f98f534d13b461d7b476fbc776928a1"><span class="icon"></span>ed3ed2a</a></td><td><code>build/pkgs/cddlib/spkg-install.in: Install symlinks for cddlib/*.h</code>
</td></tr></table>
</blockquote>
<p>
I'm a bit confused on why you deleted the work issues. Did you forget to push something?
</p>
Ticketgh-kliemThu, 18 Mar 2021 20:43:21 GMT
https://trac.sagemath.org/ticket/30319#comment:38
https://trac.sagemath.org/ticket/30319#comment:38
<p>
Create a file
</p>
<p>
test.ine
</p>
<p>
with
</p>
<pre class="wiki">H-representation
linearity 2 1 2
begin
5 4 real
0.0 0.0 1.0 1.0
-1.0 0.0 1.0 1.0
-1.0 2.0 -1.0 0.0
-1.0 4.0 -2.0 0.0
1 0 0 0
end
</pre><p>
and run <code>cddexec --redcheck <test.ine</code>.
</p>
<p>
The line <code>Redundant rows are</code> should not contain a <code>1</code>.
</p>
TicketmkoeppeThu, 18 Mar 2021 20:49:33 GMT
https://trac.sagemath.org/ticket/30319#comment:39
https://trac.sagemath.org/ticket/30319#comment:39
<p>
Replying to <a class="ticket" href="https://trac.sagemath.org/ticket/30319#comment:37" title="Comment 37">gh-kliem</a>:
</p>
<blockquote class="citation">
<p>
I'm a bit confused on why you deleted the work issues. Did you forget to push something?
</p>
</blockquote>
<p>
I thought the result of our discussion was that by installing the symlinks, we do not have to fix anything in the other packages.
</p>
TicketmkoeppeThu, 18 Mar 2021 20:50:44 GMT
https://trac.sagemath.org/ticket/30319#comment:40
https://trac.sagemath.org/ticket/30319#comment:40
<p>
Or is there a package that no longer finds a prefix-less system cdd?
</p>
Ticketgh-kliemThu, 18 Mar 2021 21:29:39 GMT
https://trac.sagemath.org/ticket/30319#comment:41
https://trac.sagemath.org/ticket/30319#comment:41
<p>
I see.
</p>
<p>
Ok, then technically the latte upgrade isn't a decency anymore.
</p>
TicketgitThu, 18 Mar 2021 22:00:00 GMTcommit changed
https://trac.sagemath.org/ticket/30319#comment:42
https://trac.sagemath.org/ticket/30319#comment:42
<ul>
<li><strong>commit</strong>
changed from <em>ed3ed2a20f98f534d13b461d7b476fbc776928a1</em> to <em>167c83211f146c119ec377cf00e3b872a6d305d6</em>
</li>
</ul>
<p>
Branch pushed to git repo; I updated commit sha1. New commits:
</p>
<table class="wiki">
<tr><td><a class="ext-link" href="https://git.sagemath.org/sage.git/commit/?id=167c83211f146c119ec377cf00e3b872a6d305d6"><span class="icon"></span>167c832</a></td><td><code>build/pkgs/cddlib/spkg-configure.m4: Add test for cddexec --redcheck bug</code>
</td></tr></table>
TicketmkoeppeThu, 18 Mar 2021 22:00:24 GMTdependencies deleted
https://trac.sagemath.org/ticket/30319#comment:43
https://trac.sagemath.org/ticket/30319#comment:43
<ul>
<li><strong>dependencies</strong>
<em>#31482, #25993</em> deleted
</li>
</ul>
TicketmkoeppeThu, 18 Mar 2021 22:02:13 GMTdescription changed
https://trac.sagemath.org/ticket/30319#comment:44
https://trac.sagemath.org/ticket/30319#comment:44
<ul>
<li><strong>description</strong>
modified (<a href="/ticket/30319?action=diff&version=44">diff</a>)
</li>
</ul>
TicketmkoeppeThu, 18 Mar 2021 22:02:37 GMTsummary changed
https://trac.sagemath.org/ticket/30319#comment:45
https://trac.sagemath.org/ticket/30319#comment:45
<ul>
<li><strong>summary</strong>
changed from <em>wrong intersection of polytopes</em> to <em>Upgrade cddlib to fix wrong intersection of polytopes</em>
</li>
</ul>
TicketmkoeppeThu, 18 Mar 2021 22:23:57 GMTstatus changed
https://trac.sagemath.org/ticket/30319#comment:46
https://trac.sagemath.org/ticket/30319#comment:46
<ul>
<li><strong>status</strong>
changed from <em>new</em> to <em>needs_review</em>
</li>
</ul>
<p>
OK... the new configure check works correctly on <code>homebrew-macos-standard</code> (result: <code>yes</code> - but then the package is rejected because the headers are in the new place) and on <code>ubuntu-focal-standard</code> (result: <code>no</code>).
</p>
TicketmkoeppeThu, 18 Mar 2021 22:24:17 GMTcc changed
https://trac.sagemath.org/ticket/30319#comment:47
https://trac.sagemath.org/ticket/30319#comment:47
<ul>
<li><strong>cc</strong>
<em>dimpase</em> added
</li>
</ul>
TicketmkoeppeFri, 19 Mar 2021 03:29:20 GMTreviewer set
https://trac.sagemath.org/ticket/30319#comment:48
https://trac.sagemath.org/ticket/30319#comment:48
<ul>
<li><strong>reviewer</strong>
set to <em>https://github.com/mkoeppe/sage/actions/runs/666698487</em>
</li>
</ul>
TicketmkoeppeWed, 24 Mar 2021 00:29:49 GMTcc changed
https://trac.sagemath.org/ticket/30319#comment:49
https://trac.sagemath.org/ticket/30319#comment:49
<ul>
<li><strong>cc</strong>
<em>vbraun</em> added
</li>
</ul>
<p>
Let's please get this fix into 9.3
</p>
TicketmkoeppeThu, 25 Mar 2021 17:40:34 GMTreviewer changed
https://trac.sagemath.org/ticket/30319#comment:50
https://trac.sagemath.org/ticket/30319#comment:50
<ul>
<li><strong>reviewer</strong>
changed from <em>https://github.com/mkoeppe/sage/actions/runs/666698487</em> to <em>Matthias Koeppe, ...</em>
</li>
</ul>
TicketdimpaseThu, 25 Mar 2021 18:42:11 GMTstatus, reviewer changed
https://trac.sagemath.org/ticket/30319#comment:51
https://trac.sagemath.org/ticket/30319#comment:51
<ul>
<li><strong>status</strong>
changed from <em>needs_review</em> to <em>positive_review</em>
</li>
<li><strong>reviewer</strong>
changed from <em>Matthias Koeppe, ...</em> to <em>Matthias Koeppe, Dima Pasechnik</em>
</li>
</ul>
<p>
ok
</p>
Ticketgh-kliemThu, 25 Mar 2021 18:52:32 GMT
https://trac.sagemath.org/ticket/30319#comment:52
https://trac.sagemath.org/ticket/30319#comment:52
<p>
Thank you.
</p>
TicketmkoeppeThu, 25 Mar 2021 19:10:30 GMT
https://trac.sagemath.org/ticket/30319#comment:53
https://trac.sagemath.org/ticket/30319#comment:53
<p>
Thanks!
</p>
TicketmkoeppeMon, 29 Mar 2021 23:54:39 GMTpriority changed
https://trac.sagemath.org/ticket/30319#comment:54
https://trac.sagemath.org/ticket/30319#comment:54
<ul>
<li><strong>priority</strong>
changed from <em>critical</em> to <em>blocker</em>
</li>
</ul>
<p>
Setting priority to blocker to bring this ticket to the attention of the release bot.
</p>
TicketvbraunThu, 01 Apr 2021 19:45:17 GMTstatus, branch changed; resolution set
https://trac.sagemath.org/ticket/30319#comment:55
https://trac.sagemath.org/ticket/30319#comment:55
<ul>
<li><strong>status</strong>
changed from <em>positive_review</em> to <em>closed</em>
</li>
<li><strong>resolution</strong>
set to <em>fixed</em>
</li>
<li><strong>branch</strong>
changed from <em>public/30319</em> to <em>167c83211f146c119ec377cf00e3b872a6d305d6</em>
</li>
</ul>
Ticket