Skip to content
This repository was archived by the owner on Jan 31, 2023. It is now read-only.

Latest commit

 

History

History
2710 lines (2049 loc) · 118 KB

20710.md

File metadata and controls

2710 lines (2049 loc) · 118 KB

Issue 20710: upgrade glpk to 4.60

archive/issues_020473.json:

{
    "assignees": [],
    "body": "<div id=\"comment:0\"></div>\n\nI suggest to upgrade `glpk` to the latest available version (4.60 at the time of writing). The current version has been superseded in Gentoo and the formatting of the output has changed.\nHere are the tasks for this upgrade:\n\n1. use `spkg-src` instead of patching `configure` directly\n\n2. some part of `have_error.patch` is now upstream, but not every piece of that patch was accepted\n\n3. clean up `SPKG.txt` and other files so they are reflecting the current reality more closely without obsolete historical comments \n\n**Tarball**: http://www.lmona.de/files/sage/glpk-4.60.tar.bz2 (generated with `spkg-src`)\n\nCC:  @jpflori @embray @sagetrac-gouezel @kiwifb\n\nComponent: **packages: standard**\n\nAuthor: **Fran\u00e7ois Bissey**\n\nBranch: **[`fd7afa8`](https://github.com/sagemath/sagetrac-mirror/commit/fd7afa8008652519f1bee108fd6809b1d147089d)**\n\nReviewer: **Matthias Koeppe, Jeroen Demeyer**\n\n_Issue created by migration from https://trac.sagemath.org/ticket/20710_\n\n",
    "closed_at": "2016-10-21T07:04:28Z",
    "created_at": "2016-05-30T05:10:30Z",
    "labels": [
        "https://github.com/sagemath/sage/labels/c%3A%20packages%3A%20standard",
        "https://github.com/sagemath/sage/labels/p%3A%20major%20/%203",
        "https://github.com/sagemath/sage/labels/enhancement"
    ],
    "milestone": "https://github.com/sagemath/sage/milestones/sage-7.5",
    "reactions": [],
    "repository": "https://github.com/sagemath/sage",
    "title": "upgrade glpk to 4.60",
    "type": "issue",
    "updated_at": "2017-11-10T12:33:58Z",
    "url": "https://github.com/sagemath/sage/issues/20710",
    "user": "https://github.com/kiwifb"
}

I suggest to upgrade glpk to the latest available version (4.60 at the time of writing). The current version has been superseded in Gentoo and the formatting of the output has changed. Here are the tasks for this upgrade:

  1. use spkg-src instead of patching configure directly

  2. some part of have_error.patch is now upstream, but not every piece of that patch was accepted

  3. clean up SPKG.txt and other files so they are reflecting the current reality more closely without obsolete historical comments

Tarball: http://www.lmona.de/files/sage/glpk-4.60.tar.bz2 (generated with spkg-src)

CC: @jpflori @embray @sagetrac-gouezel @kiwifb

Component: packages: standard

Author: François Bissey

Branch: fd7afa8

Reviewer: Matthias Koeppe, Jeroen Demeyer

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


archive/issue_events_289026.json:

{
    "actor": "https://github.com/kiwifb",
    "created_at": "2016-05-30T05:10:30Z",
    "event": "milestoned",
    "issue": "https://github.com/sagemath/sage/issues/20710",
    "milestone_number": null,
    "milestone_title": "sage-7.3",
    "type": "issue_event",
    "url": "https://github.com/sagemath/sage/issues/20710#event-289026"
}

archive/issue_events_289027.json:

{
    "actor": "https://github.com/kiwifb",
    "created_at": "2016-05-30T05:10:30Z",
    "event": "labeled",
    "issue": "https://github.com/sagemath/sage/issues/20710",
    "label": "https://github.com/sagemath/sage/labels/c%3A%20packages%3A%20standard",
    "label_color": "0000b0",
    "label_name": "c: packages: standard",
    "label_text_color": "ffffff",
    "type": "issue_event",
    "url": "https://github.com/sagemath/sage/issues/20710#event-289027"
}

archive/issue_events_289028.json:

{
    "actor": "https://github.com/kiwifb",
    "created_at": "2016-05-30T05:10:30Z",
    "event": "labeled",
    "issue": "https://github.com/sagemath/sage/issues/20710",
    "label": "https://github.com/sagemath/sage/labels/p%3A%20major%20/%203",
    "label_color": "ffbb00",
    "label_name": "p: major / 3",
    "label_text_color": "ffffff",
    "type": "issue_event",
    "url": "https://github.com/sagemath/sage/issues/20710#event-289028"
}

archive/issue_events_289029.json:

{
    "actor": "https://github.com/kiwifb",
    "created_at": "2016-05-30T05:10:30Z",
    "event": "labeled",
    "issue": "https://github.com/sagemath/sage/issues/20710",
    "label": "https://github.com/sagemath/sage/labels/enhancement",
    "label_color": "696969",
    "label_name": "enhancement",
    "label_text_color": "ffffff",
    "type": "issue_event",
    "url": "https://github.com/sagemath/sage/issues/20710#event-289029"
}

archive/issue_comments_299741.json:

{
    "body": "<div id=\"comment:1\" align=\"right\">comment:1</div>\n\nStill doctests to fix.\n\n@ jpflori could you have a look at the cygwin part? Upstream has added some stuff to add `--no-undefined` if host is `*-*-cygwin*` but you are also checking how gmp/mpir is built if host_os is `cygwin*` at the moment I have adapted the patch but may be it is safe to drop it completely. From `configure.ac`\n\n```\nAC_MSG_CHECKING(\n   [if libtool needs -no-undefined flag to build shared libraries])\ncase \"${host}\" in\n   *-*-cygwin* | *-*-mingw* | *-*-aix*)\n      ## Add in the -no-undefined flag to LDFLAGS for libtool.\n      AC_MSG_RESULT([yes])\n      NOUNDEFINED=\" -no-undefined\"\n      ;;\n   *)\n      ## Don't add in anything.\n      AC_MSG_RESULT([no])\n      ;;\nesac\nAC_SUBST([NOUNDEFINED])\n```\nwith a matching bit for `NOUNDEFINED` in `src/Makefile.am`.\n\n---\nNew commits:\n<table><tr><td><a href=\"https://github.com/sagemath/sagetrac-mirror/commit/3e82dbefbe749bd04be9af162e54b627f6701aff\"><code>3e82dbe</code></a></td><td><code>first shot at spkg-src for glpk</code></td></tr><tr><td><a href=\"https://github.com/sagemath/sagetrac-mirror/commit/e3f769176da04da390ae05d08ef53f4bd29ec418\"><code>e3f7691</code></a></td><td><code>updating glpk to 4.60 - first pass</code></td></tr><tr><td><a href=\"https://github.com/sagemath/sagetrac-mirror/commit/79883a7750ec829abc0c41a6747c919e7e54db09\"><code>79883a7</code></a></td><td><code>Merge branch 'develop' into glpk_4.60</code></td></tr></table>\n",
    "created_at": "2016-05-30T10:22:41Z",
    "formatter": "markdown",
    "issue": "https://github.com/sagemath/sage/issues/20710",
    "type": "issue_comment",
    "url": "https://github.com/sagemath/sage/issues/20710#issuecomment-299741",
    "user": "https://github.com/kiwifb"
}
comment:1

Still doctests to fix.

@ jpflori could you have a look at the cygwin part? Upstream has added some stuff to add --no-undefined if host is *-*-cygwin* but you are also checking how gmp/mpir is built if host_os is cygwin* at the moment I have adapted the patch but may be it is safe to drop it completely. From configure.ac

AC_MSG_CHECKING(
   [if libtool needs -no-undefined flag to build shared libraries])
case "${host}" in
   *-*-cygwin* | *-*-mingw* | *-*-aix*)
      ## Add in the -no-undefined flag to LDFLAGS for libtool.
      AC_MSG_RESULT([yes])
      NOUNDEFINED=" -no-undefined"
      ;;
   *)
      ## Don't add in anything.
      AC_MSG_RESULT([no])
      ;;
esac
AC_SUBST([NOUNDEFINED])

with a matching bit for NOUNDEFINED in src/Makefile.am.


New commits:

3e82dbefirst shot at spkg-src for glpk
e3f7691updating glpk to 4.60 - first pass
79883a7Merge branch 'develop' into glpk_4.60

archive/issue_comments_299742.json:

{
    "body": "Commit: **[`79883a7`](https://github.com/sagemath/sagetrac-mirror/commit/79883a7750ec829abc0c41a6747c919e7e54db09)**",
    "created_at": "2016-05-30T10:22:41Z",
    "formatter": "markdown",
    "issue": "https://github.com/sagemath/sage/issues/20710",
    "type": "issue_comment",
    "url": "https://github.com/sagemath/sage/issues/20710#issuecomment-299742",
    "user": "https://github.com/kiwifb"
}

Commit: 79883a7


archive/issue_comments_299743.json:

{
    "body": "Branch: **[u/fbissey/glpk_4.60](https://github.com/sagemath/sagetrac-mirror/tree/u/fbissey/glpk_4.60)**",
    "created_at": "2016-05-30T10:22:41Z",
    "formatter": "markdown",
    "issue": "https://github.com/sagemath/sage/issues/20710",
    "type": "issue_comment",
    "url": "https://github.com/sagemath/sage/issues/20710#issuecomment-299743",
    "user": "https://github.com/kiwifb"
}

Branch: u/fbissey/glpk_4.60


archive/issue_comments_299744.json:

{
    "body": "Author: **Fran\u00e7ois Bissey**",
    "created_at": "2016-05-30T10:22:41Z",
    "formatter": "markdown",
    "issue": "https://github.com/sagemath/sage/issues/20710",
    "type": "issue_comment",
    "url": "https://github.com/sagemath/sage/issues/20710#issuecomment-299744",
    "user": "https://github.com/kiwifb"
}

Author: François Bissey


archive/issue_comments_299745.json:

{
    "body": "<div id=\"comment:2\" align=\"right\">comment:2</div>\n\nReplying to [@kiwifb](https://github.com/sagemath/sage/issues/20710#comment:0):\n>  2) drop the `have_error.patch` has the functionality is now upstream without having to change sage's code.\n\nAre you sure about this? As I mentioned in #19525, GLPK upstream accepted the Sage patch **with significant modifications**.",
    "created_at": "2016-05-30T10:37:47Z",
    "formatter": "markdown",
    "issue": "https://github.com/sagemath/sage/issues/20710",
    "type": "issue_comment",
    "url": "https://github.com/sagemath/sage/issues/20710#issuecomment-299745",
    "user": "https://github.com/jdemeyer"
}
comment:2

Replying to @kiwifb:

  1. drop the have_error.patch has the functionality is now upstream without having to change sage's code.

Are you sure about this? As I mentioned in #19525, GLPK upstream accepted the Sage patch with significant modifications.


archive/issue_comments_299746.json:

{
    "body": "<div id=\"comment:3\" align=\"right\">comment:3</div>\n\nI had been using `glpk-4.57` for a while (before moving to 4.60 in my private overlay before starting this ticket) and I had only one doctest failure (version reported is different and cannot just be ellipsed away because that doctest already uses tolerance) for a long time - until some recent MIP work which introduced new doctests. The failures are in verbosity and nothing about error reporting. \n\nBut to be sure do we already have a doctest for the functionality and if not, do you have a test case?",
    "created_at": "2016-05-30T10:46:16Z",
    "formatter": "markdown",
    "issue": "https://github.com/sagemath/sage/issues/20710",
    "type": "issue_comment",
    "url": "https://github.com/sagemath/sage/issues/20710#issuecomment-299746",
    "user": "https://github.com/kiwifb"
}
comment:3

I had been using glpk-4.57 for a while (before moving to 4.60 in my private overlay before starting this ticket) and I had only one doctest failure (version reported is different and cannot just be ellipsed away because that doctest already uses tolerance) for a long time - until some recent MIP work which introduced new doctests. The failures are in verbosity and nothing about error reporting.

But to be sure do we already have a doctest for the functionality and if not, do you have a test case?


archive/issue_comments_299747.json:

{
    "body": "<div id=\"comment:4\" align=\"right\">comment:4</div>\n\nReplying to [@kiwifb](#comment%3A3):\n> But to be sure do we already have a doctest for the functionality and if not, do you have a test case? \n\nIt has to do with error handling, which should be doctested. But I will check...",
    "created_at": "2016-05-30T10:55:13Z",
    "formatter": "markdown",
    "issue": "https://github.com/sagemath/sage/issues/20710",
    "type": "issue_comment",
    "url": "https://github.com/sagemath/sage/issues/20710#issuecomment-299747",
    "user": "https://github.com/jdemeyer"
}
comment:4

Replying to @kiwifb:

But to be sure do we already have a doctest for the functionality and if not, do you have a test case?

It has to do with error handling, which should be doctested. But I will check...


archive/issue_comments_299748.json:

{
    "body": "<div id=\"comment:5\" align=\"right\">comment:5</div>\n\nReplying to [@kiwifb](#comment%3A3):\n> version reported is different and cannot just be ellipsed away because that doctest already uses tolerance\n\nWell, `4.57` matches `4.55` with `abs tol 0.02` :-)",
    "created_at": "2016-05-30T10:56:26Z",
    "formatter": "markdown",
    "issue": "https://github.com/sagemath/sage/issues/20710",
    "type": "issue_comment",
    "url": "https://github.com/sagemath/sage/issues/20710#issuecomment-299748",
    "user": "https://github.com/jdemeyer"
}
comment:5

Replying to @kiwifb:

version reported is different and cannot just be ellipsed away because that doctest already uses tolerance

Well, 4.57 matches 4.55 with abs tol 0.02 :-)


archive/issue_comments_299749.json:

{
    "body": "<div id=\"comment:6\" align=\"right\">comment:6</div>\n\nReplying to [@jdemeyer](#comment%3A5):\n> Replying to [@kiwifb](#comment%3A3):\n> > version reported is different and cannot just be ellipsed away because that doctest already uses tolerance\n> \n> \n> Well, `4.57` matches `4.55` with `abs tol 0.02` :-)\n\nBut increasing the tolerance from 1e-5 just for that feels a bit silly. And currently I'd need 0.05.",
    "created_at": "2016-05-30T11:04:25Z",
    "formatter": "markdown",
    "issue": "https://github.com/sagemath/sage/issues/20710",
    "type": "issue_comment",
    "url": "https://github.com/sagemath/sage/issues/20710#issuecomment-299749",
    "user": "https://github.com/kiwifb"
}
comment:6

