> That would be my wrong-doing, I do not see this under linux though.
>
> I will have a look at this.

There are actually two problems here:

1. pplatex is returned as the default latex command, and is used to
test latex configurations. This program looks for some dvi file to
postprocess it, and will fail if there is no dvi generated. Because
our latex configuration code does not produce any .dvi file, pplatex
always fails.

2. pplatex returns 256, a nonstandard error code (most OS allows
1-127) in this case. This code is interpreted as failure under
windows, but as success under linux. This is why I did not notice this
problem.

The attached patch use latex to run configuration scripts, and adjust
this 256 return value.

Michael, could you test this patch?

Bo
Index: lib/configure.py
===================================================================
--- lib/configure.py	(revision 21679)
+++ lib/configure.py	(working copy)
@@ -198,14 +198,17 @@
 
 def checkLatex(dtl_tools):
     ''' Check latex, return lyx_check_config '''
+    path, LATEX = checkProg('a Latex2e program', ['latex $$i', 'latex2e $$i'])
+    path, PPLATEX = checkProg('a DVI postprocessing program', ['pplatex $$i'])
+    # use LATEX to convert from latex to dvi if PPLATEX is not available    
+    if PPLATEX == '':
+        PPLATEX = LATEX
     if dtl_tools:
         # Windows only: DraftDVI
-        converter_entry = r'''\converter latex      dvi2       "%%"	"latex"
-\converter dvi2       dvi        "python -tt $$s/scripts/clean_dvi.py $$i $$o"	""'''
+        addToRC(r'''\converter latex      dvi2       "%s"	"latex"
+\converter dvi2       dvi        "python -tt $$s/scripts/clean_dvi.py $$i $$o"	""''' % PPLATEX)
     else:
-        converter_entry = r'\converter latex      dvi        "%%"	"latex"'
-    path, LATEX = checkProg('a Latex2e program', ['pplatex $$i', 'latex $$i', 'latex2e $$i'],
-        rc_entry = [converter_entry])
+        addToRC(r'\converter latex      dvi        "%s"	"latex"' % PPLATEX)
     # no latex
     if LATEX != '':
         # Check if latex is usable
@@ -851,4 +854,7 @@
         bool_docbook, bool_linuxdoc)
     createLaTeXConfig()
     removeTempFiles()
-    sys.exit(ret)
+    # The return error code can be 256. Because most systems expect an error code
+    # in the range 0-127, 256 can be interpretted as 'success'. Because we expect
+    # a None for success, 'ret is not None' is used to exit.
+    sys.exit(ret is not None)

Reply via email to