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()

Reply via email to