Replying to @jdemeyer:

Replying to @kiwifb:

version reported is different and cannot just be ellipsed away because that doctest already uses tolerance

Well, 4.57 matches 4.55 with abs tol 0.02 :-)

But increasing the tolerance from 1e-5 just for that feels a bit silly. And currently I'd need 0.05.


archive/issue_comments_299750.json:

{
    "body": "Changed commit from **[`79883a7`](https://github.com/sagemath/sagetrac-mirror/commit/79883a7750ec829abc0c41a6747c919e7e54db09)** to **[`b3efcbc`](https://github.com/sagemath/sagetrac-mirror/commit/b3efcbc8d4f8648d69563763a1f5b67db206457f)**",
    "created_at": "2016-05-31T11:28:37Z",
    "formatter": "markdown",
    "issue": "https://github.com/sagemath/sage/issues/20710",
    "type": "issue_comment",
    "url": "https://github.com/sagemath/sage/issues/20710#issuecomment-299750",
    "user": "https://github.com/sagetrac-git"
}

Changed commit from 79883a7 to b3efcbc


archive/issue_comments_299751.json:

{
    "body": "<div id=\"comment:7\"></div>\n\nBranch pushed to git repo; I updated commit sha1. New commits:\n<table><tr><td><a href=\"https://github.com/sagemath/sagetrac-mirror/commit/87731ae5a3b7efb0b52de789f34a6a77ea2d3ff0\"><code>87731ae</code></a></td><td><code>Small improvements in spkg-src</code></td></tr><tr><td><a href=\"https://github.com/sagemath/sagetrac-mirror/commit/b3efcbc8d4f8648d69563763a1f5b67db206457f\"><code>b3efcbc</code></a></td><td><code>fix doctests</code></td></tr></table>\n",
    "created_at": "2016-05-31T11:28:37Z",
    "formatter": "markdown",
    "issue": "https://github.com/sagemath/sage/issues/20710",
    "type": "issue_comment",
    "url": "https://github.com/sagemath/sage/issues/20710#issuecomment-299751",
    "user": "https://github.com/sagetrac-git"
}

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

87731aeSmall improvements in spkg-src
b3efcbcfix doctests

archive/issue_comments_299752.json:

{
    "body": "<div id=\"comment:8\" align=\"right\">comment:8</div>\n\nBesides the error reporting there is one last doctest that require particular attention, possibly from a specialist \n\n```\nsage -t --long src/sage/numerical/backends/glpk_backend.pyx\n**********************************************************************\nFile \"src/sage/numerical/backends/glpk_backend.pyx\", line 1000, in sage.numerical.backends.glpk_backend.GLPKBackend.solve\nFailed example:\n    p.solve() # rel tol 1\nException raised:\n    Traceback (most recent call last):\n      File \"/home/fbissey/sandbox/git-fork/sage/local/lib/python2.7/site-packages/sage/doctest/forker.py\", line 498, in _run\n        self.compile_and_execute(example, compiler, test.globs)\n      File \"/home/fbissey/sandbox/git-fork/sage/local/lib/python2.7/site-packages/sage/doctest/forker.py\", line 861, in compile_and_execute\n        exec(compiled, globs)\n      File \"<doctest sage.numerical.backends.glpk_backend.GLPKBackend.solve[74]>\", line 1, in <module>\n        p.solve() # rel tol 1\n      File \"sage/numerical/mip.pyx\", line 2197, in sage.numerical.mip.MixedIntegerLinearProgram.solve (/home/fbissey/sandbox/git-fork/sage/src/build/cythonized/sage/numerical/mip.c:15434)\n        self._backend.solve()\n      File \"sage/numerical/backends/glpk_backend.pyx\", line 1040, in sage.numerical.backends.glpk_backend.GLPKBackend.solve (/home/fbissey/sandbox/git-fork/sage/src/build/cythonized/sage/numerical/backends/glpk_backend.cpp:8609)\n        \n    MIPSolverException: GLPK: The time limit has been exceeded\n**********************************************************************\n```\nAlso does that tell us something about error reporting as you intended it Jeroen?",
    "created_at": "2016-05-31T11:31:32Z",
    "formatter": "markdown",
    "issue": "https://github.com/sagemath/sage/issues/20710",
    "type": "issue_comment",
    "url": "https://github.com/sagemath/sage/issues/20710#issuecomment-299752",
    "user": "https://github.com/kiwifb"
}
comment:8

Besides the error reporting there is one last doctest that require particular attention, possibly from a specialist

sage -t --long src/sage/numerical/backends/glpk_backend.pyx
**********************************************************************
File "src/sage/numerical/backends/glpk_backend.pyx", line 1000, in sage.numerical.backends.glpk_backend.GLPKBackend.solve
Failed example:
    p.solve() # rel tol 1
Exception raised:
    Traceback (most recent call last):
      File "/home/fbissey/sandbox/git-fork/sage/local/lib/python2.7/site-packages/sage/doctest/forker.py", line 498, in _run
        self.compile_and_execute(example, compiler, test.globs)
      File "/home/fbissey/sandbox/git-fork/sage/local/lib/python2.7/site-packages/sage/doctest/forker.py", line 861, in compile_and_execute
        exec(compiled, globs)
      File "<doctest sage.numerical.backends.glpk_backend.GLPKBackend.solve[74]>", line 1, in <module>
        p.solve() # rel tol 1
      File "sage/numerical/mip.pyx", line 2197, in sage.numerical.mip.MixedIntegerLinearProgram.solve (/home/fbissey/sandbox/git-fork/sage/src/build/cythonized/sage/numerical/mip.c:15434)
        self._backend.solve()
      File "sage/numerical/backends/glpk_backend.pyx", line 1040, in sage.numerical.backends.glpk_backend.GLPKBackend.solve (/home/fbissey/sandbox/git-fork/sage/src/build/cythonized/sage/numerical/backends/glpk_backend.cpp:8609)
        
    MIPSolverException: GLPK: The time limit has been exceeded
**********************************************************************

Also does that tell us something about error reporting as you intended it Jeroen?


archive/issue_comments_299753.json:

{
    "body": "<div id=\"comment:9\" align=\"right\">comment:9</div>\n\nWhere's the tarball?",
    "created_at": "2016-06-15T03:29:41Z",
    "formatter": "markdown",
    "issue": "https://github.com/sagemath/sage/issues/20710",
    "type": "issue_comment",
    "url": "https://github.com/sagemath/sage/issues/20710#issuecomment-299753",
    "user": "https://github.com/mkoeppe"
}
comment:9

Where's the tarball?


archive/issue_comments_299754.json:

{
    "body": "<div id=\"comment:10\" align=\"right\">comment:10</div>\n\nFair point, I haven't uploaded it yet. I'll do it ASAP.",
    "created_at": "2016-06-15T03:38:59Z",
    "formatter": "markdown",
    "issue": "https://github.com/sagemath/sage/issues/20710",
    "type": "issue_comment",
    "url": "https://github.com/sagemath/sage/issues/20710#issuecomment-299754",
    "user": "https://github.com/kiwifb"
}
comment:10

Fair point, I haven't uploaded it yet. I'll do it ASAP.


archive/issue_comments_299755.json:

{
    "body": "<div id=\"comment:11\" align=\"right\">comment:11</div>\n\n(Are you using the upstream tarball or some kind of repackaged tarball?)",
    "created_at": "2016-06-15T03:42:47Z",
    "formatter": "markdown",
    "issue": "https://github.com/sagemath/sage/issues/20710",
    "type": "issue_comment",
    "url": "https://github.com/sagemath/sage/issues/20710#issuecomment-299755",
    "user": "https://github.com/mkoeppe"
}
comment:11

(Are you using the upstream tarball or some kind of repackaged tarball?)


archive/issue_comments_299756.json:

{
    "body": "<div id=\"comment:12\" align=\"right\">comment:12</div>\n\nRepackaged.",
    "created_at": "2016-06-15T04:20:03Z",
    "formatter": "markdown",
    "issue": "https://github.com/sagemath/sage/issues/20710",
    "type": "issue_comment",
    "url": "https://github.com/sagemath/sage/issues/20710#issuecomment-299756",
    "user": "https://github.com/kiwifb"
}
comment:12

Repackaged.


archive/issue_comments_299757.json:

{
    "body": "Description changed:\n``````diff\n--- \n+++ \n@@ -3,3 +3,6 @@\n  1) use `spkg-src` instead of patching `configure` directly\n  2) drop the `have_error.patch` has the functionality is now upstream without having to change sage's code.\n  3) clean up `SPKG.txt` and other files so they are reflecting the current reality more closely without obsolete historical comments \n+\n+tarball:\n+[http://www.lmona.de/files/sage/glpk-4.60.tar.bz2](http://www.lmona.de/files/sage/glpk-4.60.tar.bz2)\n``````\n",
    "created_at": "2016-06-15T04:26:46Z",
    "formatter": "markdown",
    "issue": "https://github.com/sagemath/sage/issues/20710",
    "type": "issue_comment",
    "url": "https://github.com/sagemath/sage/issues/20710#issuecomment-299757",
    "user": "https://github.com/kiwifb"
}

Description changed:

--- 
+++ 
@@ -3,3 +3,6 @@
  1) use `spkg-src` instead of patching `configure` directly
  2) drop the `have_error.patch` has the functionality is now upstream without having to change sage's code.
  3) clean up `SPKG.txt` and other files so they are reflecting the current reality more closely without obsolete historical comments 
+
+tarball:
+[http://www.lmona.de/files/sage/glpk-4.60.tar.bz2](http://www.lmona.de/files/sage/glpk-4.60.tar.bz2)

archive/issue_comments_299758.json:

{
    "body": "Dependencies: **#20832**",
    "created_at": "2016-06-15T08:11:43Z",
    "formatter": "markdown",
    "issue": "https://github.com/sagemath/sage/issues/20710",
    "type": "issue_comment",
    "url": "https://github.com/sagemath/sage/issues/20710#issuecomment-299758",
    "user": "https://github.com/jdemeyer"
}

Dependencies: #20832


archive/issue_comments_299759.json:

{
    "body": "<div id=\"comment:15\" align=\"right\">comment:15</div>\n\nReplying to [@kiwifb](#comment%3A3):\n> But to be sure do we already have a doctest for the functionality and if not, do you have a test case? \n\nI added one in #20832.",
    "created_at": "2016-06-15T08:41:40Z",
    "formatter": "markdown",
    "issue": "https://github.com/sagemath/sage/issues/20710",
    "type": "issue_comment",
    "url": "https://github.com/sagemath/sage/issues/20710#issuecomment-299759",
    "user": "https://github.com/jdemeyer"
}
comment:15

Replying to @kiwifb:

But to be sure do we already have a doctest for the functionality and if not, do you have a test case?

I added one in #20832.


archive/issue_comments_299760.json:

{
    "body": "<div id=\"comment:16\" align=\"right\">comment:16</div>\n\nYou still need this piece of `have_error.patch` (upstream explicitly rejected this):\n\n```diff\ndiff -ru glpk-4.55/src/env/error.c glpk-4.55-patched//src/env/error.c\n--- glpk-4.55/src/env/error.c   2014-08-22 08:00:00.000000000 +0200\n+++ glpk-4.55-patched//src/env/error.c  2015-11-05 09:59:57.588718768 +0100\n@@ -47,6 +47,7 @@\n       va_end(arg);\n       xprintf(\"Error detected in file %s at line %d\\n\",\n          env->err_file, env->err_line);\n+      env->err_file = NULL;\n       if (env->err_hook != NULL)\n          env->err_hook(env->err_info);\n       abort();\n```",
    "created_at": "2016-06-15T08:44:53Z",
    "formatter": "markdown",
    "issue": "https://github.com/sagemath/sage/issues/20710",
    "type": "issue_comment",
    "url": "https://github.com/sagemath/sage/issues/20710#issuecomment-299760",
    "user": "https://github.com/jdemeyer"
}
comment:16

You still need this piece of have_error.patch (upstream explicitly rejected this):

diff -ru glpk-4.55/src/env/error.c glpk-4.55-patched//src/env/error.c
--- glpk-4.55/src/env/error.c   2014-08-22 08:00:00.000000000 +0200
+++ glpk-4.55-patched//src/env/error.c  2015-11-05 09:59:57.588718768 +0100
@@ -47,6 +47,7 @@
       va_end(arg);
       xprintf("Error detected in file %s at line %d\n",
          env->err_file, env->err_line);
+      env->err_file = NULL;
       if (env->err_hook != NULL)
          env->err_hook(env->err_info);
       abort();

archive/issue_comments_299761.json:

{
    "body": "Description changed:\n``````diff\n--- \n+++ \n@@ -1,7 +1,7 @@\n I suggest to upgrade `glpk` to the latest available version (4.60 at the time of writing). The current version has been superseded in Gentoo and the formatting of the output has changed.\n Here are the tasks for this upgrade:\n  1) use `spkg-src` instead of patching `configure` directly\n- 2) drop the `have_error.patch` has the functionality is now upstream without having to change sage's code.\n+ 2) some part of `have_error.patch` is now upstream\n  3) clean up `SPKG.txt` and other files so they are reflecting the current reality more closely without obsolete historical comments \n \n tarball:\n``````\n",
    "created_at": "2016-06-15T08:44:53Z",
    "formatter": "markdown",
    "issue": "https://github.com/sagemath/sage/issues/20710",
    "type": "issue_comment",
    "url": "https://github.com/sagemath/sage/issues/20710#issuecomment-299761",
    "user": "https://github.com/jdemeyer"
}

Description changed:

--- 
+++ 
@@ -1,7 +1,7 @@
 I suggest to upgrade `glpk` to the latest available version (4.60 at the time of writing). The current version has been superseded in Gentoo and the formatting of the output has changed.
 Here are the tasks for this upgrade:
  1) use `spkg-src` instead of patching `configure` directly
- 2) drop the `have_error.patch` has the functionality is now upstream without having to change sage's code.
+ 2) some part of `have_error.patch` is now upstream
  3) clean up `SPKG.txt` and other files so they are reflecting the current reality more closely without obsolete historical comments 
 
 tarball:

