Message ID | 20170831064941.1fb18d20@vento.lan (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On Thu, 31 Aug 2017, Mauro Carvalho Chehab <mchehab@s-opensource.com> wrote: > As Documentation/conf.py has: > > # -*- coding: utf-8 -*- > > on its first line, I suspect that the error you're getting is likely > due to the usage of a python version that doesn't recognize this. AFAIK that has nothing to do with python I/O, and everything to do with the encoding of that specific python source file. BR, Jani.
Em Thu, 31 Aug 2017 16:26:44 +0300 Jani Nikula <jani.nikula@linux.intel.com> escreveu: > On Thu, 31 Aug 2017, Mauro Carvalho Chehab <mchehab@s-opensource.com> wrote: > > As Documentation/conf.py has: > > > > # -*- coding: utf-8 -*- > > > > on its first line, I suspect that the error you're getting is likely > > due to the usage of a python version that doesn't recognize this. > > AFAIK that has nothing to do with python I/O, and everything to do with > the encoding of that specific python source file. Jani, It should have something to do with python version and/or to some locale info at the system, as neither I or Jon can reproduce it. Can you reproduce it on your system? Thanks, Mauro
On Thu, 31 Aug 2017 10:56:26 -0300 Mauro Carvalho Chehab <mchehab@s-opensource.com> wrote: > It should have something to do with python version and/or to some > locale info at the system, as neither I or Jon can reproduce it. I can't reproduce it here, but I have certainly seen situations where Python 2 wants to run with the ascii codec by default. Note that the exception happens in our Sphinx extension, not in Sphinx itself. We've had other non-ascii text in our docs, so I think Sphinx is doing the right thing. The problem is with our own code. If I could reproduce it, it shouldn't be too hard to track down - take out that massive "except anything" block and see where it explodes. Randy, which distribution are you running, and are you using their version of Sphinx? Thanks, jon
On 08/31/17 02:49, Mauro Carvalho Chehab wrote: > Em Wed, 30 Aug 2017 15:02:59 -0700 > Randy Dunlap <rdunlap@infradead.org> escreveu: > >> On 08/30/17 14:23, Jonathan Corbet wrote: >>> On Mon, 28 Aug 2017 16:10:09 -0700 >>> Randy Dunlap <rdunlap@infradead.org> wrote: >>> >>>> kernel-doc parsing uses as ASCII codec, so let people know that >>>> kernel-doc comments should be in ASCII characters only. >>>> >>>> WARNING: kernel-doc '../scripts/kernel-doc -rst -enable-lineno ../drivers/media/dvb-core/demux.h' processing failed with: 'ascii' codec can't decode byte 0xe2 in position 6368: ordinal not in range(128) >>> >>> So I don't get this error. What kind of system are you running the docs >>> build on? I would really rather that the docs system could handle modern >>> text if possible, so it would be better to figure out what's going on >>> here... >> >> I'm OK with that. Source files in general don't need to be ASCII (0-127). >> >> I did this patch based on this (private) comment: >> >>> Yes, using ASCII should fix the problem. >> >> what kind of system? HP laptop. >> >> Linux midway.site 4.4.79-18.26-default #1 SMP Thu Aug 10 20:30:05 UTC 2017 (fa5a935) x86_64 x86_64 x86_64 GNU/Linux >> >>> sphinx-build --version >> Sphinx (sphinx-build) 1.3.1 > > I tried hard to reproduce the error here... I even added some Chinese > chars on a kernel-doc markup and changed the language on my system > to LANG=en_US.iso885915. > > No luck. > > As Documentation/conf.py has: > > # -*- coding: utf-8 -*- > > on its first line, I suspect that the error you're getting is likely > due to the usage of a python version that doesn't recognize this. > > It seems that such dialect was introduced on python version 2.3: > > https://docs.python.org/2.3/whatsnew/section-encodings.html > > Yet, the documentation there seems to require a line before it, > e. g.: > > #!/usr/bin/env python > # -*- coding: UTF-8 -*- > > I suspect, however, that, if such line is added, on some systems it > may not work, e. g. if both python 2 and 3 are installed, it could > use the python version that doesn't have Sphinx installed. > > So, I suspect that the safest way to fix it is with something like the > enclosed patch. Still, it could be useful to know what's happening, > just in case we get other reports. > > Randy, > > What's your python version? > python --version Python 2.7.13
On 08/31/17 07:17, Jonathan Corbet wrote: > On Thu, 31 Aug 2017 10:56:26 -0300 > Mauro Carvalho Chehab <mchehab@s-opensource.com> wrote: > >> It should have something to do with python version and/or to some >> locale info at the system, as neither I or Jon can reproduce it. > > I can't reproduce it here, but I have certainly seen situations where > Python 2 wants to run with the ascii codec by default. > > Note that the exception happens in our Sphinx extension, not in Sphinx > itself. We've had other non-ascii text in our docs, so I think Sphinx is > doing the right thing. The problem is with our own code. If I could > reproduce it, it shouldn't be too hard to track down - take out that > massive "except anything" block and see where it explodes. > > Randy, which distribution are you running, and are you using their version > of Sphinx? opensuse LEAP 42.2 Yes, their sphinx 1.3.1.
On Thu, 31 Aug 2017, Randy Dunlap <rdunlap@infradead.org> wrote: > On 08/31/17 07:17, Jonathan Corbet wrote: >> On Thu, 31 Aug 2017 10:56:26 -0300 >> Mauro Carvalho Chehab <mchehab@s-opensource.com> wrote: >> >>> It should have something to do with python version and/or to some >>> locale info at the system, as neither I or Jon can reproduce it. >> >> I can't reproduce it here, but I have certainly seen situations where >> Python 2 wants to run with the ascii codec by default. >> >> Note that the exception happens in our Sphinx extension, not in Sphinx >> itself. We've had other non-ascii text in our docs, so I think Sphinx is >> doing the right thing. The problem is with our own code. If I could >> reproduce it, it shouldn't be too hard to track down - take out that >> massive "except anything" block and see where it explodes. >> >> Randy, which distribution are you running, and are you using their version >> of Sphinx? > > opensuse LEAP 42.2 > Yes, their sphinx 1.3.1. What's your LANG setting? I think that's what it boils down to, and trying to work around non-UTF-8 LANG in both python 2 and 3 compatible ways. The odd thing is that I can reproduce the issue using a small python snippet, but not through Sphinx. BR, Jani.
On 08/31/17 09:05, Jani Nikula wrote: > On Thu, 31 Aug 2017, Randy Dunlap <rdunlap@infradead.org> wrote: >> On 08/31/17 07:17, Jonathan Corbet wrote: >>> On Thu, 31 Aug 2017 10:56:26 -0300 >>> Mauro Carvalho Chehab <mchehab@s-opensource.com> wrote: >>> >>>> It should have something to do with python version and/or to some >>>> locale info at the system, as neither I or Jon can reproduce it. >>> >>> I can't reproduce it here, but I have certainly seen situations where >>> Python 2 wants to run with the ascii codec by default. >>> >>> Note that the exception happens in our Sphinx extension, not in Sphinx >>> itself. We've had other non-ascii text in our docs, so I think Sphinx is >>> doing the right thing. The problem is with our own code. If I could >>> reproduce it, it shouldn't be too hard to track down - take out that >>> massive "except anything" block and see where it explodes. >>> >>> Randy, which distribution are you running, and are you using their version >>> of Sphinx? >> >> opensuse LEAP 42.2 >> Yes, their sphinx 1.3.1. > > What's your LANG setting? I think that's what it boils down to, and > trying to work around non-UTF-8 LANG in both python 2 and 3 compatible > ways. (default) LANG=C until I add the patch: +LANG=C.utf-8 > The odd thing is that I can reproduce the issue using a small python > snippet, but not through Sphinx.
diff --git a/Documentation/Makefile b/Documentation/Makefile index 85f7856f0092..94eb98031b56 100644 --- a/Documentation/Makefile +++ b/Documentation/Makefile @@ -55,6 +55,7 @@ quiet_cmd_sphinx = SPHINX $@ --> file://$(abspath $(BUILDDIR)/$3/$4) cmd_sphinx = $(MAKE) BUILDDIR=$(abspath $(BUILDDIR)) $(build)=Documentation/media $2 && \ PYTHONDONTWRITEBYTECODE=1 \ BUILDDIR=$(abspath $(BUILDDIR)) SPHINX_CONF=$(abspath $(srctree)/$(src)/$5/$(SPHINX_CONF)) \ + LANG=C.utf8\ $(SPHINXBUILD) \ -b $2 \ -c $(abspath $(srctree)/$(src)) \