Opened 6 years ago
Closed 5 years ago
#18497 closed enhancement (fixed)
Update Sphinx to 1.4.1
Reported by:  aapitzsch  Owned by:  

Priority:  major  Milestone:  sage7.2 
Component:  packages: standard  Keywords:  python3, days77 
Cc:  fbissey  Merged in:  
Authors:  André Apitzsch, Jeroen Demeyer  Reviewers:  Steven Trogdon, John Palmieri 
Report Upstream:  N/A  Work issues:  
Branch:  bdc3f0b (Commits, GitHub, GitLab)  Commit:  bdc3f0b8f6be1e0b0bc8e2bbf26067262be90c88 
Dependencies:  #20496, #20498  Stopgaps: 
Description (last modified by )
Changes: http://sphinxdoc.org/changes.html
Tarballs:
 https://pypi.python.org/packages/source/i/imagesize/imagesize0.7.0.tar.gz
 https://pypi.python.org/packages/source/s/snowballstemmer/snowballstemmer1.2.1.tar.gz
 https://pypi.python.org/packages/6e/65/3b15c248e4078278a7c9d45ecac2b87ae56f03dfb574e6ee31edea360fdd/alabaster0.7.7.tar.gz
 https://pypi.python.org/packages/source/S/Sphinx/Sphinx1.4.1.tar.gz
Change History (85)
comment:1 Changed 6 years ago by
 Branch set to u/aapitzsch/ticket/18497
 Commit set to c913a28534ba6533d5798e1fa9aa725dfa32a8ea
comment:2 Changed 6 years ago by
 Commit changed from c913a28534ba6533d5798e1fa9aa725dfa32a8ea to 832afb701cfaf6b19a446a0d643ab58b3e5d3808
Branch pushed to git repo; I updated commit sha1. This was a forced push. New commits:
ede0305  update sphinx package to 1.3.1

7d29133  fix some deprecation warnings

557a33c  rebase sage_autodoc changes on sphinx.ext.autodoc version 1.3.1

bdf70fe  fix orphan setting

832afb7  fix warning "more than one target found for crossreference u'groebner_basis'"

comment:3 Changed 6 years ago by
 Status changed from new to needs_info
Any ideas how to fix
Traceback (most recent call last): File "/opt/sage/src/doc/common/builder.py", line 1626, in <module> getattr(get_builder(name), type)() File "/opt/sage/src/doc/common/builder.py", line 292, in _wrapper getattr(get_builder(document), 'inventory')(*args, **kwds) File "/opt/sage/src/doc/common/builder.py", line 503, in _wrapper x.get(99999) File "/opt/sage/local/lib/python/multiprocessing/pool.py", line 558, in get raise self._value OSError: [categorie] /opt/sage/src/doc/en/reference/categories/sage/categories/category.rst:370: WARNING: don't know which module to import for autodocumenting u'_super_categories' (try placing a "module" or "currentmodule" directive in the document, or giving an explicit module name)
without changing
.. automethod:: _super_categories
to
.. automethod:: Category._super_categories
because there are a lot of these warnings.
comment:4 Changed 6 years ago by
 Description modified (diff)
 Milestone changed from sage6.8 to sage6.9