archive/issue_comments_299762.json:

{
    "body": "<div id=\"comment:17\" align=\"right\">comment:17</div>\n\nOK, can you enlighten me on why you think it is needed and why it was rejected?",
    "created_at": "2016-06-15T08:50:52Z",
    "formatter": "markdown",
    "issue": "https://github.com/sagemath/sage/issues/20710",
    "type": "issue_comment",
    "url": "https://github.com/sagemath/sage/issues/20710#issuecomment-299762",
    "user": "https://github.com/kiwifb"
}
comment:17

OK, can you enlighten me on why you think it is needed and why it was rejected?


archive/issue_comments_299763.json:

{
    "body": "<div id=\"comment:18\" align=\"right\">comment:18</div>\n\nThe default behaviour for GLPK when encountering an error is to print an error message and then `abort()`. This printing of the error message is done the same way as the usual printing of messages, for example with verbose output. The printing can be customized with a hook function.\n\nGLPK also has an error hook, which is called after printing the error message. It can be used to do something else besides `abort()`. In the case of Sage, this does a `longjmp()` through the `sig_on()` mechanism, raising a Python exception.\n\nIn Sage, we want the usual messages to appear normally, but we want to intercept the error messages and convert them to a Python exception. For this to work, we need a way to detect whether we are handling an error or not. I added a patch to GLPK to support this. It allows to checking whether `env->err_file` is `NULL` or not. This `env->err_file` is set to some non-NULL value when entering the error handler and is set back to NULL after printing the error message, before the error hook.\n\nThe part which upstream did not accept was the setting back of `env->err_file` to NULL because they don't want to officially support error recovery. In upstream's view, once GLPK has encountered an error, it is in an invalid state and there is no way to recover.",
    "created_at": "2016-06-15T09:02:53Z",
    "formatter": "markdown",
    "issue": "https://github.com/sagemath/sage/issues/20710",
    "type": "issue_comment",
    "url": "https://github.com/sagemath/sage/issues/20710#issuecomment-299763",
    "user": "https://github.com/jdemeyer"
}
comment:18

The default behaviour for GLPK when encountering an error is to print an error message and then abort(). This printing of the error message is done the same way as the usual printing of messages, for example with verbose output. The printing can be customized with a hook function.

GLPK also has an error hook, which is called after printing the error message. It can be used to do something else besides abort(). In the case of Sage, this does a longjmp() through the sig_on() mechanism, raising a Python exception.

In Sage, we want the usual messages to appear normally, but we want to intercept the error messages and convert them to a Python exception. For this to work, we need a way to detect whether we are handling an error or not. I added a patch to GLPK to support this. It allows to checking whether env->err_file is NULL or not. This env->err_file is set to some non-NULL value when entering the error handler and is set back to NULL after printing the error message, before the error hook.

The part which upstream did not accept was the setting back of env->err_file to NULL because they don't want to officially support error recovery. In upstream's view, once GLPK has encountered an error, it is in an invalid state and there is no way to recover.


archive/issue_comments_299764.json:

{
    "body": "<div id=\"comment:19\" align=\"right\">comment:19</div>\n\nGrumble.... At least that's a very small patch. Will add it here in the morning.",
    "created_at": "2016-06-15T10:56:48Z",
    "formatter": "markdown",
    "issue": "https://github.com/sagemath/sage/issues/20710",
    "type": "issue_comment",
    "url": "https://github.com/sagemath/sage/issues/20710#issuecomment-299764",
    "user": "https://github.com/kiwifb"
}
comment:19

Grumble.... At least that's a very small patch. Will add it here in the morning.


archive/issue_comments_299765.json:

{
    "body": "<div id=\"comment:20\"></div>\n\nBranch pushed to git repo; I updated commit sha1. New commits:\n<table><tr><td><a href=\"https://github.com/sagemath/sagetrac-mirror/commit/e5145acc212dc905a4b4cd55c020ae331022f762\"><code>e5145ac</code></a></td><td><code>Merge branch 'develop' into glpk_4.60</code></td></tr><tr><td><a href=\"https://github.com/sagemath/sagetrac-mirror/commit/dfa1ca62fc17ee47212255dfeb615267db959268\"><code>dfa1ca6</code></a></td><td><code>Add patch for error recovery see #20710 comment 18 for detailled explanation.</code></td></tr></table>\n",
    "created_at": "2016-06-15T11:43:59Z",
    "formatter": "markdown",
    "issue": "https://github.com/sagemath/sage/issues/20710",
    "type": "issue_comment",
    "url": "https://github.com/sagemath/sage/issues/20710#issuecomment-299765",
    "user": "https://github.com/sagetrac-git"
}

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

e5145acMerge branch 'develop' into glpk_4.60
dfa1ca6Add patch for error recovery see #20710 comment 18 for detailled explanation.

archive/issue_comments_299766.json:

{
    "body": "Changed commit from **[`b3efcbc`](https://github.com/sagemath/sagetrac-mirror/commit/b3efcbc8d4f8648d69563763a1f5b67db206457f)** to **[`dfa1ca6`](https://github.com/sagemath/sagetrac-mirror/commit/dfa1ca62fc17ee47212255dfeb615267db959268)**",
    "created_at": "2016-06-15T11:43:59Z",
    "formatter": "markdown",
    "issue": "https://github.com/sagemath/sage/issues/20710",
    "type": "issue_comment",
    "url": "https://github.com/sagemath/sage/issues/20710#issuecomment-299766",
    "user": "https://github.com/sagetrac-git"
}

Changed commit from b3efcbc to dfa1ca6


archive/issue_comments_299767.json:

{
    "body": "<div id=\"comment:21\" align=\"right\">comment:21</div>\n\nOK delivered early. Now if we could have some comments from @jpflori about the cygwin bits we could put that to review.",
    "created_at": "2016-06-15T11:45:15Z",
    "formatter": "markdown",
    "issue": "https://github.com/sagemath/sage/issues/20710",
    "type": "issue_comment",
    "url": "https://github.com/sagemath/sage/issues/20710#issuecomment-299767",
    "user": "https://github.com/kiwifb"
}
comment:21

OK delivered early. Now if we could have some comments from @jpflori about the cygwin bits we could put that to review.


archive/issue_comments_299768.json:

{
    "body": "<div id=\"comment:22\" align=\"right\">comment:22</div>\n\ncc-ing @embray and @sagetrac-gouezel as they might also have some thoughts about the cygwin portion.",
    "created_at": "2016-06-25T04:53:14Z",
    "formatter": "markdown",
    "issue": "https://github.com/sagemath/sage/issues/20710",
    "type": "issue_comment",
    "url": "https://github.com/sagemath/sage/issues/20710#issuecomment-299768",
    "user": "https://github.com/tscrim"
}
comment:22

cc-ing @embray and @sagetrac-gouezel as they might also have some thoughts about the cygwin portion.


archive/issue_comments_299769.json:

{
    "body": "<div id=\"comment:23\" align=\"right\">comment:23</div>\n\nAnd I forgot there is a failing doctest that needs to be looked at by a specialist at [comment:8](#comment%3A8) but I believe we already have someone copied. So this is to bring it back in focus.",
    "created_at": "2016-06-25T04:57:20Z",
    "formatter": "markdown",
    "issue": "https://github.com/sagemath/sage/issues/20710",
    "type": "issue_comment",
    "url": "https://github.com/sagemath/sage/issues/20710#issuecomment-299769",
    "user": "https://github.com/kiwifb"
}
comment:23

And I forgot there is a failing doctest that needs to be looked at by a specialist at comment:8 but I believe we already have someone copied. So this is to bring it back in focus.


archive/issue_comments_299770.json:

{
    "body": "Description changed:\n``````diff\n--- \n+++ \n@@ -1,8 +1,11 @@\n I suggest to upgrade `glpk` to the latest available version (4.60 at the time of writing). The current version has been superseded in Gentoo and the formatting of the output has changed.\n Here are the tasks for this upgrade:\n- 1) use `spkg-src` instead of patching `configure` directly\n- 2) some part of `have_error.patch` is now upstream\n- 3) clean up `SPKG.txt` and other files so they are reflecting the current reality more closely without obsolete historical comments \n+\n+1. use `spkg-src` instead of patching `configure` directly\n+\n+2. some part of `have_error.patch` is now upstream, but not every piece of that patch was accepted\n+\n+3. clean up `SPKG.txt` and other files so they are reflecting the current reality more closely without obsolete historical comments \n \n tarball:\n [http://www.lmona.de/files/sage/glpk-4.60.tar.bz2](http://www.lmona.de/files/sage/glpk-4.60.tar.bz2)\n``````\n",
    "created_at": "2016-06-25T06:50:01Z",
    "formatter": "markdown",
    "issue": "https://github.com/sagemath/sage/issues/20710",
    "type": "issue_comment",
    "url": "https://github.com/sagemath/sage/issues/20710#issuecomment-299770",
    "user": "https://github.com/jdemeyer"
}

Description changed:

--- 
+++ 
@@ -1,8 +1,11 @@
 I suggest to upgrade `glpk` to the latest available version (4.60 at the time of writing). The current version has been superseded in Gentoo and the formatting of the output has changed.
 Here are the tasks for this upgrade:
