texvc不会在Mediawiki中呈现乳胶数学

时间:2015-05-18 14:17:32

标签: latex mediawiki mediawiki-extensions

我在MediaWiki 1.19中安装了Math扩展程序。在我将Ubuntu Server从12.04更新到14.04之后,似乎搞砸了它并且它已经停止工作了。我尝试在<math></math>标记之间显示任何内容时,基本上会出现以下错误:

 Failed to parse (PNG conversion failed; check for correct installation 
 of latex and dvipng (or dvips + gs + convert))

我尝试了可以​​在线找到有关此问题的常见问题排查,并重新编译texvc以检查是否解决了问题。从命令行调用时,texvc目录中的extensions/Math/math可执行文件似乎可以正常工作。我显然已经检查过所有其他可执行文件(latexdvipng等)是否正常工作。

当我尝试从我的wiki渲染数学时,相应的*.tex文件在images/tmp中创建,其中包含正确的乳胶代码,但没有其他任何事情发生。

问题似乎与texvc无法调用latexdvipng有关。

可能导致此问题的原因以及如何解决?

1 个答案:

答案 0 :(得分:2)

好吧,我明白了。基本上,任何shell命令都由安全过滤器传递。所以在实践中,texvc由Mediawiki通过bin/ulimit4.sh执行:

#!/bin/bash

ulimit -t $1 -v $2 -f $3
eval "$4"

其中$4是正在运行的texvc命令,$2是此进程允许的内存量。默认情况下,内存为102400 KB(正好为100 MB),这似乎不足以运行此进程。可以使用变量LocalSettings.php$wgMaxShellMemory中设置内存量。在我的情况下,我将其设置为300MB,$wgMaxShellMemory = 307200;,这似乎已经足够了。

为什么这个生成png的小过程需要这么多内存我不知道。

更新到Ubuntu 14.04之后停止工作的原因可能与latexdvipngconvert的新发布版本有关,需要比Ubuntu 12.04附带的版本更多的内存。