Weder mimetex noch miktex funktionieren

Weder mimetex noch miktex funktionieren

von Lars Bücken -
Anzahl Antworten: 8
Hallo zusammen,

auf unserem neuen Server habe ich große Probleme mit dem Tex-Filter. Ich habe schon diverse Hinweise aus den Foren ausprobiert, bin aber bislang nicht weitergekommen. Das einzig Positive ist, dass in "moodledata\tmp\latex" .tex-Dateien landen - mehr passiert indes nicht ("moodledata\filter\tex" bleibt leer).

Folgendes habe ich bereits probiert:
-Rechte des moodledata\filter\tex-Ordners neu gesetzt
-Installationsfassung von mimetex.exe durch neueste Version von moodle.org ersetzt
-Miktex und Imagemagick installiert, unter Filter/Tex die Pfade gesetzt, grüne Häkchen sind da - mehr passiert allerdings nicht
-Workaround für MikTex unter Windows 2003 durchgearbeitet (http://moodle.org/mod/forum/discuss.php?d=118478) - dies hat keine Veränderung ergeben - daher habe ich die Veränderungen wieder rückgängig gemacht


Folgende Ausgaben bekomme ich über das Debug-Skript:

1) [See the cache_filters database entry for this expression (if any)]
DB cache_filters entry for f(x)=\\Bigint_{-\\infty}^x~e^{-t^2}dt not found

3) [Show a graphic image of the algebraic expression rendered with mimetex]
Der Befehl "C:\Program Files " ist entweder falsch geschrieben oder konnte nicht gefunden werden.
The shell command
C:\Program^ Files^ (x86)\Apache^ Software^ Foundation\Apache2.2\htdocs\moodle/filter/tex/mimetex.exe ++ -e "C:\Program Files (x86)\Apache Software Foundation\Apache2.2/moodledata/filter/tex/d1e56126337cd6e29b16fe759232ce90.gif" -- "\Large f(x)=\\Bigint_{-\\infty}^x~e^{-t^2}dt"
returned status = 1
File size of mimetex executable C:\Program Files (x86)\Apache Software Foundation\Apache2.2\htdocs\moodle/filter/tex/mimetex.exe is 943027
The file permissions are: 100777
The md5 checksum of the file is 8bb2d0687c94dcecee38fc241db5f565
Image not found!

No text output available

4) [Show a graphic image of the algebraic expression rendered with Tex/Ghostscript]
Warning: filemtime() [function.filemtime]: stat failed for C:\Program Files (x86)\Apache Software Foundation\Apache2.2/moodledata/temp/latex/d1e56126337cd6e29b16fe759232ce90.gif in C:\Program Files (x86)\Apache Software Foundation\Apache2.2\htdocs\moodle\lib\filelib.php on line 672

Warning: filesize() [function.filesize]: stat failed for C:\Program Files (x86)\Apache Software Foundation\Apache2.2/moodledata/temp/latex/d1e56126337cd6e29b16fe759232ce90.gif in C:\Program Files (x86)\Apache Software Foundation\Apache2.2\htdocs\moodle\lib\filelib.php on line 673

Warning: Cannot modify header information - headers already sent by (output started at C:\Program Files (x86)\Apache Software Foundation\Apache2.2\htdocs\moodle\lib\filelib.php:672) in C:\Program Files (x86)\Apache Software Foundation\Apache2.2\htdocs\moodle\lib\filelib.php on line 704

Warning: fopen(C:\Program Files (x86)\Apache Software Foundation\Apache2.2/moodledata/temp/latex/d1e56126337cd6e29b16fe759232ce90.gif) [function.fopen]: failed to open stream: No such file or directory in C:\Program Files (x86)\Apache Software Foundation\Apache2.2\htdocs\moodle\lib\filelib.php on line 987

5) [Show command execution output from the algebraic expression rendered with Tex/Ghostscript]
Checking executables
latex executable (C:\Program Files (x86)\MiKTeX 2.8\miktex\bin\latex.exe) is readable
dvips executable (C:\Program Files (x86)\MiKTeX 2.8\miktex\bin\dvips.exe) is readable
convert executable (C:\Program Files\ImageMagick-6.5.7-Q16\convert.exe) is readable

base filename for expression is 'd1e56126337cd6e29b16fe759232ce90'

Processing TeX expression:

f(x)=\Bigint_{-\infty}^x~e^{-t^2}dt

$ C:\Program Files (x86)\MiKTeX 2.8\miktex\bin\latex.exe --interaction=nonstopmode C:\Program Files (x86)\Apache Software Foundation\Apache2.2/moodledata/temp/latex/d1e56126337cd6e29b16fe759232ce90.tex
OUTPUT:
RETURN CODE: 1

$ "C:\Program Files (x86)\MiKTeX 2.8\miktex\bin\dvips.exe" -q -E C:\Program Files (x86)\Apache Software Foundation\Apache2.2/moodledata/temp/latex/d1e56126337cd6e29b16fe759232ce90.dvi
OUTPUT:
RETURN CODE: 1

$ "C:\Program Files\ImageMagick-6.5.7-Q16\convert.exe" -density 240 -trim C:\Program Files (x86)\Apache Software Foundation\Apache2.2/moodledata/temp/latex/d1e56126337cd6e29b16fe759232ce90.ps C:\Program Files (x86)\Apache Software Foundation\Apache2.2/moodledata/temp/latex/d1e56126337cd6e29b16fe759232ce90.gif
OUTPUT:
RETURN CODE: 1

Hier noch die Angaben zu dem Server:
Windows Server 2008 64-Bit SP2
Apache 2.2.11
PHP 5.2.10
MySQL 5.1
Moodle 1.9.6