comment:5 Changed 6 years ago by
While building sphinx I get:
Installed /64bitdev/storage/sagegit_develop/sage/local/lib/python2.7/sitepackages/Sphinx1.3.1py2.7.egg Processing dependencies for Sphinx==1.3.1 Searching for snowballstemmer>=1.1 Reading https://pypi.python.org/simple/snowballstemmer/ Download error on https://pypi.python.org/simple/snowballstemmer/: [Errno 110] Connection timed out  Some packages may not be found! Couldn't find index page for 'snowballstemmer' (maybe misspelled?) Scanning index of all packages (this may take a while) Reading https://pypi.python.org/simple/ Download error on https://pypi.python.org/simple/: [Errno 110] Connection timed out  Some packages may not be found! No local packages or download links found for snowballstemmer>=1.1 error: Could not find suitable distribution for Requirement.parse('snowballstemmer>=1.1') Error building Sphinx: 'Error installing Sphinx'
wget works just fine in downloading snowballstemmer
from pypi.python.org/simple/snowballstemmer
comment:6 followup: ↓ 7 Changed 6 years ago by
The inability to download snowballstemmer>=1.1
seems to be because of
export http_proxy=http://192.0.2.0:5187/
in build/bin/sagespkg
. This was supposedly fixed in #14243. Am I the only one getting this?
comment:7 in reply to: ↑ 6 ; followup: ↓ 8 Changed 6 years ago by
Replying to strogdon:
The inability to download
snowballstemmer>=1.1
seems to be because ofexport http_proxy=http://192.0.2.0:5187/in
build/bin/sagespkg
. This was supposedly fixed in #14243. Am I the only one getting this?
I don't see how #14243 is related. The proxy is obviously intentional, read the comment.
comment:8 in reply to: ↑ 7 ; followup: ↓ 9 Changed 6 years ago by
Replying to jdemeyer:
I don't see how #14243 is related. The proxy is obviously intentional, read the comment.
You're right about #14243 not being related. I was a bit hasty. And I realize the proxy is intentional. But what's the workaround here to allow Sphinx to install correctly? If I'm not mistaken, the proxy is blocking snowballstemmer
download. But maybe there is something else.
comment:9 in reply to: ↑ 8 Changed 6 years ago by
Replying to strogdon:
But what's the workaround here to allow Sphinx to install correctly?
Add a snowballstemmer
package.
comment:10 Changed 6 years ago by
This works for me, but not perfectly. In addition to the changes here, I used sage pip install
to install snowballstemmer
and alabaster
. I also had to change exclude_trees
to exclude_patterns
wherever it occurred in doc/common: exclude_trees
was deprecated before and has now been removed. (This was in src/doc/common/conf.py
, src/doc/en/reference/conf.py
, src/doc/en/reference/conf_sub.py
.)
I ran into the issue mentioned in comment:3, so I made those references more explicit (changed _blah
to Category._blah
, etc.). Then the file sage/lfunctions/zero_sums.pyx
was giving me errors I didn't understand, for example
OSError: [lfunction] docstring of sage.lfunctions.zero_sums.LFunctionZeroSum_EllipticCurve:0: ERROR: Unknown interpreted text role "class".
So I removed it from the reference manual. I'll keep looking at that file, though.
Then in the second pass through the reference manual, the build stopped with complaints about missing references or citations. Maybe Sphinx is pickier now, and wants the reference before any citations to it, so I moved some of them to the toplevel docstring in the file, and that helped. There is a few crossfile references, and I don't know what to do about that one except to run Sphinx again and hope it resolves the reference. The build completed this way.
By the way, Sphinx 1.3.2 (a bugfix release) is supposed to be released in a few days.
comment:11 followup: ↓ 68 Changed 6 years ago by
I have tried the same (I missed the exclude_trees
deprecation) and I too see in the build log
[lfunction] docstring of sage.lfunctions.zero_sums.LFunctionZeroSum_EllipticCurve:0: ERROR: Unknown interpreted text role "class". [lfunction] docstring of sage.lfunctions.zero_sums.LFunctionZeroSum_EllipticCurve.analytic_rank_upper_bound:83: ERROR: Unknown interpreted text role "func". [lfunction] docstring of sage.lfunctions.zero_sums.LFunctionZeroSum_EllipticCurve.analytic_rank_upper_bound:83: ERROR: Unknown interpreted text role "meth". [lfunction] docstring of sage.lfunctions.zero_sums.LFunctionZeroSum_EllipticCurve.analytic_rank_upper_bound:83: ERROR: Unknown interpreted text role "func". [lfunction] docstring of sage.lfunctions.zero_sums.LFunctionZeroSum_abstract:0: ERROR: Unknown interpreted text role "class". [lfunction] docstring of sage.lfunctions.zero_sums.LFunctionZeroSum_abstract.cnlist:19: ERROR: Unknown interpreted text role "meth". [lfunction] docstring of sage.lfunctions.zero_sums.LFunctionZeroSum_abstract.completed_logarithmic_derivative:39: ERROR: Unknown interpreted text role "meth". [lfunction] docstring of sage.lfunctions.zero_sums.LFunctionZeroSum_abstract.zerosum:66: ERROR: Unknown interpreted text role "meth".
And I have been searching high and low to figure out the issue. Also, if alabaster
is not needed then sphinx
will have to be patched to prevent it from being imported. Something like:
 Sphinx1.3.1/sphinx/application.py 20150911 22:55:30.000000000 0500 +++ Sphinx1.3.1/sphinx/application.py 20150915 17:56:42.000000000 0500 @@ 135,8 +135,8 @@ # extension loading support for alabaster theme # self.config.html_theme is not set from conf.py at here # for now, sphinx always load a 'alabaster' extension.  if 'alabaster' not in self.config.extensions:  self.config.extensions.append('alabaster') + #if 'alabaster' not in self.config.extensions: + # self.config.extensions.append('alabaster') # load all usergiven extension modules for extension in self.config.extensions:
