Opened 4 years ago
Last modified 30 hours ago
#23712 new enhancement
Upgrade to Tachyon 0.99b6
Reported by: | dimpase | Owned by: | |
---|---|---|---|
Priority: | major | Milestone: | |
Component: | packages: standard | Keywords: | upgrade, tachyon |
Cc: | slelievre, mjo | Merged in: | |
Authors: | Dima Pasechnik | Reviewers: | |
Report Upstream: | N/A | Work issues: | |
Branch: | public/23712 (Commits, GitHub, GitLab) | Commit: | 8138ccf1ee71785c44efe9df9e87eab7210425d9 |
Dependencies: | Stopgaps: |
Description (last modified by )
We currently are shipping a 7 years old tachyon (0.98). 0.99b6 is from 2013, and is de facto stable version, e.g. in debian or gentoo.
This is also needed to make Sage work on arm64/aarch64, see #23687.
In Debian:
Change History (15)
comment:1 Changed 4 years ago by
- Branch set to public/23712
- Commit set to 8138ccf1ee71785c44efe9df9e87eab7210425d9
comment:2 follow-up: ↓ 3 Changed 4 years ago by
there are quite a few doctests failing with this branch. Presumably the interface might have changed a bit.
comment:3 in reply to: ↑ 2 Changed 4 years ago by
Replying to dimpase:
there are quite a few doctests failing with this branch. Presumably the interface might have changed a bit.
That's what I remember. Are all the failing doctests in doc? I realised yesterday that I have lost the ability to test those in sage-on-gentoo recently (for some reason .rst files get installed as .rst.txt and then they are not tested). So I miss all broken doctests from rst files at the moment.
For the record I don't seem to have any (repeatable) failures on the stuff I doctest in sage-on-gentoo.
comment:4 Changed 4 years ago by
This is what I get with ptestlong:
sage -t --long --warn-long 45.7 src/sage/plot/plot3d/parametric_plot3d.py # 1 doctest failed sage -t --long --warn-long 45.7 src/sage/plot/plot3d/implicit_plot3d.py # 6 doctests failed sage -t --long --warn-long 45.7 src/sage/plot/plot3d/platonic.py # 1 doctest failed sage -t --long --warn-long 45.7 src/sage/graphs/generic_graph.py # 9 doctests failed sage -t --long --warn-long 45.7 src/sage/plot/plot3d/parametric_surface.pyx # 3 doctests failed sage -t --long --warn-long 45.7 src/sage/plot/plot3d/implicit_surface.pyx # 1 doctest failed sage -t --long --warn-long 45.7 src/sage/plot/plot3d/tachyon.py # 21 doctests failed sage -t --long --warn-long 45.7 src/sage/combinat/tiling.py # 1 doctest failed sage -t --long --warn-long 45.7 src/sage/numerical/sdp.pyx # 9 doctests failed sage -t --long --warn-long 45.7 src/sage/numerical/backends/cvxopt_sdp_backend.pyx # 7 doctests failed sage -t --long --warn-long 45.7 src/sage/geometry/polyhedron/backend_normaliz.py # 2 doctests failed sage -t --long --warn-long 45.7 src/sage/plot/plot3d/index_face_set.pyx # 1 doctest failed sage -t --long --warn-long 45.7 src/sage/plot/plot3d/base.pyx # 1 doctest failed
Typically it's something about PNG interface:
Using --optional=ccache,cmake,database_gap,gap_packages,mpir,normaliz,pynormaliz,python2,qhull,sage Doctesting entire Sage library. Sorting sources by runtime so that slower doctests are run first.... Doctesting 3578 files using 4 threads. sage -t --long --warn-long 45.7 src/sage/plot/plot3d/parametric_plot3d.py ********************************************************************** File "src/sage/plot/plot3d/parametric_plot3d.py", line 172, in sage.plot.plot3d.parametric_plot3d.? Failed example: P.show(viewer='tachyon') Exception raised: Traceback (most recent call last): File "/home/dima/Sage/sage-dev/local/lib/python2.7/site-packages/sage/doctest/forker.py", line 515, in _run self.compile_and_execute(example, compiler, test.globs) File "/home/dima/Sage/sage-dev/local/lib/python2.7/site-packages/sage/doctest/forker.py", line 885, in compile_and_execute exec(compiled, globs) File "<doctest sage.plot.plot3d.parametric_plot3d.?[13]>", line 1, in <module> P.show(viewer='tachyon') File "sage/plot/plot3d/base.pyx", line 1478, in sage.plot.plot3d.base.Graphics3d.show (build/cythonized/sage/plot/plot3d/base.c :21367) dm.display_immediately(self, **kwds) File "/home/dima/Sage/sage-dev/local/lib/python2.7/site-packages/sage/repl/rich_output/display_manager.py", line 834, in displa y_immediately self._backend.display_immediately(plain_text, rich_output) File "/home/dima/Sage/sage-dev/local/lib/python2.7/site-packages/sage/repl/rich_output/backend_doctest.py", line 209, in displa y_immediately self.validate(rich_output) File "/home/dima/Sage/sage-dev/local/lib/python2.7/site-packages/sage/repl/rich_output/backend_doctest.py", line 270, in valida te assert rich_output.png.get().startswith('\x89PNG') AssertionError
Running the corresponding lines at the Sage prompt works and shows a meaningful plot. However, it's not stored in a PNG file, it's stored in TGA file:
$ file tmp_ZccmzF.png tmp_ZccmzF.png: Targa image data - RGB 500 x 500 x 24 - top Targa image data - RGB 500 x 500 x 24 - top
comment:5 Changed 4 years ago by
In fact, ldd says that tachyon is not linked to libpng - no wonder it cannot do PNG.
comment:6 Changed 4 years ago by
I see that Debian has a set of patches to this version, including autotoolisation! https://packages.debian.org/source/sid/tachyon
Should we use them, rather than keep wrestling with patches to Makefiles?
comment:7 Changed 4 years ago by
Probably. The linking problem would also explain why I don't see those failures in s-o-g.
comment:8 follow-up: ↓ 9 Changed 4 years ago by
That's a lot of patches https://anonscm.debian.org/cgit/debian-science/packages/tachyon.git/tree/debian/patches but most of them will probably be handy. Are you up to write a spkg-src
?
comment:9 in reply to: ↑ 8 Changed 4 years ago by
Replying to fbissey:
That's a lot of patches https://anonscm.debian.org/cgit/debian-science/packages/tachyon.git/tree/debian/patches but most of them will probably be handy. Are you up to write a
spkg-src
?
I have a problem with them at the moment: namely, applying these patches and invoking autoreconf -i -f
leads to
src/Makefile.am:33: error: HAVE_LD_VERSION_SCRIPT does not appear in AM_CONDITIONAL
Note that src/Makefile.am
has the following lines around line 33:
libtachyon_la_LD_VERSION_SCRIPT= if HAVE_LD_VERSION_SCRIPT libtachyon_la_LD_VERSION_SCRIPT+= -Wl,--version-script=$(top_srcdir)/src/tachyon.map endif
This can be remedied by adding to configure.ac
the following:
AM_CONDITIONAL([HAVE_LD_VERSION_SCRIPT], [blah...])
but I don't quite see what blah...
should be. (I put in some random shell call just to see if it helps, and it does, but that's of course not a proper fix).
So this looks like a bug in Debian patches (namely in upstream-rationalization-autotools.patch
), which only manifests itself in non-Debian setting.
comment:10 Changed 4 years ago by
And I also don't get how to configure and run make to create a tachyon
executable. All what make install
does, it installs headers and various dynamic libs, such as libtachyon-mt-thr.so.0.0.0
.
comment:11 Changed 3 years ago by
- Cc slelievre added
- Description modified (diff)
- Keywords upgrade tachyon added
- Milestone changed from sage-8.1 to sage-8.7
- Summary changed from update tachyon to 0.99 to Upgrade to Tachyon 0.99b6
comment:12 Changed 3 years ago by
- Milestone changed from sage-8.7 to sage-8.8
Ticket retargeted after milestone closed (if you don't believe this ticket is appropriate for the Sage 8.8 release please retarget manually)
comment:13 Changed 3 years ago by
- Milestone sage-8.8 deleted
As the Sage-8.8 release milestone is pending, we should delete the sage-8.8 milestone for tickets that are not actively being worked on or that still require significant work to move forward. If you feel that this ticket should be included in the next Sage release at the soonest please set its milestone to the next release milestone (sage-8.9).
comment:14 Changed 2 years ago by
For what it's worth I'm just fixing up aarch64 sage on nixos and I get no doctest failures with tachyon 0.99b2 (the version we ship).
There are some transient timeout failures, but that's it. Probably not related to tachyon.
None of our 4 patches does apply. I do not know if they should be removed or rebased.
New commits:
new tachyon 99b6