Die Logdateien machen mich etwas ratlos - anscheinend sind auch bei der mimetex Pfadangaben das Problem... es wäre super, wenn von Euch noch jemand einen Tipp hätte. Vielen Dank schon einmal.

Lars
Mittelwert:  -
Als Antwort auf Lars Bücken

Re: Weder mimetex noch miktex funktionieren

von Maik Riecken -
Was wirft denn

http://www.deinmoodle.de/mit_eventuell_pfad/filter/tex/texdebug.php

aus? Du wirst hier nicht viele Leute finden, die Moodle unter Windows-Server betreiben - ich empfehle da das englischsprachige Windows-Server-Forum...

Mich als Executable (*.exe) würden zudem die ganzen Mixturen aus Slash/Backslash, Groß- und Kleinschreibung, Leerzeichen in den Pfaden so stressen, dass ich meine Inputdaten gar nicht mehr finden würde.

Im Prinzip musst du herausfinden, was er mit "RETURN CODE: 1" genau meint - ich wüsste Ansätze dafür unter Linux, daher der Hinweis auf das Windowsforum. Ich tippe darauf, dass er mit den wilden Pfaden und Dateinamen nicht klarkommt...

Gruß,

Maik


Als Antwort auf Maik Riecken

Re: Weder mimetex noch miktex funktionieren

von Lars Bücken -
Hi Maik,

die Ausgabe des texdebug-Skriptes habe ich oben in den ersten Beitrag geschrieben...der Return Code: 1 bedeutet sowohl bei der mimetex als auch bei den drei optionalen Binaries (latex, dvips, convert), dass kein Output vorliegt (zumindest bin ich im englischen Forum auf einen Beitrag gestoßen, in dem das so beschrieben wurde).

Vielen Grüße und danke schon einmal
Lars
Als Antwort auf Lars Bücken

Re: Weder mimetex noch miktex funktionieren

von Maik Riecken -
Gut. Da habe ich nicht richtig gelesen/verstanden. Ich dachte, dass du die Ausgaben des Debugmodus gepostet hast. Vielleicht sagt der mehr/was anderes:

Website-Adminstration => Server => Debugging => (ALLE)

Du erwähntest außerdem Logdateien des Webservers. Bitte kein Geheimnis draus machen...

Gruß,

Maik

Als Antwort auf Maik Riecken

Re: Weder mimetex noch miktex funktionieren

von Lars Bücken -
Sorry, das mit den Logdateien war blöd ausgedückt - ich meinte die Ausgaben von dem texdebug. Die Debuggingeinstellung steht bereits auf alle.

Liebe Grüße
Lars
Als Antwort auf Maik Riecken

Re: Weder mimetex noch miktex funktionieren

von Lars Bücken -
Hi Maik,

es ist definitv ein Pfadproblem. Texdebug gab für mimetex.exe ja folgende Meldung aus:
C:\Program^ Files^ (x86)\Apache^ Software^ Foundation\Apache2.2\htdocs\moodle/filter/tex/mimetex.exe ++ -e "C:\Program Files (x86)\Apache Software Foundation\Apache2.2/moodledata/filter/tex/d1e56126337cd6e29b16fe759232ce90.gif" -- "\Large f(x)=\\Bigint_{-\\infty}^x~e^{-t^2}dt"

Ich habe mal über die Eingabeaufforderung folgenden Befehl laufen lassen:
"C:\Program Files (x86)\Apache Software Foundation\Apache2.2\htdocs\moodle/filter/tex/mimetex.exe" ++ -e "C:\Program Files (x86)\Apache Software Foundation\Apache2.2/moodledata/filter/tex/d1e56126337cd6e29b16fe759232ce90.gif" -- "\Large f(x)=\\Bigint_{-\\infty}^x~e^{-t^2}dt"

Dann wurde die .gif Datei erzeugt und korrekt in dem filter/tex-Verzeichnis abgelegt. Weißt Du (oder jemand anderes), an welchen Stellen man die Verzeichniskorrektur vornehmen muss?
Als Antwort auf Lars Bücken

Re: Weder mimetex noch miktex funktionieren

von Maik Riecken -
Erster Ansatz wäre die config.php im Hauptverzeichnis. Da sind die Serverpfade hart und absolut verdrahtet. Ich weiß nicht, was Windows mit z.B. den Leerzeichen in den Angaben macht und ob man die eventuell über PHP escapen muss.

Zweiter Ansatz wäre die php.ini. Dort gibt es einige Direktiven speziell für Windows (über die ich mir noch nie Gedanken machen musste).

Dritter Ansatz wäre eine rekursive Volltextsuche nach dem Pfad im Moodleverzeichnis. Dann hat man zumindest die Stellen erschlagen, die nicht in der Datenbank stehen.

Gruß und viel Glück,

Maik
Als Antwort auf Lars Bücken

Re: Weder mimetex noch miktex funktionieren

von Lars Bücken -
Ich wollte noch eine kurze Rückmeldung geben, weil sich das Problem mittlerweile gelöst hat: Die Fehler lagen an den Leerzeichen zum moodle-Verzeichnis und moodledata-Verzeichnis. Ich habe beide Verzeichnisse verschoben und die entsprechenden Einträge in den Moodle-, PHP- und Apache-Konfigurationsdateien angepasst. Danach läuft der Tex-Filter einwandfrei.
Als Antwort auf Lars Bücken

Re: Weder mimetex noch miktex funktionieren

von Maik Riecken -
Tja. Windows halt. Pfadangaben *immer* im ASCII-Zeichsatz und ohne Steuerzeichen halten (Kleinbuchstaben und Zahlen, nix sonst). So gibt es bei keinem Systemwechsel Probleme. Man könnte sich als OS-Hersteller auch auf einheitliche Zeichenkodierungen einigen. Vielleicht will man nicht.

Gruß,

Maik