comment:12 Changed 6 years ago by
 Branch changed from u/aapitzsch/ticket/18497 to u/jhpalmieri/ticket/18497
comment:13 Changed 6 years ago by
 Commit changed from 832afb701cfaf6b19a446a0d643ab58b3e5d3808 to 717f4e8a8828ea37b5dfd9410ba67b88ab59b084
I don't know why, but this change fixes the problem with lfunctions/zero_sum.pyx
:

src/sage/lfunctions/zero_sums.pyx
diff git a/src/sage/lfunctions/zero_sums.pyx b/src/sage/lfunctions/zero_sums.pyx index 6c4535c..ff1dd86 100644
a b cdef class LFunctionZeroSum_EllipticCurve(LFunctionZeroSum_abstract): 1341 1341 1342 1342 return small_primes, modulus, residue_chunks 1343 1343 1344 @parallel(ncpus=NCPUS)1345 1344 def _sum_over_residues(self, residue_sum_data): 1346 1345 r""" 1347 1346 Return the ppower sum over residues in a residue chunk
I have created a branch for testing purposes which does this and the other changes I outlined above. It is not at all ready for review. Issues:
 removing this "parallel" decorator is probably not a good idea.
snowballstemmer
needs be added as a new package. Maybe
alabaster
, too? I don't see why not.  The issue with missing references needs to be resolved.
New commits:
ad08dd1  Merge branch 'develop' into t/18497/ticket/18497

717f4e8  trac 18497: in docbuilding, use exclude_patterns instead of exclude_trees.

comment:14 Changed 6 years ago by
When I first started making changes to deal with the issue mentioned in comment:#3 I only had to make changes to these files
sage/categories/category.py sage/categories/category_with_axiom.py sage/sets/cartesian_product.py sage/combinat/permutation.py
I thought this odd and suspected that something else was the reason requiring the changes.
comment:15 Changed 6 years ago by
I wouldn't be surprised if something else was causing those problems. I didn't do a careful casebycase test to see which changes were necessary.
comment:16 Changed 6 years ago by
The huge change to sage_autodoc.py
really scares me a lot. I already have several tickets concerning the docbuilding sitting in needs_review and this ticket here will almost certainly cause a lot of conflicts.
I would much prefer to stick with the current version of Sphinx (unless you have a good reason to upgrade) and first clean up the Sphinx mess.
comment:17 Changed 6 years ago by
comment:18 Changed 6 years ago by
Sphinx 1.3.2 has now been released.
comment:19 Changed 6 years ago by
Again: I would much rather first clean up the Sphinx mess before upgrading it.
comment:20 Changed 6 years ago by
 Description modified (diff)
 Summary changed from Update Sphinx to 1.3.1 to Update Sphinx to 1.3.2
I understand that, I'm just adding the link for future reference.
comment:21 Changed 6 years ago by
 Description modified (diff)
 Summary changed from Update Sphinx to 1.3.2 to Update Sphinx to 1.3.3
comment:22 Changed 6 years ago by
 Description modified (diff)
 Summary changed from Update Sphinx to 1.3.3 to Update Sphinx to 1.3.5
[Sphinx 1.3.5 was released on 20160124.](https://groups.google.com/d/msg/sphinxdev/FtrXpX92euA/xlb6SDvdCQAJ)
comment:23 followup: ↓ 25 Changed 6 years ago by
If this ever gets up steam again it appears that the inlinelatex.patch
may no longer be needed. The following
https://github.com/sphinxdoc/sphinx/issues/1480 https://github.com/sphinxdoc/sphinx/pull/2188
are supposedly addressed in 1.3.5 (actually fixed in 1.3.4).
comment:24 Changed 6 years ago by
 Cc fbissey added
comment:25 in reply to: ↑ 23 Changed 6 years ago by
comment:26 Changed 6 years ago by
 Dependencies changed from #17313 to #20359
 Milestone changed from sage6.9 to sage7.2
 Summary changed from Update Sphinx to 1.3.5 to Update Sphinx to 1.4
comment:27 Changed 6 years ago by
 Status changed from needs_info to needs_work
comment:28 Changed 6 years ago by
 Branch changed from u/jhpalmieri/ticket/18497 to u/jdemeyer/ticket/18497
comment:29 Changed 6 years ago by
 Commit changed from 717f4e8a8828ea37b5dfd9410ba67b88ab59b084 to 2cb637cd75984f46f84f249983347f50fff1d7bc
 Description modified (diff)
New commits:
8d9c05a  Move upstream changes to autodoc into Sage

90367d8  update sphinx package to 1.3.1

6f42e1e  fix some deprecation warnings

9961661  fix orphan setting

f24c34f  fix warning "more than one target found for crossreference u'groebner_basis'"

2cb637c  trac 18497: in docbuilding, use exclude_patterns instead of exclude_trees.

comment:30 Changed 6 years ago by
Rebased on #20359 except for the changes to sage_autodoc.py
and the changes to .. automethod::
.
comment:31 Changed 6 years ago by
 Description modified (diff)
comment:32 Changed 6 years ago by
 Description modified (diff)
comment:33 Changed 6 years ago by
 Description modified (diff)
comment:34 Changed 6 years ago by
 Dependencies changed from #20359 to #20359, #20374
 Description modified (diff)
comment:35 Changed 6 years ago by
 Commit changed from 2cb637cd75984f46f84f249983347f50fff1d7bc to 8d5347df86ae7b1d50d319388ae440446c821f6e
Branch pushed to git repo; I updated commit sha1. New commits:
8d5347d  Upgrade to Sphinx 1.4

comment:36 Changed 6 years ago by
 Dependencies changed from #20359, #20374 to #20359, #14840
comment:37 Changed 6 years ago by
I get
Building reference manual, first pass. Error building the documentation. Traceback (most recent call last): File "/64bitdev/storage/sagegit_develop/sage/local/lib/python/runpy.py", line 162, in _run_module_as_main "__main__", fname, loader, pkg_name) File "/64bitdev/storage/sagegit_develop/sage/local/lib/python/runpy.py", line 72, in _run_code File "/64bitdev/storage/sagegit_develop/sage/local/lib/python2.7/sitepackages/sage_setup/docbuild/__main__.py", line 2, in <module> main() File "/64bitdev/storage/sagegit_develop/sage/local/lib/python2.7/sitepackages/sage_setup/docbuild/__init__.py", line 1629, in main builder() File "/64bitdev/storage/sagegit_develop/sage/local/lib/python2.7/sitepackages/sage_setup/docbuild/__init__.py", line 284, in _wrapper getattr(get_builder(document), 'inventory')(*args, **kwds) File "/64bitdev/storage/sagegit_develop/sage/local/lib/python2.7/sitepackages/sage_setup/docbuild/__init__.py", line 495, in _wrapper x.get(99999) File "/64bitdev/storage/sagegit_develop/sage/local/lib/python/multiprocessing/pool.py", line 567, in get raise self._value TypeError: frompickle() takes exactly 3 arguments (2 given)
In
local/lib/python2.7/sitepackages/sage_setup/docbuild/__init__.py
there is
env = BuildEnvironment.frompickle(config, env_pickle)
And in
local/lib/python2.7/sitepackages/Sphinx1.4py2.7.egg/sphinx/environment.py
there is
def frompickle(srcdir, config, filename):
It looks like the srcdir
is new. I believe I've merged everything.
comment:38 Changed 6 years ago by
 Cc days77 added
comment:39 Changed 6 years ago by
 Commit changed from 8d5347df86ae7b1d50d319388ae440446c821f6e to ba6c218334007974eb88427a9ba7a36b64361268
comment:40 Changed 6 years ago by
This now builds Sphinx correctly. I agree with the problem on 37 but have not investigated yet.
comment:41 Changed 6 years ago by
I don't know the right fix, but I think the problem is in this line:

src/sage_setup/docbuild/__init__.py
diff git a/src/sage_setup/docbuild/__init__.py b/src/sage_setup/docbuild/__init__.py index 6bfe38e..069c0a9 100644
a b class ReferenceSubBuilder(DocBuilder): 767 767 768 768 env_pickle = os.path.join(self._doctrees_dir(), 'environment.pickle') 769 769 try: 770 env = BuildEnvironment.frompickle( config, env_pickle)770 env = BuildEnvironment.frompickle(self.dir, config, env_pickle) 771 771 logger.debug("Opened Sphinx environment: %s", env_pickle) 772 772 return env 773 773 except IOError as err:
With this change I get other errors, one of which can be fixed like this:

src/sage_setup/docbuild/ext/sage_autodoc.py
diff git a/src/sage_setup/docbuild/ext/sage_autodoc.py b/src/sage_setup/docbuild/ext/sage_autodoc.py index 20f7168..e2073a5 100644
a b from sphinx.application import ExtensionError 38 38 from sphinx.util.nodes import nested_parse_with_titles 39 39 from sphinx.util.compat import Directive 40 40 from sphinx.util.inspect import getargspec, isdescriptor, safe_getmembers, \ 41 safe_getattr, safe_repras sphinx_safe_repr, is_builtin_class_method41 safe_getattr, object_description as sphinx_safe_repr, is_builtin_class_method 42 42 from sphinx.util.pycompat import base_exception, class_types 43 43 from sphinx.util.docstrings import prepare_docstring 44 44
I don't know about the others, though.
comment:42 followup: ↓ 46 Changed 6 years ago by
Also, sphinx still tries to load alabaster
even though it is not installed because of no_alabaster.patch
. In Sphinx1.4/sphinx/application.py
there is
# for now, sphinx always load a 'alabaster' extension. if 'alabaster' not in self.config.extensions: self.config.extensions.append('alabaster')
comment:43 Changed 6 years ago by
 Cc days77 removed
 Keywords days77 added
comment:44 Changed 6 years ago by
 Commit changed from ba6c218334007974eb88427a9ba7a36b64361268 to 4d79d4b377961d4fc712347c624e940438331c92
Branch pushed to git repo; I updated commit sha1. New commits:
4d79d4b  Fix frompickle() call

comment:45 Changed 6 years ago by
 Commit changed from 4d79d4b377961d4fc712347c624e940438331c92 to 55b17c7b5315c21a4760c553ddfd202fe5e99ed4
Branch pushed to git repo; I updated commit sha1. New commits:
55b17c7  Trivial autodoc changes

comment:46 in reply to: ↑ 42 Changed 6 years ago by
Replying to strogdon:
Also, sphinx still tries to load
alabaster
even though it is not installed because ofno_alabaster.patch
.
Right, I guess that's what I meant by "other errors".
comment:47 Changed 6 years ago by
So, using MAKE=make j1
the first failures/warnings are:
[repl ] /64bitdev/storage/sagegit_develop/sage/src/doc/en/reference/repl/sage/repl/display/fancy_repr.rst:13: WARNING: don't know which module to import for autodocumenting u'__call__' (try placing a "module" or "currentmodule" directive in the document, or giving an explicit module name) [repl ] /64bitdev/storage/sagegit_develop/sage/src/doc/en/reference/repl/sage/repl/display/fancy_repr.rst:23: WARNING: don't know which module to import for autodocumenting u'__call__' (try placing a "module" or "currentmodule" directive in the document, or giving an explicit module name) [repl ] /64bitdev/storage/sagegit_develop/sage/src/doc/en/reference/repl/sage/repl/display/fancy_repr.rst:53: WARNING: don't know which module to import for autodocumenting u'__call__' (try placing a "module" or "currentmodule" directive in the document, or giving an explicit module name) [repl ] /64bitdev/storage/sagegit_develop/sage/src/doc/en/reference/repl/sage/repl/display/fancy_repr.rst:69: WARNING: don't know which module to import for autodocumenting u'__call__' (try placing a "module" or "currentmodule" directive in the document, or giving an explicit module name) [repl ] /64bitdev/storage/sagegit_develop/sage/src/doc/en/reference/repl/sage/repl/display/fancy_repr.rst:79: WARNING: don't know which module to import for autodocumenting u'__call__' (try placing a "module" or "currentmodule" directive in the document, or giving an explicit module name) [repl ] /64bitdev/storage/sagegit_develop/sage/src/doc/en/reference/repl/sage/repl/display/util.rst:15: WARNING: don't know which module to import for autodocumenting u'__call__' (try placing a "module" or "currentmodule" directive in the document, or giving an explicit module name)
And all occur where there is
.. automethod:: __call__
which is the same type of error we had way back when. So what's the fix
 to include the class
name with the method
name?
comment:48 Changed 6 years ago by
 Dependencies changed from #20359, #14840 to #20359, #14840, #20389
comment:49 Changed 6 years ago by
I am working on this, hang on...
comment:50 Changed 6 years ago by
 Commit changed from 55b17c7b5315c21a4760c553ddfd202fe5e99ed4 to 44446611df76245bb00bcd8a0090c2480c56b976
comment:51 Changed 6 years ago by
I see. That's the way it is in the Sphinx autodoc.py
.
comment:52 Changed 6 years ago by
 Commit changed from 44446611df76245bb00bcd8a0090c2480c56b976 to 73aca63fd0c25b4662a600fa4babaef87bc3c92e
Branch pushed to git repo; I updated commit sha1. This was a forced push. New commits:
046b815  update sphinx package to 1.3.1

e6a83ce  fix some deprecation warnings

8f26547  fix orphan setting

490b1ba  fix warning "more than one target found for crossreference u'groebner_basis'"

2e872d8  trac 18497: in docbuilding, use exclude_patterns instead of exclude_trees.

6202e0f  Upgrade to Sphinx 1.4

88ab0b8  Fix frompickle() call

fccac05  Trivial autodoc changes

7b7a233  Use ref_context instead of temp_data

73aca63  Fix citation warnings in the first docbuild pass

comment:53 Changed 6 years ago by
 Dependencies #20359, #14840, #20389 deleted
comment:54 Changed 6 years ago by
 Description modified (diff)
comment:55 Changed 6 years ago by
 Description modified (diff)
 Summary changed from Update Sphinx to 1.4 to Update Sphinx to 1.4.1
comment:56 Changed 6 years ago by
 Commit changed from 73aca63fd0c25b4662a600fa4babaef87bc3c92e to 3f44a4846044757fb950baf1896b632807c7bc87
Branch pushed to git repo; I updated commit sha1. This was a forced push. Last 10 new commits:
e19c9cd  update sphinx package to 1.3.1

687b8d0  fix some deprecation warnings

e830471  fix orphan setting

f14cee0  trac 18497: in docbuilding, use exclude_patterns instead of exclude_trees.

c4bc6ec  Upgrade to Sphinx 1.4.1

77f2e25  Use object_description() instead of safe_repr()

8fbd81c  Fix frompickle() call

4899d1b  Use ref_context instead of temp_data

dd122ec  Merge titles

3f44a48  Remove warnings while setting up extensions

comment:57 Changed 6 years ago by
 Commit changed from 3f44a4846044757fb950baf1896b632807c7bc87 to 0bf4475d4e79871f48f3313692140c7ad558fc0d
Branch pushed to git repo; I updated commit sha1. This was a forced push. New commits:
0bf4475  Remove some warnings

comment:58 Changed 6 years ago by
 Dependencies set to #20488
comment:59 Changed 6 years ago by
The htmldocs do build once I deal with alabaster
.
[tensor_fr] Extension error: [polynomia] Extension error: [repl ] Extension error: [tensor_fr] Could not import extension alabaster (exception: No module named alabaster)
It seems to me that that either alabaster
must be included as a package or it must be neutered (see comment:42). Also there is a typo in /build/pkgs/sphinx/patches/Makefile.patch
, epdflatex
should be pdflatex
which halts building of the latexdocs.
comment:60 Changed 6 years ago by
I might add that I find it amazing how this has progressed. Initially it was a nightmare.
comment:61 Changed 6 years ago by
The generated documentation doesn't look bad either, there is not much difference with the old version. One thing I noticed is that the sage:
prompts are no longer syntax highlighted in a special way. This is probably a bug, in any case it makes the documentation look more boring.
comment:62 Changed 6 years ago by
 Commit changed from 0bf4475d4e79871f48f3313692140c7ad558fc0d to fefe126a19438628d17e27a03a0a2c4a84266526
Branch pushed to git repo; I updated commit sha1. This was a forced push. New commits:
59e9128  Use exclude_patterns instead of exclude_trees

ec99297  Upgrade to Sphinx 1.4.1

a4ac4bd  Use object_description() instead of safe_repr()

4fcca56  Fix frompickle() call

1b2f057  Use ref_context instead of temp_data

cbe7b8a  Merge titles

fefe126  Remove some warnings

comment:63 Changed 6 years ago by
 Commit changed from fefe126a19438628d17e27a03a0a2c4a84266526 to e26d3495e2697933de1012d9890da9be01a65331
Branch pushed to git repo; I updated commit sha1. New commits:
e26d349  Fix syntax highlighting

comment:64 Changed 6 years ago by
Perhaps getting a bit ahead but if I force building the pdfdocs I get
$ l.6285 \($\prod _j=1^{i1} m_j^{1} (mod m_i)$\)
which seems to come from
local/share/doc/sage/latex/en/reference/rings_standard/rings_standard.tex
The associated math formulas in
local/share/doc/sage/html/en/reference/rings_standard/sage/ext/multi_modular.html
don't look correct.
WikiFormatting is not working properly for me here. I can't get what I want inside a {{{...}}}
comment:65 followup: ↓ 69 Changed 6 years ago by
Is this the formula on line 710 of multi_modular.pyx
? That looks like it has extra backticks or dollar signs: the formula should have one or the other, not both.
comment:66 Changed 6 years ago by
 Description modified (diff)
comment:67 Changed 6 years ago by
 Commit changed from e26d3495e2697933de1012d9890da9be01a65331 to 7c2d9d570966b59fd449eb50273242a627eb50f5
Branch pushed to git repo; I updated commit sha1. This was a forced push. Last 10 new commits:
1d1a55e  fix some deprecation warnings

ad77f32  fix orphan setting

0c2d32b  Use exclude_patterns instead of exclude_trees

8994b2e  Upgrade to Sphinx 1.4.1

d8bd358  Use object_description() instead of safe_repr()

eb4b263  Fix frompickle() call

496b284  Use ref_context instead of temp_data

e16162f  Merge titles

039dd29  Remove some warnings

7c2d9d5  Fix syntax highlighting

comment:68 in reply to: ↑ 11 Changed 6 years ago by
Replying to strogdon:
Also, if
alabaster
is not needed thensphinx
will have to be patched to prevent it from being imported.
I fixed this problem by simply installing alabaster
. It's a small package, so it's not worth the trouble to patch Sphinx for it. Also, while Sage doesn't use alabaster, maybe other packages do use it.
comment:69 in reply to: ↑ 65 ; followup: ↓ 71 Changed 6 years ago by
Replying to jhpalmieri:
Is this the formula on line 710 of
multi_modular.pyx
? That looks like it has extra backticks or dollar signs: the formula should have one or the other, not both.
Yes, that's it. And there is a similar problem in src/sage/symbolic/expression.pyx
around line 8830.
There are two square roots of `$(x + 1)^2$`
It appears this version of Sphinx is exposing some sphinx syntax issues in the documentation that now appear when generating the latex files for building the pdfdocs. The older sphinx > latex must be a bit more forgiving.
comment:70 Changed 6 years ago by
 Commit changed from 7c2d9d570966b59fd449eb50273242a627eb50f5 to f1ae5e679cba7b7873c2c2654694e9d04c3e0c81
Branch pushed to git repo; I updated commit sha1. New commits:
f1ae5e6  Fix doctest failures with Sphinx 1.4.1

comment:71 in reply to: ↑ 69 Changed 6 years ago by
Replying to strogdon:
Yes, that's it. And there is a similar problem in
src/sage/symbolic/expression.pyx
around line 8830.
Feel free to add commits to fix such issues. I will stop rebasing this branch to make it easier for other people to push fixes.
Sage now builds and all doctests pass with this branch. On first sight, the documentation looks good too.
comment:72 followup: ↓ 73 Changed 6 years ago by
Also, I see two of
! LaTeX Error: Lonely \itemperhaps a missing list environment.
in docpdf.log
. After grepping through latex/en/reference
it's because of combinat/combinat.tex
and graphs/graphs.tex
where there is
}, \footnote[2]{\sphinxAtStartFootnote%\begin{enumerate} \setcounter{enumi}{4} \item {} Assmus, J. Key, Designs and their codes, CUP, 1992. \end{enumerate}
I suspect this should be
}, \footnote[2]{\sphinxAtStartFootnote% \begin{enumerate} \setcounter{enumi}{4} \item {} Assmus, J. Key, Designs and their codes, CUP, 1992. \end{enumerate}
which does work. And since this is autogenerated, I suspect a bug?
comment:73 in reply to: ↑ 72 Changed 6 years ago by
Replying to strogdon:
And since this is autogenerated, I suspect a bug?
The real problem is that docutils interprets this as a list item (and that's a feature!):
E. Assmus, J. Key, Designs and their codes, CUP, 1992.
This should work:
.. [2] E. Assmus, J. Key, Designs and their codes, CUP, 1992. +.. [2] \E. Assmus, J. Key, Designs and their codes, CUP, 1992.
comment:74 Changed 6 years ago by
See #20496 for this.
comment:75 Changed 6 years ago by
 Dependencies changed from #20488 to #20496
comment:76 Changed 6 years ago by
 Dependencies changed from #20496 to #20496, #20498
comment:77 Changed 6 years ago by
 Commit changed from f1ae5e679cba7b7873c2c2654694e9d04c3e0c81 to e88c802d410411061c8e3972bbb5e2e2ed72cdfe
Branch pushed to git repo; I updated commit sha1. New commits:
e88c802  Fix malformatted mathematics

comment:78 Changed 6 years ago by
 Commit changed from e88c802d410411061c8e3972bbb5e2e2ed72cdfe to bdc3f0b8f6be1e0b0bc8e2bbf26067262be90c88
Branch pushed to git repo; I updated commit sha1. New commits:
00722fd  Escape abbreviated first names in references

d92eada  Add documentation

54d3cf8  Clean up multi_modular.pyx

ae6192a  Move multi_modular to arith

bdc3f0b  Merge commit 'd92eadade4c3b6a477a14809adeac3c058458ad3'; commit 'ae6192a2a300f7fb7a1bae3dd8034e4d24767428' into t/18497/ticket/18497

comment:79 Changed 5 years ago by
Is this ready for review?
comment:80 Changed 5 years ago by
So I've finally been able to build the pdfdocs without error.
comment:81 Changed 5 years ago by
 Status changed from needs_work to needs_review
Let's say it's ready for review then.
comment:82 Changed 5 years ago by
 Reviewers set to Steven Trogdon
 Status changed from needs_review to positive_review
This looks good. Everything builds here. I do see
Makefile:27: recipe for target 'allpdfja' failed make[2]: [allpdfja] Error 255 (ignored) for f in *.tex; do platex kanji=utf8 $f; done
when building the Japanese pdfs (the two Japanese pdfs are generated and, as far as I can determine, look OK). Perhaps a consequence of my system Japanese lang installation which took some effort to get it to work.
@jhpalmieri (John) add your name if you concur.
comment:83 Changed 5 years ago by
 Reviewers changed from Steven Trogdon to Steven Trogdon, John Palmieri
comment:84 Changed 5 years ago by
I never managed to get the Japanese docs working, so I cannot fully test that either.
comment:85 Changed 5 years ago by
 Branch changed from u/jdemeyer/ticket/18497 to bdc3f0b8f6be1e0b0bc8e2bbf26067262be90c88
 Resolution set to fixed
 Status changed from positive_review to closed
The given branch misses some dependencies (babel, snowballstemmer). Installing them via pip makes Sphinx build. But documentation failed to build.