- 1) use `spkg-src` instead of patching `configure` directly
- 2) some part of `have_error.patch` is now upstream
- 3) clean up `SPKG.txt` and other files so they are reflecting the current reality more closely without obsolete historical comments 
+
+1. use `spkg-src` instead of patching `configure` directly
+
+2. some part of `have_error.patch` is now upstream, but not every piece of that patch was accepted
+
+3. clean up `SPKG.txt` and other files so they are reflecting the current reality more closely without obsolete historical comments 
 
 tarball:
 [http://www.lmona.de/files/sage/glpk-4.60.tar.bz2](http://www.lmona.de/files/sage/glpk-4.60.tar.bz2)

archive/issue_comments_299771.json:

{
    "body": "<div id=\"comment:25\" align=\"right\">comment:25</div>\n\nReplying to [@kiwifb](#comment%3A8):\n> Besides the error reporting there is one last doctest that require particular attention, possibly from a specialist \n> \n> ```\n> sage -t --long src/sage/numerical/backends/glpk_backend.pyx\n> **********************************************************************\n> File \"src/sage/numerical/backends/glpk_backend.pyx\", line 1000, in sage.numerical.backends.glpk_backend.GLPKBackend.solve\n> Failed example:\n>     p.solve() # rel tol 1\n> Exception raised:\n>     Traceback (most recent call last):\n>       File \"/home/fbissey/sandbox/git-fork/sage/local/lib/python2.7/site-packages/sage/doctest/forker.py\", line 498, in _run\n>         self.compile_and_execute(example, compiler, test.globs)\n>       File \"/home/fbissey/sandbox/git-fork/sage/local/lib/python2.7/site-packages/sage/doctest/forker.py\", line 861, in compile_and_execute\n>         exec(compiled, globs)\n>       File \"<doctest sage.numerical.backends.glpk_backend.GLPKBackend.solve[74]>\", line 1, in <module>\n>         p.solve() # rel tol 1\n>       File \"sage/numerical/mip.pyx\", line 2197, in sage.numerical.mip.MixedIntegerLinearProgram.solve (/home/fbissey/sandbox/git-fork/sage/src/build/cythonized/sage/numerical/mip.c:15434)\n>         self._backend.solve()\n>       File \"sage/numerical/backends/glpk_backend.pyx\", line 1040, in sage.numerical.backends.glpk_backend.GLPKBackend.solve (/home/fbissey/sandbox/git-fork/sage/src/build/cythonized/sage/numerical/backends/glpk_backend.cpp:8609)\n>         \n>     MIPSolverException: GLPK: The time limit has been exceeded\n> **********************************************************************\n> ```\n\nThis test tries to verify that no exception is raised when the optimization process is terminated early because of a set time limit.\nHowever, this is not actually true; no exception is raised only when GLPK has a feasible solution available when the time limit expires. \nHere (in version 4.60) it does not have a feasible solution available. I have not checked the details. \nOn my machine, increasing the time limit to 0.1 fixes this test. Needless to say, this is of course a brittle test.",
    "created_at": "2016-06-25T07:14:03Z",
    "formatter": "markdown",
    "issue": "https://github.com/sagemath/sage/issues/20710",
    "type": "issue_comment",
    "url": "https://github.com/sagemath/sage/issues/20710#issuecomment-299771",
    "user": "https://github.com/mkoeppe"
}
comment:25

Replying to @kiwifb:

Besides the error reporting there is one last doctest that require particular attention, possibly from a specialist

sage -t --long src/sage/numerical/backends/glpk_backend.pyx
**********************************************************************
File "src/sage/numerical/backends/glpk_backend.pyx", line 1000, in sage.numerical.backends.glpk_backend.GLPKBackend.solve
Failed example:
    p.solve() # rel tol 1
Exception raised:
    Traceback (most recent call last):
      File "/home/fbissey/sandbox/git-fork/sage/local/lib/python2.7/site-packages/sage/doctest/forker.py", line 498, in _run
        self.compile_and_execute(example, compiler, test.globs)
      File "/home/fbissey/sandbox/git-fork/sage/local/lib/python2.7/site-packages/sage/doctest/forker.py", line 861, in compile_and_execute
        exec(compiled, globs)
      File "<doctest sage.numerical.backends.glpk_backend.GLPKBackend.solve[74]>", line 1, in <module>
        p.solve() # rel tol 1
      File "sage/numerical/mip.pyx", line 2197, in sage.numerical.mip.MixedIntegerLinearProgram.solve (/home/fbissey/sandbox/git-fork/sage/src/build/cythonized/sage/numerical/mip.c:15434)
        self._backend.solve()
      File "sage/numerical/backends/glpk_backend.pyx", line 1040, in sage.numerical.backends.glpk_backend.GLPKBackend.solve (/home/fbissey/sandbox/git-fork/sage/src/build/cythonized/sage/numerical/backends/glpk_backend.cpp:8609)
        
    MIPSolverException: GLPK: The time limit has been exceeded
**********************************************************************

This test tries to verify that no exception is raised when the optimization process is terminated early because of a set time limit. However, this is not actually true; no exception is raised only when GLPK has a feasible solution available when the time limit expires. Here (in version 4.60) it does not have a feasible solution available. I have not checked the details. On my machine, increasing the time limit to 0.1 fixes this test. Needless to say, this is of course a brittle test.


archive/issue_comments_299772.json:

{
    "body": "<div id=\"comment:26\" align=\"right\">comment:26</div>\n\nI should add that if one increases the time limit, one should probably increase \"rel tol 1\" to \"rel tol 100\", because it might find a better solution than 1 on a fast machine (or in a newer GLPK version).",
    "created_at": "2016-06-25T07:28:57Z",
    "formatter": "markdown",
    "issue": "https://github.com/sagemath/sage/issues/20710",
    "type": "issue_comment",
    "url": "https://github.com/sagemath/sage/issues/20710#issuecomment-299772",
    "user": "https://github.com/mkoeppe"
}
comment:26

I should add that if one increases the time limit, one should probably increase "rel tol 1" to "rel tol 100", because it might find a better solution than 1 on a fast machine (or in a newer GLPK version).


archive/issue_comments_299773.json:

{
    "body": "<div id=\"comment:27\" align=\"right\">comment:27</div>\n\nFunky the last email I received from this ticket is when Jeroen changed the description :( - Adding myself as cc to avoid problems.\n\nUnless someone wants to write a new test I will make the changes suggested by Matthias to the failing doctest.",
    "created_at": "2016-06-26T21:13:20Z",
    "formatter": "markdown",
    "issue": "https://github.com/sagemath/sage/issues/20710",
    "type": "issue_comment",
    "url": "https://github.com/sagemath/sage/issues/20710#issuecomment-299773",
    "user": "https://github.com/kiwifb"
}
comment:27

Funky the last email I received from this ticket is when Jeroen changed the description :( - Adding myself as cc to avoid problems.

Unless someone wants to write a new test I will make the changes suggested by Matthias to the failing doctest.


archive/issue_comments_299774.json:

{
    "body": "<div id=\"comment:28\" align=\"right\">comment:28</div>\n\nReplying to [@kiwifb](#comment%3A27):\n> Unless someone wants to write a new test I will make the changes suggested by Matthias to the failing doctest.\n\nGo ahead. There's no fundamentally better way to write a new test for this \"feature\" of the interface.",
    "created_at": "2016-06-27T04:42:09Z",
    "formatter": "markdown",
    "issue": "https://github.com/sagemath/sage/issues/20710",
    "type": "issue_comment",
    "url": "https://github.com/sagemath/sage/issues/20710#issuecomment-299774",
    "user": "https://github.com/mkoeppe"
}
comment:28

Replying to @kiwifb:

Unless someone wants to write a new test I will make the changes suggested by Matthias to the failing doctest.

Go ahead. There's no fundamentally better way to write a new test for this "feature" of the interface.


archive/issue_comments_299775.json:

{
    "body": "<div id=\"comment:29\" align=\"right\">comment:29</div>\n\nI had to raise the time limit to 1.0, 0.1 was not enough. My machine is not especially slow so I think it may fail on other machines even with `1.0`. I am thinking of raising it higher.",
    "created_at": "2016-06-27T10:29:22Z",
    "formatter": "markdown",
    "issue": "https://github.com/sagemath/sage/issues/20710",
    "type": "issue_comment",
    "url": "https://github.com/sagemath/sage/issues/20710#issuecomment-299775",
    "user": "https://github.com/kiwifb"
}
comment:29

I had to raise the time limit to 1.0, 0.1 was not enough. My machine is not especially slow so I think it may fail on other machines even with 1.0. I am thinking of raising it higher.


archive/issue_comments_299776.json:

{
    "body": "Changed commit from **[`dfa1ca6`](https://github.com/sagemath/sagetrac-mirror/commit/dfa1ca62fc17ee47212255dfeb615267db959268)** to **[`c027aba`](https://github.com/sagemath/sagetrac-mirror/commit/c027aba847298d0adc61cfc8d85a421a1df1f5b6)**",
    "created_at": "2016-06-29T22:07:51Z",
    "formatter": "markdown",
    "issue": "https://github.com/sagemath/sage/issues/20710",
    "type": "issue_comment",
    "url": "https://github.com/sagemath/sage/issues/20710#issuecomment-299776",
    "user": "https://github.com/sagetrac-git"
}

Changed commit from dfa1ca6 to c027aba


archive/issue_comments_299777.json:

{
    "body": "<div id=\"comment:30\"></div>\n\nBranch pushed to git repo; I updated commit sha1. New commits:\n<table><tr><td><a href=\"https://github.com/sagemath/sagetrac-mirror/commit/595c31fcee6cd1a8cd909d91becd8656c75478a9\"><code>595c31f</code></a></td><td><code>Merge branch 'develop' into glpk_4.60</code></td></tr><tr><td><a href=\"https://github.com/sagemath/sagetrac-mirror/commit/c027aba847298d0adc61cfc8d85a421a1df1f5b6\"><code>c027aba</code></a></td><td><code>Fix last doctest for 4.60</code></td></tr></table>\n",
    "created_at": "2016-06-29T22:07:51Z",
    "formatter": "markdown",
    "issue": "https://github.com/sagemath/sage/issues/20710",
    "type": "issue_comment",
    "url": "https://github.com/sagemath/sage/issues/20710#issuecomment-299777",
    "user": "https://github.com/sagetrac-git"
}

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

595c31fMerge branch 'develop' into glpk_4.60
c027abaFix last doctest for 4.60

archive/issue_comments_299778.json:

{
    "body": "<div id=\"comment:31\" align=\"right\">comment:31</div>\n\nI get this (on Mac OS X):\n\n```\nFile \"src/sage/numerical/mip.pyx\", line 2477, in sage.numerical.mip.MixedIntegerLinearProgram.number_of_variables.get_backend\nFailed example:\n    p.solve()  # rel tol 1e-5\nExpected:\n    GLPK Simplex Optimizer, v4.60\n    2 rows, 2 columns, 4 non-zeros\n    *     0: obj =   7.000000000e+00  infeas =  0.000e+00 (0)\n    *     2: obj =   9.400000000e+00  infeas =  0.000e+00 (0)\n    OPTIMAL LP SOLUTION FOUND\n    9.4\nGot:\n    GLPK Simplex Optimizer, v4.60\n    2 rows, 2 columns, 4 non-zeros\n    *     0: obj =   7.000000000e+00 inf =   0.000e+00 (2)\n    *     2: obj =   9.400000000e+00 inf =   0.000e+00 (0)\n    OPTIMAL LP SOLUTION FOUND\n    9.399999999999999\nTolerance exceeded in 1 of 13:\n    0 vs 2, tolerance inf > 1e-05\n```\nShould this ticket be in `needs_review`?)",
    "created_at": "2016-07-07T22:26:07Z",
    "formatter": "markdown",
    "issue": "https://github.com/sagemath/sage/issues/20710",
    "type": "issue_comment",
    "url": "https://github.com/sagemath/sage/issues/20710#issuecomment-299778",
    "user": "https://github.com/mkoeppe"
}
comment:31

I get this (on Mac OS X):

File "src/sage/numerical/mip.pyx", line 2477, in sage.numerical.mip.MixedIntegerLinearProgram.number_of_variables.get_backend
Failed example:
    p.solve()  # rel tol 1e-5
Expected:
    GLPK Simplex Optimizer, v4.60
    2 rows, 2 columns, 4 non-zeros
    *     0: obj =   7.000000000e+00  infeas =  0.000e+00 (0)
    *     2: obj =   9.400000000e+00  infeas =  0.000e+00 (0)
    OPTIMAL LP SOLUTION FOUND
    9.4
Got:
    GLPK Simplex Optimizer, v4.60
    2 rows, 2 columns, 4 non-zeros
    *     0: obj =   7.000000000e+00 inf =   0.000e+00 (2)
    *     2: obj =   9.400000000e+00 inf =   0.000e+00 (0)
    OPTIMAL LP SOLUTION FOUND
    9.399999999999999
Tolerance exceeded in 1 of 13:
    0 vs 2, tolerance inf > 1e-05

Should this ticket be in needs_review?)


archive/issue_comments_299779.json:

{
    "body": "<div id=\"comment:32\" align=\"right\">comment:32</div>\n\nWhat does that `(2)` instead of `(0)` means? I am guessing we should go to review but we may want to fix this first.\ncygwin people will have to catch later, although part of me is convinced that I shouldn't add anything at all for cygwin.",
    "created_at": "2016-07-07T22:31:38Z",
    "formatter": "markdown",
    "issue": "https://github.com/sagemath/sage/issues/20710",
    "type": "issue_comment",
    "url": "https://github.com/sagemath/sage/issues/20710#issuecomment-299779",
    "user": "https://github.com/kiwifb"
}
comment:32

What does that (2) instead of (0) means? I am guessing we should go to review but we may want to fix this first. cygwin people will have to catch later, although part of me is convinced that I shouldn't add anything at all for cygwin.


archive/issue_comments_299780.json:

{
    "body": "<div id=\"comment:33\" align=\"right\">comment:33</div>\n\nOh I see there are other differences. I need to check...",
    "created_at": "2016-07-07T23:14:22Z",
    "formatter": "markdown",
    "issue": "https://github.com/sagemath/sage/issues/20710",
    "type": "issue_comment",
    "url": "https://github.com/sagemath/sage/issues/20710#issuecomment-299780",
    "user": "https://github.com/kiwifb"
}
comment:33

Oh I see there are other differences. I need to check...


archive/issue_comments_299781.json:

{
    "body": "<div id=\"comment:34\" align=\"right\">comment:34</div>\n\nI definitely didn't correct that one properly even on linux. Fix coming.",
    "created_at": "2016-07-07T23:16:27Z",
    "formatter": "markdown",
    "issue": "https://github.com/sagemath/sage/issues/20710",
    "type": "issue_comment",
    "url": "https://github.com/sagemath/sage/issues/20710#issuecomment-299781",
    "user": "https://github.com/kiwifb"
}
comment:34

I definitely didn't correct that one properly even on linux. Fix coming.


archive/issue_comments_299782.json:

{
    "body": "Changed commit from **[`c027aba`](https://github.com/sagemath/sagetrac-mirror/commit/c027aba847298d0adc61cfc8d85a421a1df1f5b6)** to **[`b8aba3a`](https://github.com/sagemath/sagetrac-mirror/commit/b8aba3a6100241f7e63c9cd5b49579119f97ed2a)**",
    "created_at": "2016-07-07T23:21:18Z",
    "formatter": "markdown",
    "issue": "https://github.com/sagemath/sage/issues/20710",
    "type": "issue_comment",
    "url": "https://github.com/sagemath/sage/issues/20710#issuecomment-299782",
    "user": "https://github.com/sagetrac-git"
}

Changed commit from c027aba to b8aba3a


archive/issue_comments_299783.json:

{
    "body": "<div id=\"comment:35\"></div>\n\nBranch pushed to git repo; I updated commit sha1. New commits:\n<table><tr><td><a href=\"https://github.com/sagemath/sagetrac-mirror/commit/b8aba3a6100241f7e63c9cd5b49579119f97ed2a\"><code>b8aba3a</code></a></td><td><code>properly fix doctest mip.pyx</code></td></tr></table>\n",
    "created_at": "2016-07-07T23:21:18Z",
    "formatter": "markdown",
    "issue": "https://github.com/sagemath/sage/issues/20710",
    "type": "issue_comment",
    "url": "https://github.com/sagemath/sage/issues/20710#issuecomment-299783",
    "user": "https://github.com/sagetrac-git"
}

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

b8aba3aproperly fix doctest mip.pyx

archive/issue_events_289030.json:

{
    "actor": "https://github.com/kiwifb",
    "created_at": "2016-07-07T23:22:05Z",
    "event": "labeled",
    "issue": "https://github.com/sagemath/sage/issues/20710",
    "label": "https://github.com/sagemath/sage/labels/needs%20review",
    "label_color": "7fff00",
    "label_name": "needs review",
    "label_text_color": "ffffff",
    "type": "issue_event",
    "url": "https://github.com/sagemath/sage/issues/20710#event-289030"
}

archive/issue_comments_299784.json:

{
    "body": "<div id=\"comment:36\" align=\"right\">comment:36</div>\n\nAnd now putting to review.",
    "created_at": "2016-07-07T23:22:05Z",
    "formatter": "markdown",
    "issue": "https://github.com/sagemath/sage/issues/20710",
    "type": "issue_comment",
    "url": "https://github.com/sagemath/sage/issues/20710#issuecomment-299784",
    "user": "https://github.com/kiwifb"
}
comment:36

And now putting to review.


archive/issue_comments_299785.json:

{
    "body": "Reviewer: **Matthias Koeppe**",
    "created_at": "2016-07-07T23:36:25Z",
    "formatter": "markdown",
    "issue": "https://github.com/sagemath/sage/issues/20710",
    "type": "issue_comment",
    "url": "https://github.com/sagemath/sage/issues/20710#issuecomment-299785",
    "user": "https://github.com/mkoeppe"
}

Reviewer: Matthias Koeppe


archive/issue_events_289031.json:

{
    "actor": "https://github.com/mkoeppe",
    "created_at": "2016-07-07T23:36:25Z",
    "event": "unlabeled",
    "issue": "https://github.com/sagemath/sage/issues/20710",
    "label": "https://github.com/sagemath/sage/labels/needs%20review",
    "label_color": "7fff00",
    "label_name": "needs review",
    "label_text_color": "ffffff",
    "type": "issue_event",
    "url": "https://github.com/sagemath/sage/issues/20710#event-289031"
}

archive/issue_events_289032.json:

{
    "actor": "https://github.com/mkoeppe",
    "created_at": "2016-07-07T23:36:25Z",
    "event": "labeled",
    "issue": "https://github.com/sagemath/sage/issues/20710",
    "label": "https://github.com/sagemath/sage/labels/positive%20review",
    "label_color": "dfffc0",
    "label_name": "positive review",
    "label_text_color": "ffffff",
    "type": "issue_event",
    "url": "https://github.com/sagemath/sage/issues/20710#event-289032"
}

archive/issue_comments_299786.json:

{
    "body": "<div id=\"comment:38\" align=\"right\">comment:38</div>\n\n\n```\nsage -t --long src/sage/libs/glpk/error.pyx\n**********************************************************************\nFile \"src/sage/libs/glpk/error.pyx\", line 98, in sage.libs.glpk.error.setup_glpk_error_handler\nFailed example:\n    res = p.solve()\nExpected:\n          0: obj = ...\nGot:\n    <BLANKLINE>\n**********************************************************************\n1 item had failures:\n   1 of  11 in sage.libs.glpk.error.setup_glpk_error_handler\n    [12 tests, 1 failure, 1.34 s]\n```",
    "created_at": "2016-07-09T07:46:18Z",
    "formatter": "markdown",
    "issue": "https://github.com/sagemath/sage/issues/20710",
    "type": "issue_comment",
    "url": "https://github.com/sagemath/sage/issues/20710#issuecomment-299786",
    "user": "https://github.com/vbraun"
}
comment:38
sage -t --long src/sage/libs/glpk/error.pyx
**********************************************************************
File "src/sage/libs/glpk/error.pyx", line 98, in sage.libs.glpk.error.setup_glpk_error_handler
Failed example:
    res = p.solve()
Expected:
          0: obj = ...
Got:
    <BLANKLINE>
**********************************************************************
1 item had failures:
   1 of  11 in sage.libs.glpk.error.setup_glpk_error_handler
    [12 tests, 1 failure, 1.34 s]

archive/issue_events_289033.json:

{
    "actor": "https://github.com/vbraun",
    "created_at": "2016-07-09T07:46:18Z",
    "event": "unlabeled",
    "issue": "https://github.com/sagemath/sage/issues/20710",
    "label": "https://github.com/sagemath/sage/labels/positive%20review",
    "label_color": "dfffc0",
    "label_name": "positive review",
    "label_text_color": "ffffff",
    "type": "issue_event",
    "url": "https://github.com/sagemath/sage/issues/20710#event-289033"
}

archive/issue_events_289034.json:

{
    "actor": "https://github.com/vbraun",
    "created_at": "2016-07-09T07:46:18Z",
    "event": "labeled",
    "issue": "https://github.com/sagemath/sage/issues/20710",
    "label": "https://github.com/sagemath/sage/labels/needs%20work",
    "label_color": "ffff00",
    "label_name": "needs work",
    "label_text_color": "ffffff",
    "type": "issue_event",
    "url": "https://github.com/sagemath/sage/issues/20710#event-289034"
}

archive/issue_comments_299787.json:

{
    "body": "<div id=\"comment:39\" align=\"right\">comment:39</div>\n\nThat's the test for #20832. I had forgotten about that one. It is very curious, when run at the sage prompt it gives the expected result but in the doctest we have that blank line. And of course it didn't happen with the previous version of `glpk`. Any idea Jeroen?",
    "created_at": "2016-07-09T07:52:14Z",
    "formatter": "markdown",
    "issue": "https://github.com/sagemath/sage/issues/20710",
    "type": "issue_comment",
    "url": "https://github.com/sagemath/sage/issues/20710#issuecomment-299787",
    "user": "https://github.com/kiwifb"
}
comment:39

That's the test for #20832. I had forgotten about that one. It is very curious, when run at the sage prompt it gives the expected result but in the doctest we have that blank line. And of course it didn't happen with the previous version of glpk. Any idea Jeroen?


archive/issue_comments_299788.json:

{
    "body": "<div id=\"comment:40\" align=\"right\">comment:40</div>\n\nCould you merge the current master?",
    "created_at": "2016-07-10T15:03:26Z",
    "formatter": "markdown",
    "issue": "https://github.com/sagemath/sage/issues/20710",
    "type": "issue_comment",
    "url": "https://github.com/sagemath/sage/issues/20710#issuecomment-299788",
    "user": "https://github.com/mkoeppe"
}
comment:40

Could you merge the current master?


archive/issue_comments_299789.json:

{
    "body": "<div id=\"comment:41\"></div>\n\nBranch pushed to git repo; I updated commit sha1. New commits:\n<table><tr><td><a href=\"https://github.com/sagemath/sagetrac-mirror/commit/5654e49c2a02f9b3407b9249cdc4596bef95d776\"><code>5654e49</code></a></td><td><code>Merge branch 'develop' into glpk_4.60</code></td></tr></table>\n",
    "created_at": "2016-07-10T20:11:39Z",
    "formatter": "markdown",
    "issue": "https://github.com/sagemath/sage/issues/20710",
    "type": "issue_comment",
    "url": "https://github.com/sagemath/sage/issues/20710#issuecomment-299789",
    "user": "https://github.com/sagetrac-git"
}

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

5654e49Merge branch 'develop' into glpk_4.60

archive/issue_comments_299790.json:

{
    "body": "Changed commit from **[`b8aba3a`](https://github.com/sagemath/sagetrac-mirror/commit/b8aba3a6100241f7e63c9cd5b49579119f97ed2a)** to **[`5654e49`](https://github.com/sagemath/sagetrac-mirror/commit/5654e49c2a02f9b3407b9249cdc4596bef95d776)**",
    "created_at": "2016-07-10T20:11:39Z",
    "formatter": "markdown",
    "issue": "https://github.com/sagemath/sage/issues/20710",
    "type": "issue_comment",
    "url": "https://github.com/sagemath/sage/issues/20710#issuecomment-299790",
    "user": "https://github.com/sagetrac-git"
}

Changed commit from b8aba3a to 5654e49


archive/issue_comments_299791.json:

{
    "body": "<div id=\"comment:42\" align=\"right\">comment:42</div>\n\nReplying to [@mkoeppe](#comment%3A40):\n> Could you merge the current master?\n\nDone.",
    "created_at": "2016-07-10T20:21:45Z",
    "formatter": "markdown",
    "issue": "https://github.com/sagemath/sage/issues/20710",
    "type": "issue_comment",
    "url": "https://github.com/sagemath/sage/issues/20710#issuecomment-299791",
    "user": "https://github.com/kiwifb"
}
comment:42

Replying to @mkoeppe:

Could you merge the current master?

Done.


archive/issue_comments_299792.json:

{
    "body": "Changed dependencies from **#20832** to none",
    "created_at": "2016-10-03T08:03:32Z",
    "formatter": "markdown",
    "issue": "https://github.com/sagemath/sage/issues/20710",
    "type": "issue_comment",
    "url": "https://github.com/sagemath/sage/issues/20710#issuecomment-299792",
    "user": "https://github.com/jdemeyer"
}

Changed dependencies from #20832 to none


archive/issue_comments_299793.json:

{
    "body": "Changed branch from **[u/fbissey/glpk_4.60](https://github.com/sagemath/sagetrac-mirror/tree/u/fbissey/glpk_4.60)** to **[u/jdemeyer/glpk_4.60](https://github.com/sagemath/sagetrac-mirror/tree/u/jdemeyer/glpk_4.60)**",
    "created_at": "2016-10-03T08:05:22Z",
    "formatter": "markdown",
    "issue": "https://github.com/sagemath/sage/issues/20710",
    "type": "issue_comment",
    "url": "https://github.com/sagemath/sage/issues/20710#issuecomment-299793",
    "user": "https://github.com/jdemeyer"
}

Changed branch from u/fbissey/glpk_4.60 to u/jdemeyer/glpk_4.60


archive/issue_comments_299794.json:

{
    "body": "Description changed:\n``````diff\n--- \n+++ \n@@ -7,5 +7,4 @@\n \n 3. clean up `SPKG.txt` and other files so they are reflecting the current reality more closely without obsolete historical comments \n \n-tarball:\n-[http://www.lmona.de/files/sage/glpk-4.60.tar.bz2](http://www.lmona.de/files/sage/glpk-4.60.tar.bz2)\n+**Tarball**: ftp://ftp.gnu.org/gnu/glpk/glpk-4.60.tar.gz\n``````\n",
    "created_at": "2016-10-03T08:06:37Z",
    "formatter": "markdown",
    "issue": "https://github.com/sagemath/sage/issues/20710",
    "type": "issue_comment",
    "url": "https://github.com/sagemath/sage/issues/20710#issuecomment-299794",
    "user": "https://github.com/jdemeyer"
}

Description changed:

--- 
+++ 
@@ -7,5 +7,4 @@
 
 3. clean up `SPKG.txt` and other files so they are reflecting the current reality more closely without obsolete historical comments 
 
-tarball:
-[http://www.lmona.de/files/sage/glpk-4.60.tar.bz2](http://www.lmona.de/files/sage/glpk-4.60.tar.bz2)
+**Tarball**: ftp://ftp.gnu.org/gnu/glpk/glpk-4.60.tar.gz

archive/issue_comments_299795.json:

{
    "body": "<div id=\"comment:45\" align=\"right\">comment:45</div>\n\nBetter use an official upstream tarball instead of a repackaged one.\n\n---\nNew commits:\n<table><tr><td><a href=\"https://github.com/sagemath/sagetrac-mirror/commit/adec9f81fcb1d6235df98a27bd66975abac514d5\"><code>adec9f8</code></a></td><td><code>first shot at spkg-src for glpk</code></td></tr><tr><td><a href=\"https://github.com/sagemath/sagetrac-mirror/commit/1ee3a1f37133cfc79bb4d3495d53e811ae5d9c45\"><code>1ee3a1f</code></a></td><td><code>updating glpk to 4.60 - first pass</code></td></tr><tr><td><a href=\"https://github.com/sagemath/sagetrac-mirror/commit/3d2538e8490f3465b7c7a0c7b36d11dfab3f82c5\"><code>3d2538e</code></a></td><td><code>Small improvements in spkg-src</code></td></tr><tr><td><a href=\"https://github.com/sagemath/sagetrac-mirror/commit/0b36c8b70c43a68cda528cc66a1c38de14b78127\"><code>0b36c8b</code></a></td><td><code>fix doctests</code></td></tr><tr><td><a href=\"https://github.com/sagemath/sagetrac-mirror/commit/9cf4d4fccbbbeb62ffb383a01d363acbf00be031\"><code>9cf4d4f</code></a></td><td><code>Add patch for error recovery see #20710 comment 18 for detailled explanation.</code></td></tr><tr><td><a href=\"https://github.com/sagemath/sagetrac-mirror/commit/f7ba9d009063ab737b51dc2cc6ebd0f5589aab01\"><code>f7ba9d0</code></a></td><td><code>Fix last doctest for 4.60</code></td></tr><tr><td><a href=\"https://github.com/sagemath/sagetrac-mirror/commit/28ae533fbf946cf85bcd98bb3f2fc7e3ffcf3b35\"><code>28ae533</code></a></td><td><code>properly fix doctest mip.pyx</code></td></tr></table>\n",
    "created_at": "2016-10-03T08:06:37Z",
    "formatter": "markdown",
    "issue": "https://github.com/sagemath/sage/issues/20710",
    "type": "issue_comment",
    "url": "https://github.com/sagemath/sage/issues/20710#issuecomment-299795",
    "user": "https://github.com/jdemeyer"
}
comment:45

Better use an official upstream tarball instead of a repackaged one.


New commits:

adec9f8first shot at spkg-src for glpk
1ee3a1fupdating glpk to 4.60 - first pass
3d2538eSmall improvements in spkg-src
0b36c8bfix doctests
9cf4d4fAdd patch for error recovery see #20710 comment 18 for detailled explanation.
f7ba9d0Fix last doctest for 4.60
28ae533properly fix doctest mip.pyx

archive/issue_comments_299796.json:

{
    "body": "Changed commit from **[`5654e49`](https://github.com/sagemath/sagetrac-mirror/commit/5654e49c2a02f9b3407b9249cdc4596bef95d776)** to **[`28ae533`](https://github.com/sagemath/sagetrac-mirror/commit/28ae533fbf946cf85bcd98bb3f2fc7e3ffcf3b35)**",
    "created_at": "2016-10-03T08:06:37Z",
    "formatter": "markdown",
    "issue": "https://github.com/sagemath/sage/issues/20710",
    "type": "issue_comment",
    "url": "https://github.com/sagemath/sage/issues/20710#issuecomment-299796",
    "user": "https://github.com/jdemeyer"
}

Changed commit from 5654e49 to 28ae533


archive/issue_events_289035.json:

{
    "actor": "https://github.com/jdemeyer",
    "created_at": "2016-10-03T08:08:48Z",
    "event": "demilestoned",
    "issue": "https://github.com/sagemath/sage/issues/20710",
    "milestone_number": null,
    "milestone_title": "sage-7.3",
    "type": "issue_event",
    "url": "https://github.com/sagemath/sage/issues/20710#event-289035"
}

archive/issue_events_289036.json:

{
    "actor": "https://github.com/jdemeyer",
    "created_at": "2016-10-03T08:08:48Z",
    "event": "milestoned",
    "issue": "https://github.com/sagemath/sage/issues/20710",
    "milestone_number": null,
    "milestone_title": "sage-7.5",
    "type": "issue_event",
    "url": "https://github.com/sagemath/sage/issues/20710#event-289036"
}

archive/issue_comments_299797.json:

{
    "body": "<div id=\"comment:46\" align=\"right\">comment:46</div>\n\nI see. We need patches to the autoconf sources. So yes, we need a custom tarball.",
    "created_at": "2016-10-03T08:08:48Z",
    "formatter": "markdown",
    "issue": "https://github.com/sagemath/sage/issues/20710",
    "type": "issue_comment",
    "url": "https://github.com/sagemath/sage/issues/20710#issuecomment-299797",
    "user": "https://github.com/jdemeyer"
}
comment:46

I see. We need patches to the autoconf sources. So yes, we need a custom tarball.


archive/issue_comments_299798.json:

{
    "body": "Description changed:\n``````diff\n--- \n+++ \n@@ -7,4 +7,4 @@\n \n 3. clean up `SPKG.txt` and other files so they are reflecting the current reality more closely without obsolete historical comments \n \n-**Tarball**: ftp://ftp.gnu.org/gnu/glpk/glpk-4.60.tar.gz\n+**Tarball**: http://www.lmona.de/files/sage/glpk-4.60.tar.bz2 (generated with `spkg-src`)\n``````\n",
    "created_at": "2016-10-03T08:08:48Z",
    "formatter": "markdown",
    "issue": "https://github.com/sagemath/sage/issues/20710",
    "type": "issue_comment",
    "url": "https://github.com/sagemath/sage/issues/20710#issuecomment-299798",
    "user": "https://github.com/jdemeyer"
}

Description changed:

--- 
+++ 
@@ -7,4 +7,4 @@
 
 3. clean up `SPKG.txt` and other files so they are reflecting the current reality more closely without obsolete historical comments 
 
-**Tarball**: ftp://ftp.gnu.org/gnu/glpk/glpk-4.60.tar.gz
+**Tarball**: http://www.lmona.de/files/sage/glpk-4.60.tar.bz2 (generated with `spkg-src`)

archive/issue_comments_299799.json:

{
    "body": "<div id=\"comment:47\" align=\"right\">comment:47</div>\n\nReplying to [@jdemeyer](#comment%3A46):\n> I see. We need patches to the autoconf sources. So yes, we need a custom tarball.\n\nThank you, I prefer repacking rather than \"custom\" patches to configure, Makefile.in and al. Of course, I would prefer running autoreconf on the spot from a pristine tarball but that trade off has already been sold in sagemath.\n\nAny ideas what is going on with the error reporting code?",
    "created_at": "2016-10-03T08:12:18Z",
    "formatter": "markdown",
    "issue": "https://github.com/sagemath/sage/issues/20710",
    "type": "issue_comment",
    "url": "https://github.com/sagemath/sage/issues/20710#issuecomment-299799",
    "user": "https://github.com/kiwifb"
}
comment:47

Replying to @jdemeyer:

I see. We need patches to the autoconf sources. So yes, we need a custom tarball.

Thank you, I prefer repacking rather than "custom" patches to configure, Makefile.in and al. Of course, I would prefer running autoreconf on the spot from a pristine tarball but that trade off has already been sold in sagemath.

Any ideas what is going on with the error reporting code?


archive/issue_comments_299800.json:

{
    "body": "<div id=\"comment:48\" align=\"right\">comment:48</div>\n\nReplying to [@kiwifb](#comment%3A47):\n> Any ideas what is going on with the error reporting code?\n\nI'm just building this branch now...",
    "created_at": "2016-10-03T08:16:47Z",
    "formatter": "markdown",
    "issue": "https://github.com/sagemath/sage/issues/20710",
    "type": "issue_comment",
    "url": "https://github.com/sagemath/sage/issues/20710#issuecomment-299800",
    "user": "https://github.com/jdemeyer"
}
comment:48

Replying to @kiwifb:

Any ideas what is going on with the error reporting code?

I'm just building this branch now...


archive/issue_comments_299801.json:

{
    "body": "<div id=\"comment:49\"></div>\n\nBranch pushed to git repo; I updated commit sha1. New commits:\n<table><tr><td><a href=\"https://github.com/sagemath/sagetrac-mirror/commit/3e8450b13d5c5353cd45d5881acf59994cf28b6b\"><code>3e8450b</code></a></td><td><code>Fix error recovery patch</code></td></tr></table>\n",
    "created_at": "2016-10-03T13:48:50Z",
    "formatter": "markdown",
    "issue": "https://github.com/sagemath/sage/issues/20710",
    "type": "issue_comment",
    "url": "https://github.com/sagemath/sage/issues/20710#issuecomment-299801",
    "user": "https://github.com/sagetrac-git"
}

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

3e8450bFix error recovery patch

archive/issue_comments_299802.json:

{
    "body": "Changed commit from **[`28ae533`](https://github.com/sagemath/sagetrac-mirror/commit/28ae533fbf946cf85bcd98bb3f2fc7e3ffcf3b35)** to **[`3e8450b`](https://github.com/sagemath/sagetrac-mirror/commit/3e8450b13d5c5353cd45d5881acf59994cf28b6b)**",
    "created_at": "2016-10-03T13:48:50Z",
    "formatter": "markdown",
    "issue": "https://github.com/sagemath/sage/issues/20710",
    "type": "issue_comment",
    "url": "https://github.com/sagemath/sage/issues/20710#issuecomment-299802",
    "user": "https://github.com/sagetrac-git"
}

Changed commit from 28ae533 to 3e8450b


archive/issue_events_289037.json:

{
    "actor": "https://github.com/jdemeyer",
    "created_at": "2016-10-03T13:49:30Z",
    "event": "unlabeled",
    "issue": "https://github.com/sagemath/sage/issues/20710",
    "label": "https://github.com/sagemath/sage/labels/needs%20work",
    "label_color": "ffff00",
    "label_name": "needs work",
    "label_text_color": "ffffff",
    "type": "issue_event",
    "url": "https://github.com/sagemath/sage/issues/20710#event-289037"
}

archive/issue_events_289038.json:

{
    "actor": "https://github.com/jdemeyer",
    "created_at": "2016-10-03T13:49:30Z",
    "event": "labeled",
    "issue": "https://github.com/sagemath/sage/issues/20710",
    "label": "https://github.com/sagemath/sage/labels/positive%20review",
    "label_color": "dfffc0",
    "label_name": "positive review",
    "label_text_color": "ffffff",
    "type": "issue_event",
    "url": "https://github.com/sagemath/sage/issues/20710#event-289038"
}

archive/issue_comments_299803.json:

{
    "body": "<div id=\"comment:50\" align=\"right\">comment:50</div>\n\nTrivial fix: upstream apparently uses `err_st` instead of `err_file`.",
    "created_at": "2016-10-03T13:49:30Z",
    "formatter": "markdown",
    "issue": "https://github.com/sagemath/sage/issues/20710",
    "type": "issue_comment",
    "url": "https://github.com/sagemath/sage/issues/20710#issuecomment-299803",
    "user": "https://github.com/jdemeyer"
}
comment:50

Trivial fix: upstream apparently uses err_st instead of err_file.


archive/issue_events_289039.json:

{
    "actor": "https://github.com/jdemeyer",
    "created_at": "2016-10-03T13:50:07Z",
    "event": "unlabeled",
    "issue": "https://github.com/sagemath/sage/issues/20710",
    "label": "https://github.com/sagemath/sage/labels/positive%20review",
    "label_color": "dfffc0",
    "label_name": "positive review",
    "label_text_color": "ffffff",
    "type": "issue_event",
    "url": "https://github.com/sagemath/sage/issues/20710#event-289039"
}

archive/issue_events_289040.json:

{
    "actor": "https://github.com/jdemeyer",
    "created_at": "2016-10-03T13:50:07Z",
    "event": "labeled",
    "issue": "https://github.com/sagemath/sage/issues/20710",
    "label": "https://github.com/sagemath/sage/labels/needs%20review",
    "label_color": "7fff00",
    "label_name": "needs review",
    "label_text_color": "ffffff",
    "type": "issue_event",
    "url": "https://github.com/sagemath/sage/issues/20710#event-289040"
}

archive/issue_comments_299804.json:

{
    "body": "<div id=\"comment:52\" align=\"right\">comment:52</div>\n\nI'll test that ASAP.",
    "created_at": "2016-10-03T19:03:26Z",
    "formatter": "markdown",
    "issue": "https://github.com/sagemath/sage/issues/20710",
    "type": "issue_comment",
    "url": "https://github.com/sagemath/sage/issues/20710#issuecomment-299804",
    "user": "https://github.com/kiwifb"
}
comment:52

I'll test that ASAP.


archive/issue_comments_299805.json:

{
    "body": "<div id=\"comment:53\" align=\"right\">comment:53</div>\n\nSolves the problem here\n\n```\nsage -t --long /usr/lib64/python2.7/site-packages/sage/libs/glpk/error.pyx\n    [12 tests, 1.68 s]\n----------------------------------------------------------------------\nAll tests passed!\n```",
    "created_at": "2016-10-03T19:21:48Z",
    "formatter": "markdown",
    "issue": "https://github.com/sagemath/sage/issues/20710",
    "type": "issue_comment",
    "url": "https://github.com/sagemath/sage/issues/20710#issuecomment-299805",
    "user": "https://github.com/kiwifb"
}
comment:53

Solves the problem here

sage -t --long /usr/lib64/python2.7/site-packages/sage/libs/glpk/error.pyx
    [12 tests, 1.68 s]
----------------------------------------------------------------------
All tests passed!

archive/issue_events_289041.json:

{
    "actor": "https://github.com/kiwifb",
    "created_at": "2016-10-03T19:21:48Z",
    "event": "unlabeled",
    "issue": "https://github.com/sagemath/sage/issues/20710",
    "label": "https://github.com/sagemath/sage/labels/needs%20review",
    "label_color": "7fff00",
    "label_name": "needs review",
    "label_text_color": "ffffff",
    "type": "issue_event",
    "url": "https://github.com/sagemath/sage/issues/20710#event-289041"
}

archive/issue_events_289042.json:

{
    "actor": "https://github.com/kiwifb",
    "created_at": "2016-10-03T19:21:48Z",
    "event": "labeled",
    "issue": "https://github.com/sagemath/sage/issues/20710",
    "label": "https://github.com/sagemath/sage/labels/positive%20review",
    "label_color": "dfffc0",
    "label_name": "positive review",
    "label_text_color": "ffffff",
    "type": "issue_event",
    "url": "https://github.com/sagemath/sage/issues/20710#event-289042"
}

archive/issue_events_289043.json:

{
    "actor": "https://github.com/vbraun",
    "created_at": "2016-10-08T08:43:21Z",
    "event": "unlabeled",
    "issue": "https://github.com/sagemath/sage/issues/20710",
    "label": "https://github.com/sagemath/sage/labels/positive%20review",
    "label_color": "dfffc0",
    "label_name": "positive review",
    "label_text_color": "ffffff",
    "type": "issue_event",
    "url": "https://github.com/sagemath/sage/issues/20710#event-289043"
}

archive/issue_events_289044.json:

{
    "actor": "https://github.com/vbraun",
    "created_at": "2016-10-08T08:43:21Z",
    "event": "labeled",
    "issue": "https://github.com/sagemath/sage/issues/20710",
    "label": "https://github.com/sagemath/sage/labels/needs%20work",
    "label_color": "ffff00",
    "label_name": "needs work",
    "label_text_color": "ffffff",
    "type": "issue_event",
    "url": "https://github.com/sagemath/sage/issues/20710#event-289044"
}

archive/issue_comments_299806.json:

{
    "body": "<div id=\"comment:54\" align=\"right\">comment:54</div>\n\n\n```\n5058sage -t --long src/sage/numerical/backends/glpk_backend.pyx\n5059**********************************************************************\n5060File \"src/sage/numerical/backends/glpk_backend.pyx\", line 912, in sage.numerical.backends.glpk_backend.GLPKBackend.solve\n5061Failed example:\n5062    lp.solve()\n5063Expected:\n5064    2.0\n5065Got:\n5066    glp_exact: 3 rows, 2 columns, 6 non-zeros\n5067    GNU MP bignum library is being used\n5068    *     2:   objval =                      2   (0)\n5069    *     2:   objval =                      2   (0)\n5070    OPTIMAL SOLUTION FOUND\n5071    2.0\n5072**********************************************************************\n5073File \"src/sage/numerical/backends/glpk_backend.pyx\", line 944, in sage.numerical.backends.glpk_backend.GLPKBackend.solve\n5074Failed example:\n5075    lp.solve() == test # yes, we want an exact comparison here\n5076Expected:\n5077    True\n5078Got:\n5079    glp_exact: 1 rows, 1 columns, 1 non-zeros\n5080    GNU MP bignum library is being used\n5081    *     0:   objval =                      0   (0)\n5082    *     1:   objval =   9.00719925474095e+15   (0)\n5083    OPTIMAL SOLUTION FOUND\n5084    True\n5085**********************************************************************\n5086File \"src/sage/numerical/backends/glpk_backend.pyx\", line 1578, in sage.numerical.backends.glpk_backend.GLPKBackend.write_lp\n5087Failed example:\n5088    p.write_lp(os.path.join(SAGE_TMP, \"lp_problem.lp\"))\n5089Expected nothing\n5090Got:\n5091    Writing problem data to '/Users/buildslave-sage/slave/sage_git/dot_sage/temp/osx/98275/lp_problem.lp'...\n5092    9 lines were written\n5093**********************************************************************\n5094File \"src/sage/numerical/backends/glpk_backend.pyx\", line 1598, in sage.numerical.backends.glpk_backend.GLPKBackend.write_mps\n5095Failed example:\n5096    p.write_mps(os.path.join(SAGE_TMP, \"lp_problem.mps\"), 2)\n5097Expected nothing\n5098Got:\n5099    Writing problem data to '/Users/buildslave-sage/slave/sage_git/dot_sage/temp/osx/98275/lp_problem.mps'...\n5100    17 records were written\n5101**********************************************************************\n5102File \"src/sage/numerical/backends/glpk_backend.pyx\", line 2228, in sage.numerical.backends.glpk_backend.GLPKBackend.print_ranges\n5103Failed example:\n5104    p.print_ranges()\n5105Expected:\n5106    1\n5107Got:\n5108    glp_print_ranges: optimal basic solution required\n5109    1\n5110**********************************************************************\n5111File \"src/sage/numerical/backends/glpk_backend.pyx\", line 2232, in sage.numerical.backends.glpk_backend.GLPKBackend.print_ranges\n5112Failed example:\n5113    p.print_ranges()\n5114Expected:\n5115    GLPK ... - SENSITIVITY ANALYSIS REPORT                                                                         Page   1\n5116    <BLANKLINE>\n5117    Problem:\n5118    Objective:  7.5 (MAXimum)\n5119    <BLANKLINE>\n5120       No. Row name     St      Activity         Slack   Lower bound       Activity      Obj coef  Obj value at Limiting\n5121                                              Marginal   Upper bound          range         range   break point variable\n5122    ------ ------------ -- ------------- ------------- -------------  ------------- ------------- ------------- ------------\n5123         1              NU       3.00000        .               -Inf         .           -2.50000        .\n5124                                               2.50000       3.00000           +Inf          +Inf          +Inf\n5125    <BLANKLINE>\n5126    GLPK ... - SENSITIVITY ANALYSIS REPORT                                                                         Page   2\n5127    <BLANKLINE>\n5128    Problem:\n5129    Objective:  7.5 (MAXimum)\n5130    <BLANKLINE>\n5131       No. Column name  St      Activity      Obj coef   Lower bound       Activity      Obj coef  Obj value at Limiting\n5132                                              Marginal   Upper bound          range         range   break point variable\n5133    ------ ------------ -- ------------- ------------- -------------  ------------- ------------- ------------- ------------\n5134         1              NL        .            2.00000        .                -Inf          -Inf          +Inf\n5135                                               -.50000          +Inf        3.00000       2.50000       6.00000\n5136    <BLANKLINE>\n5137         2              BS       1.50000       5.00000        .                -Inf       4.00000       6.00000\n5138                                                .               +Inf        1.50000          +Inf          +Inf\n5139    <BLANKLINE>\n5140    End of report\n5141    <BLANKLINE>\n5142    0\n5143Got:\n5144    Write sensitivity analysis report to '/Users/buildslave-sage/slave/sage_git/dot_sage/temp/osx/98275/ranges.tmp'...\n5145    GLPK 4.60 - SENSITIVITY ANALYSIS REPORT                                                                         Page   1\n5146    <BLANKLINE>\n5147     Problem:    \n5148     Objective:  7.5 (MAXimum)\n5149    <BLANKLINE>\n5150        No. Row name     St      Activity         Slack   Lower bound       Activity      Obj coef  Obj value at Limiting\n5151                                               Marginal   Upper bound          range         range   break point variable\n5152     ------ ------------ -- ------------- ------------- -------------  ------------- ------------- ------------- ------------\n5153          1              NU       3.00000        .               -Inf         .           -2.50000        .     \n5154                                                2.50000       3.00000           +Inf          +Inf          +Inf\n5155    <BLANKLINE>\n5156     GLPK 4.60 - SENSITIVITY ANALYSIS REPORT                                                                         Page   2\n5157    <BLANKLINE>\n5158     Problem:    \n5159     Objective:  7.5 (MAXimum)\n5160    <BLANKLINE>\n5161        No. Column name  St      Activity      Obj coef   Lower bound       Activity      Obj coef  Obj value at Limiting\n5162                                               Marginal   Upper bound          range         range   break point variable\n5163     ------ ------------ -- ------------- ------------- -------------  ------------- ------------- ------------- ------------\n5164          1              NL        .            2.00000        .                -Inf          -Inf          +Inf\n5165                                                -.50000          +Inf        3.00000       2.50000       6.00000\n5166    <BLANKLINE>\n5167          2              BS       1.50000       5.00000        .                -Inf       4.00000       6.00000\n5168                                                 .               +Inf        1.50000          +Inf          +Inf\n5169    <BLANKLINE>\n5170     End of report\n5171    <BLANKLINE>\n5172    <BLANKLINE>\n5173    0\n5174**********************************************************************\n51754 items had failures:\n5176   2 of  11 in sage.numerical.backends.glpk_backend.GLPKBackend.print_ranges\n5177   2 of  76 in sage.numerical.backends.glpk_backend.GLPKBackend.solve\n5178   1 of   7 in sage.numerical.backends.glpk_backend.GLPKBackend.write_lp\n5179   1 of   7 in sage.numerical.backends.glpk_backend.GLPKBackend.write_mps\n5180    [535 tests, 6 failures, 4.97 s]\n```",
    "created_at": "2016-10-08T08:43:21Z",
    "formatter": "markdown",
    "issue": "https://github.com/sagemath/sage/issues/20710",
    "type": "issue_comment",
    "url": "https://github.com/sagemath/sage/issues/20710#issuecomment-299806",
    "user": "https://github.com/vbraun"
}
comment:54
5058sage -t --long src/sage/numerical/backends/glpk_backend.pyx
5059**********************************************************************
5060File "src/sage/numerical/backends/glpk_backend.pyx", line 912, in sage.numerical.backends.glpk_backend.GLPKBackend.solve
5061Failed example:
5062    lp.solve()
5063Expected:
5064    2.0
5065Got:
5066    glp_exact: 3 rows, 2 columns, 6 non-zeros
5067    GNU MP bignum library is being used
5068    *     2:   objval =                      2   (0)
5069    *     2:   objval =                      2   (0)
5070    OPTIMAL SOLUTION FOUND
5071    2.0
5072**********************************************************************
5073File "src/sage/numerical/backends/glpk_backend.pyx", line 944, in sage.numerical.backends.glpk_backend.GLPKBackend.solve
5074Failed example:
5075    lp.solve() == test # yes, we want an exact comparison here
5076Expected:
5077    True
5078Got:
5079    glp_exact: 1 rows, 1 columns, 1 non-zeros
5080    GNU MP bignum library is being used
5081    *     0:   objval =                      0   (0)
5082    *     1:   objval =   9.00719925474095e+15   (0)
5083    OPTIMAL SOLUTION FOUND
5084    True
5085**********************************************************************
5086File "src/sage/numerical/backends/glpk_backend.pyx", line 1578, in sage.numerical.backends.glpk_backend.GLPKBackend.write_lp
5087Failed example:
5088    p.write_lp(os.path.join(SAGE_TMP, "lp_problem.lp"))
5089Expected nothing
5090Got:
5091    Writing problem data to '/Users/buildslave-sage/slave/sage_git/dot_sage/temp/osx/98275/lp_problem.lp'...
5092    9 lines were written
5093**********************************************************************
5094File "src/sage/numerical/backends/glpk_backend.pyx", line 1598, in sage.numerical.backends.glpk_backend.GLPKBackend.write_mps
5095Failed example:
5096    p.write_mps(os.path.join(SAGE_TMP, "lp_problem.mps"), 2)
5097Expected nothing
5098Got:
5099    Writing problem data to '/Users/buildslave-sage/slave/sage_git/dot_sage/temp/osx/98275/lp_problem.mps'...
5100    17 records were written
5101**********************************************************************
5102File "src/sage/numerical/backends/glpk_backend.pyx", line 2228, in sage.numerical.backends.glpk_backend.GLPKBackend.print_ranges
5103Failed example:
5104    p.print_ranges()
5105Expected:
5106    1
5107Got:
5108    glp_print_ranges: optimal basic solution required
5109    1
5110**********************************************************************
5111File "src/sage/numerical/backends/glpk_backend.pyx", line 2232, in sage.numerical.backends.glpk_backend.GLPKBackend.print_ranges
5112Failed example:
5113    p.print_ranges()
5114Expected:
5115    GLPK ... - SENSITIVITY ANALYSIS REPORT                                                                         Page   1
5116    <BLANKLINE>
5117    Problem:
5118    Objective:  7.5 (MAXimum)
5119    <BLANKLINE>
5120       No. Row name     St      Activity         Slack   Lower bound       Activity      Obj coef  Obj value at Limiting
5121                                              Marginal   Upper bound          range         range   break point variable
5122    ------ ------------ -- ------------- ------------- -------------  ------------- ------------- ------------- ------------
5123         1              NU       3.00000        .               -Inf         .           -2.50000        .
5124                                               2.50000       3.00000           +Inf          +Inf          +Inf
5125    <BLANKLINE>
5126    GLPK ... - SENSITIVITY ANALYSIS REPORT                                                                         Page   2
5127    <BLANKLINE>
5128    Problem:
5129    Objective:  7.5 (MAXimum)
5130    <BLANKLINE>
5131       No. Column name  St      Activity      Obj coef   Lower bound       Activity      Obj coef  Obj value at Limiting
5132                                              Marginal   Upper bound          range         range   break point variable
5133    ------ ------------ -- ------------- ------------- -------------  ------------- ------------- ------------- ------------
5134         1              NL        .            2.00000        .                -Inf          -Inf          +Inf
5135                                               -.50000          +Inf        3.00000       2.50000       6.00000
5136    <BLANKLINE>
5137         2              BS       1.50000       5.00000        .                -Inf       4.00000       6.00000
5138                                                .               +Inf        1.50000          +Inf          +Inf
5139    <BLANKLINE>
5140    End of report
5141    <BLANKLINE>
5142    0
5143Got:
5144    Write sensitivity analysis report to '/Users/buildslave-sage/slave/sage_git/dot_sage/temp/osx/98275/ranges.tmp'...
5145    GLPK 4.60 - SENSITIVITY ANALYSIS REPORT                                                                         Page   1
5146    <BLANKLINE>
5147     Problem:    
5148     Objective:  7.5 (MAXimum)
5149    <BLANKLINE>
5150        No. Row name     St      Activity         Slack   Lower bound       Activity      Obj coef  Obj value at Limiting
5151                                               Marginal   Upper bound          range         range   break point variable
5152     ------ ------------ -- ------------- ------------- -------------  ------------- ------------- ------------- ------------
5153          1              NU       3.00000        .               -Inf         .           -2.50000        .     
5154                                                2.50000       3.00000           +Inf          +Inf          +Inf
5155    <BLANKLINE>
5156     GLPK 4.60 - SENSITIVITY ANALYSIS REPORT                                                                         Page   2
5157    <BLANKLINE>
5158     Problem:    
5159     Objective:  7.5 (MAXimum)
5160    <BLANKLINE>
5161        No. Column name  St      Activity      Obj coef   Lower bound       Activity      Obj coef  Obj value at Limiting
5162                                               Marginal   Upper bound          range         range   break point variable
5163     ------ ------------ -- ------------- ------------- -------------  ------------- ------------- ------------- ------------
5164          1              NL        .            2.00000        .                -Inf          -Inf          +Inf
5165                                                -.50000          +Inf        3.00000       2.50000       6.00000
5166    <BLANKLINE>
5167          2              BS       1.50000       5.00000        .                -Inf       4.00000       6.00000
5168                                                 .               +Inf        1.50000          +Inf          +Inf
5169    <BLANKLINE>
5170     End of report
5171    <BLANKLINE>
5172    <BLANKLINE>
5173    0
5174**********************************************************************
51754 items had failures:
5176   2 of  11 in sage.numerical.backends.glpk_backend.GLPKBackend.print_ranges
5177   2 of  76 in sage.numerical.backends.glpk_backend.GLPKBackend.solve
5178   1 of   7 in sage.numerical.backends.glpk_backend.GLPKBackend.write_lp
5179   1 of   7 in sage.numerical.backends.glpk_backend.GLPKBackend.write_mps
5180    [535 tests, 6 failures, 4.97 s]

archive/issue_comments_299807.json:

{
    "body": "<div id=\"comment:55\" align=\"right\">comment:55</div>\n\nWhat machine is that?",
    "created_at": "2016-10-08T08:48:49Z",
    "formatter": "markdown",
    "issue": "https://github.com/sagemath/sage/issues/20710",
    "type": "issue_comment",
    "url": "https://github.com/sagemath/sage/issues/20710#issuecomment-299807",
    "user": "https://github.com/kiwifb"
}
comment:55

What machine is that?


archive/issue_comments_299808.json:

{
    "body": "<div id=\"comment:56\" align=\"right\">comment:56</div>\n\nOK something changed with this doctest in between the first time it went to the bot and now. Not sure what yet, but apart from the time limit all the corrected doctest have returned to their previous behavior in that file.",
    "created_at": "2016-10-08T09:17:39Z",
    "formatter": "markdown",
    "issue": "https://github.com/sagemath/sage/issues/20710",
    "type": "issue_comment",
    "url": "https://github.com/sagemath/sage/issues/20710#issuecomment-299808",
    "user": "https://github.com/kiwifb"
}
comment:56

OK something changed with this doctest in between the first time it went to the bot and now. Not sure what yet, but apart from the time limit all the corrected doctest have returned to their previous behavior in that file.


archive/issue_comments_299809.json:

{
    "body": "<div id=\"comment:57\" align=\"right\">comment:57</div>\n\nFor me, all tests still pass with in the file `src/sage/numerical/backends/glpk_backend.pyx` (both with and without `--long`).",
    "created_at": "2016-10-08T09:21:00Z",
    "formatter": "markdown",
    "issue": "https://github.com/sagemath/sage/issues/20710",
    "type": "issue_comment",
    "url": "https://github.com/sagemath/sage/issues/20710#issuecomment-299809",
    "user": "https://github.com/jdemeyer"
}
comment:57

For me, all tests still pass with in the file src/sage/numerical/backends/glpk_backend.pyx (both with and without --long).


archive/issue_comments_299810.json:

{
    "body": "<div id=\"comment:58\" align=\"right\">comment:58</div>\n\nPossible, I am seeing the change on a recent snapshot of Volker development branch on github (6th of October). So probably after the last beta was published.",
    "created_at": "2016-10-08T09:26:32Z",
    "formatter": "markdown",
    "issue": "https://github.com/sagemath/sage/issues/20710",
    "type": "issue_comment",
    "url": "https://github.com/sagemath/sage/issues/20710#issuecomment-299810",
    "user": "https://github.com/kiwifb"
}
comment:58

Possible, I am seeing the change on a recent snapshot of Volker development branch on github (6th of October). So probably after the last beta was published.


archive/issue_comments_299811.json:

{
    "body": "<div id=\"comment:59\" align=\"right\">comment:59</div>\n\nI confirm the bug, Volker's output is correct: GLPK does print that output, so we should see it. So the doctests should be restored and I will look why it's failing for me.",
    "created_at": "2016-10-08T09:41:49Z",
    "formatter": "markdown",
    "issue": "https://github.com/sagemath/sage/issues/20710",
    "type": "issue_comment",
    "url": "https://github.com/sagemath/sage/issues/20710#issuecomment-299811",
    "user": "https://github.com/jdemeyer"
}
comment:59

I confirm the bug, Volker's output is correct: GLPK does print that output, so we should see it. So the doctests should be restored and I will look why it's failing for me.


archive/issue_comments_299812.json:

{
    "body": "<div id=\"comment:60\" align=\"right\">comment:60</div>\n\nFalse alarm... I was testing an older version of this branch. Good!\n\nSo we just need to restore the doctests, I'll do that right now.",
    "created_at": "2016-10-08T09:47:13Z",
    "formatter": "markdown",
    "issue": "https://github.com/sagemath/sage/issues/20710",
    "type": "issue_comment",
    "url": "https://github.com/sagemath/sage/issues/20710#issuecomment-299812",
    "user": "https://github.com/jdemeyer"
}
comment:60

False alarm... I was testing an older version of this branch. Good!

So we just need to restore the doctests, I'll do that right now.


archive/issue_comments_299813.json:

{
    "body": "<div id=\"comment:61\"></div>\n\nBranch pushed to git repo; I updated commit sha1. New commits:\n<table><tr><td><a href=\"https://github.com/sagemath/sagetrac-mirror/commit/fd7afa8008652519f1bee108fd6809b1d147089d\"><code>fd7afa8</code></a></td><td><code>Fix doctests for GLPK verbose output</code></td></tr></table>\n",
    "created_at": "2016-10-08T09:52:39Z",
    "formatter": "markdown",
    "issue": "https://github.com/sagemath/sage/issues/20710",
    "type": "issue_comment",
    "url": "https://github.com/sagemath/sage/issues/20710#issuecomment-299813",
    "user": "https://github.com/sagetrac-git"
}

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

fd7afa8Fix doctests for GLPK verbose output

archive/issue_comments_299814.json:

{
    "body": "Changed commit from **[`3e8450b`](https://github.com/sagemath/sagetrac-mirror/commit/3e8450b13d5c5353cd45d5881acf59994cf28b6b)** to **[`fd7afa8`](https://github.com/sagemath/sagetrac-mirror/commit/fd7afa8008652519f1bee108fd6809b1d147089d)**",
    "created_at": "2016-10-08T09:52:39Z",
    "formatter": "markdown",
    "issue": "https://github.com/sagemath/sage/issues/20710",
    "type": "issue_comment",
    "url": "https://github.com/sagemath/sage/issues/20710#issuecomment-299814",
    "user": "https://github.com/sagetrac-git"
}

Changed commit from 3e8450b to fd7afa8


archive/issue_events_289045.json:

{
    "actor": "https://github.com/jdemeyer",
    "created_at": "2016-10-08T09:53:18Z",
    "event": "unlabeled",
    "issue": "https://github.com/sagemath/sage/issues/20710",
    "label": "https://github.com/sagemath/sage/labels/needs%20work",
    "label_color": "ffff00",
    "label_name": "needs work",
    "label_text_color": "ffffff",
    "type": "issue_event",
    "url": "https://github.com/sagemath/sage/issues/20710#event-289045"
}

archive/issue_events_289046.json:

{
    "actor": "https://github.com/jdemeyer",
    "created_at": "2016-10-08T09:53:18Z",
    "event": "labeled",
    "issue": "https://github.com/sagemath/sage/issues/20710",
    "label": "https://github.com/sagemath/sage/labels/needs%20review",
    "label_color": "7fff00",
    "label_name": "needs review",
    "label_text_color": "ffffff",
    "type": "issue_event",
    "url": "https://github.com/sagemath/sage/issues/20710#event-289046"
}

archive/issue_comments_299815.json:

{
    "body": "<div id=\"comment:63\" align=\"right\">comment:63</div>\n\n**ping**",
    "created_at": "2016-10-18T13:01:22Z",
    "formatter": "markdown",
    "issue": "https://github.com/sagemath/sage/issues/20710",
    "type": "issue_comment",
    "url": "https://github.com/sagemath/sage/issues/20710#issuecomment-299815",
    "user": "https://github.com/jdemeyer"
}
comment:63

ping


archive/issue_events_289047.json:

{
    "actor": "https://github.com/kiwifb",
    "created_at": "2016-10-18T18:47:06Z",
    "event": "unlabeled",
    "issue": "https://github.com/sagemath/sage/issues/20710",
    "label": "https://github.com/sagemath/sage/labels/needs%20review",
    "label_color": "7fff00",
    "label_name": "needs review",
    "label_text_color": "ffffff",
    "type": "issue_event",
    "url": "https://github.com/sagemath/sage/issues/20710#event-289047"
}

archive/issue_events_289048.json:

{
    "actor": "https://github.com/kiwifb",
    "created_at": "2016-10-18T18:47:06Z",
    "event": "labeled",
    "issue": "https://github.com/sagemath/sage/issues/20710",
    "label": "https://github.com/sagemath/sage/labels/positive%20review",
    "label_color": "dfffc0",
    "label_name": "positive review",
    "label_text_color": "ffffff",
    "type": "issue_event",
    "url": "https://github.com/sagemath/sage/issues/20710#event-289048"
}

archive/issue_comments_299816.json:

{
    "body": "Changed reviewer from **Matthias Koeppe** to **Matthias Koeppe, Jeroen Demeyer**",
    "created_at": "2016-10-18T18:47:06Z",
    "formatter": "markdown",
    "issue": "https://github.com/sagemath/sage/issues/20710",
    "type": "issue_comment",
    "url": "https://github.com/sagemath/sage/issues/20710#issuecomment-299816",
    "user": "https://github.com/kiwifb"
}

Changed reviewer from Matthias Koeppe to Matthias Koeppe, Jeroen Demeyer


archive/issue_comments_299817.json:

{
    "body": "<div id=\"comment:64\" align=\"right\">comment:64</div>\n\nPutting it back to positive review.",
    "created_at": "2016-10-18T18:47:06Z",
    "formatter": "markdown",
    "issue": "https://github.com/sagemath/sage/issues/20710",
    "type": "issue_comment",
    "url": "https://github.com/sagemath/sage/issues/20710#issuecomment-299817",
    "user": "https://github.com/kiwifb"
}
comment:64

Putting it back to positive review.


archive/issue_comments_299818.json:

{
    "body": "<div id=\"comment:65\" align=\"right\">comment:65</div>\n\nLooks good to me too.",
    "created_at": "2016-10-19T00:40:58Z",
    "formatter": "markdown",
    "issue": "https://github.com/sagemath/sage/issues/20710",
    "type": "issue_comment",
    "url": "https://github.com/sagemath/sage/issues/20710#issuecomment-299818",
    "user": "https://github.com/mkoeppe"
}
comment:65

Looks good to me too.


archive/issue_events_289049.json:

{
    "actor": "https://github.com/vbraun",
    "created_at": "2016-10-21T07:04:28Z",
    "event": "unlabeled",
    "issue": "https://github.com/sagemath/sage/issues/20710",
    "label": "https://github.com/sagemath/sage/labels/positive%20review",
    "label_color": "dfffc0",
    "label_name": "positive review",
    "label_text_color": "ffffff",
    "type": "issue_event",
    "url": "https://github.com/sagemath/sage/issues/20710#event-289049"
}

archive/issue_events_289050.json:

{
    "actor": "https://github.com/vbraun",
    "commit_id": "a0a5daae51bcfe2c62676c288def50c34e7abc6f",
    "commit_repository": "https://github.com/sagemath/sage",
    "created_at": "2016-10-21T07:04:28Z",
    "event": "closed",
    "issue": "https://github.com/sagemath/sage/issues/20710",
    "type": "issue_event",
    "url": "https://github.com/sagemath/sage/issues/20710#event-289050"
}

archive/issue_comments_299819.json:

{
    "body": "Changed branch from **[u/jdemeyer/glpk_4.60](https://github.com/sagemath/sagetrac-mirror/tree/u/jdemeyer/glpk_4.60)** to **[`fd7afa8`](https://github.com/sagemath/sagetrac-mirror/commit/fd7afa8008652519f1bee108fd6809b1d147089d)**",
    "created_at": "2016-10-21T07:04:28Z",
    "formatter": "markdown",
    "issue": "https://github.com/sagemath/sage/issues/20710",
    "type": "issue_comment",
    "url": "https://github.com/sagemath/sage/issues/20710#issuecomment-299819",
    "user": "https://github.com/vbraun"
}

Changed branch from u/jdemeyer/glpk_4.60 to fd7afa8


archive/issue_comments_299820.json:

{
    "body": "<div id=\"comment:67\" align=\"right\">comment:67</div>\n\nIt seems like glpk needs an update again in order to keep the patchbot happy. See #23777 .",
    "created_at": "2017-09-02T03:52:28Z",
    "formatter": "markdown",
    "issue": "https://github.com/sagemath/sage/issues/20710",
    "type": "issue_comment",
    "url": "https://github.com/sagemath/sage/issues/20710#issuecomment-299820",
    "user": "https://github.com/koffie"
}
comment:67

It seems like glpk needs an update again in order to keep the patchbot happy. See #23777 .


archive/issue_comments_299821.json:

{
    "body": "Changed commit from **[`fd7afa8`](https://github.com/sagemath/sagetrac-mirror/commit/fd7afa8008652519f1bee108fd6809b1d147089d)** to none",
    "created_at": "2017-09-02T03:52:28Z",
    "formatter": "markdown",
    "issue": "https://github.com/sagemath/sage/issues/20710",
    "type": "issue_comment",
    "url": "https://github.com/sagemath/sage/issues/20710#issuecomment-299821",
    "user": "https://github.com/koffie"
}

Changed commit from fd7afa8 to none


archive/issue_comments_299822.json:

{
    "body": "<div id=\"comment:68\" align=\"right\">comment:68</div>\n\nWe have to carry a very [counterintuitive patch](https://anonscm.debian.org/cgit/debian-science/packages/sagemath.git/tree/debian/patches/dt-version-glpk-4.60-extra-hacky-fixes.patch) in Debian because the GLPK `err_st = 0` [patch](https://github.com/sagemath/sagetrac-mirror/blob/develop/build/pkgs/glpk/patches/error_recovery.patch?id=3e8450b13d5c5353cd45d5881acf59994cf28b6b) was not accepted upstream. It takes me several minutes to understand what I myself wrote, every time I read it. :/\n\nIs there any way to do the equivalent thing (`err_st = 0`) in Sage instead of GLPK? I thought Cython let you access C internals.",
    "created_at": "2017-11-09T13:34:54Z",
    "formatter": "markdown",
    "issue": "https://github.com/sagemath/sage/issues/20710",
    "type": "issue_comment",
    "url": "https://github.com/sagemath/sage/issues/20710#issuecomment-299822",
    "user": "https://github.com/infinity0"
}
comment:68

We have to carry a very counterintuitive patch in Debian because the GLPK err_st = 0 patch was not accepted upstream. It takes me several minutes to understand what I myself wrote, every time I read it. :/

Is there any way to do the equivalent thing (err_st = 0) in Sage instead of GLPK? I thought Cython let you access C internals.


archive/issue_comments_299823.json:

{
    "body": "<div id=\"comment:69\" align=\"right\">comment:69</div>\n\nOr as an alternative attempt at upstreaming this again: perhaps `err_st = 0` could be conditioned so that most users of GLPK are unaffected, but Sage could pass in a special flag to GLPK to activate this behaviour just for Sage.",
    "created_at": "2017-11-09T13:41:23Z",
    "formatter": "markdown",
    "issue": "https://github.com/sagemath/sage/issues/20710",
    "type": "issue_comment",
    "url": "https://github.com/sagemath/sage/issues/20710#issuecomment-299823",
    "user": "https://github.com/infinity0"
}
comment:69

Or as an alternative attempt at upstreaming this again: perhaps err_st = 0 could be conditioned so that most users of GLPK are unaffected, but Sage could pass in a special flag to GLPK to activate this behaviour just for Sage.


archive/issue_comments_299824.json:

{
    "body": "<div id=\"comment:70\" align=\"right\">comment:70</div>\n\nReplying to [@infinity0](#comment%3A68):\n> Is there any way to do the equivalent thing (`err_st = 0`) in Sage instead of GLPK?\n\nNo. Otherwise we would have done that.\n\n> I thought Cython let you access C internals.\n\nThat's true, but only C internals which are actually exposed by the library. This concerns some internal structure of GLPK which is not exposed by any API.",
    "created_at": "2017-11-09T14:51:54Z",
    "formatter": "markdown",
    "issue": "https://github.com/sagemath/sage/issues/20710",
    "type": "issue_comment",
    "url": "https://github.com/sagemath/sage/issues/20710#issuecomment-299824",
    "user": "https://github.com/jdemeyer"
}
comment:70

Replying to @infinity0:

Is there any way to do the equivalent thing (err_st = 0) in Sage instead of GLPK?

No. Otherwise we would have done that.

I thought Cython let you access C internals.

That's true, but only C internals which are actually exposed by the library. This concerns some internal structure of GLPK which is not exposed by any API.


archive/issue_comments_299825.json:

{
    "body": "<div id=\"comment:71\" align=\"right\">comment:71</div>\n\nReplying to [@infinity0](#comment%3A69):\n> Or as an alternative attempt at upstreaming this again: perhaps `err_st = 0` could be conditioned so that most users of GLPK are unaffected\n\nThe way I understood upstream's answer is that this patch only affects uses of GLPK which are explicitly unsupported. So, by definition this patch wouldn't break any supported use cases. They don't want to accept this patch since it might imply support for something that they don't support. In the view of GLPK, Sage is using GLPK in a wrong way.",
    "created_at": "2017-11-10T12:22:01Z",
    "formatter": "markdown",
    "issue": "https://github.com/sagemath/sage/issues/20710",
    "type": "issue_comment",
    "url": "https://github.com/sagemath/sage/issues/20710#issuecomment-299825",
    "user": "https://github.com/jdemeyer"
}
comment:71

Replying to @infinity0:

Or as an alternative attempt at upstreaming this again: perhaps err_st = 0 could be conditioned so that most users of GLPK are unaffected

The way I understood upstream's answer is that this patch only affects uses of GLPK which are explicitly unsupported. So, by definition this patch wouldn't break any supported use cases. They don't want to accept this patch since it might imply support for something that they don't support. In the view of GLPK, Sage is using GLPK in a wrong way.


archive/issue_comments_299826.json:

{
    "body": "<div id=\"comment:72\" align=\"right\">comment:72</div>\n\nThe feature in question is recovery after an error. As far as I can tell, this was first used by Sage in #12309 and we never had problems with it. So, this is a feature which seemingly works but which is unsupported. And GLPK doesn't want to accept a patch to improve something unsupported.\n\nMaybe you could try to convince GLPK again as a Debian maintainer. Alternatively, could you convince Debian to include the Sage patch for GLPK?",
    "created_at": "2017-11-10T12:33:58Z",
    "formatter": "markdown",
    "issue": "https://github.com/sagemath/sage/issues/20710",
    "type": "issue_comment",
    "url": "https://github.com/sagemath/sage/issues/20710#issuecomment-299826",
    "user": "https://github.com/jdemeyer"
}
comment:72

The feature in question is recovery after an error. As far as I can tell, this was first used by Sage in #12309 and we never had problems with it. So, this is a feature which seemingly works but which is unsupported. And GLPK doesn't want to accept a patch to improve something unsupported.

Maybe you could try to convince GLPK again as a Debian maintainer. Alternatively, could you convince Debian to include the Sage patch for GLPK?