On Wed, Apr 05, 2017 at 02:01:36PM +0200, Jean-Marc Lasgouttes wrote:
>
> I am not sure what the status is, but with latest version I get the
> following from configure.py:
>
> Traceback (most recent call last):
> File "/home/local/lasgoutt/lyx/master/lib/configure.py", line 1825, in
> <module>
> ret = checkLatexConfig(lyx_check_config and LATEX != '', bool_docbook)
> File "/home/local/lasgoutt/lyx/master/lib/configure.py", line 1379, in
> checkLatexConfig
> cl.write(line + '\n')
> UnicodeEncodeError: 'ascii' codec can't encode character u'\xe8' in position
> 82: ordinal not in range(128)
> support/Systemcall.cpp (295): Systemcall: 'python -tt
> "/home/local/lasgoutt/lyx/master/lib/configure.py"
> --with-version-suffix=-master
> --binary-dir="/home/local/lasgoutt/lyx/devbuild/src/"' finished with exit
> code 1
>
> This is with my oldish python 2.7.3.
Most probably you have some non-ascii characters in a \DeclareLaTeXClass
line in some of your layout files. Now those files are explicitly read as
utf-8 encoded. If this is so, the attached patch should help.
Another consequence of the recent changes is that if someone has old
layouts containing latin1 characters then configure will now misteriously
fail.
--
Enrico
diff --git a/lib/configure.py b/lib/configure.py
index be47cea..bdd825f 100644
--- a/lib/configure.py
+++ b/lib/configure.py
@@ -1374,7 +1374,7 @@ def checkLatexConfig(check_config, bool_docbook):
if nodeclaration:
continue
testclasses.sort()
- cl = open('chklayouts.tex', 'w')
+ cl = io.open('chklayouts.tex', 'w', encoding=enco)
for line in testclasses:
cl.write(line + '\n')
cl.close()