texvc不会在Mediawiki中渲染latex数学



我有数学扩展安装在我的MediaWiki 1.19。在我将Ubuntu服务器从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来检查是否修复了这个问题。当从命令行调用extensions/Math/math目录中的texvc可执行文件时,它似乎完成了它的工作。我已经检查了所有其他可执行文件(latex, dvipng等)是否正常工作。

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

这个问题似乎与texvc在调用latexdvipng时遇到问题有关。

什么可能导致这个问题,我该如何解决它?

我明白了。基本上,任何shell命令都是通过安全过滤器传递的。因此,在实践中,texvc是由Mediawiki通过bin/ulimit4.sh:

执行的。
#!/bin/bash
ulimit -t $1 -v $2 -f $3
eval "$4"

,其中$4是正在运行的实际texvc命令,$2是该进程允许的内存量。默认情况下提供的内存是102400 KB(确切地说是100MB),这似乎不足以运行这个进程。可以使用变量$wgMaxShellMemoryLocalSettings.php中设置内存量。在我的例子中,我将其设置为300MB, $wgMaxShellMemory = 307200;,这似乎已经足够了。

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

在升级到Ubuntu 14.04后停止工作的原因可能与新发布的latex, dvipng, convert等版本需要比Ubuntu 12.04版本更多的内存有关。

最新更新