Troubleshooting Equation Images: Difference between revisions
No edit summary |
No edit summary |
||
| Line 1: | Line 1: | ||
Try setting <code>$WeBWorK::PG::ImageGenerator::PreserveTempFiles</code> to <code>1</code> (in <code>webwork2/lib/WeBWorK/Constants.pm</code>). After that, you should see directories like <code>ImageGenerator.xxxxxx</code> accumulating in <code>webwork2/tmp/</code>. These contain files that ImageGenerator uses in generating each equation image: | Try setting <code>$WeBWorK::PG::ImageGenerator::PreserveTempFiles</code> to <code>1</code> (in <code>webwork2/lib/WeBWorK/Constants.pm</code>). After that, you should see directories like <code>ImageGenerator.xxxxxx</code> accumulating in <code>webwork2/tmp/</code>. These contain files that ImageGenerator uses in generating each equation image: | ||
| Line 17: | Line 15: | ||
The PNG file that <code>dvipng</code> produces is moved from the <code>ImageGenerator.xxxxxx</code> directory and renamed, so you'll have to look at the HTML source of the problem page to find its name. It'll be something like <code>e40d5b21c65856b95bbc6f4dfced571.png</code>. (That's the SHA-1 hash of the TeX equation followed by <code>1.png</code>.) Make sure that file exists in <code>webwork2/htdocs/tmp/equations/</code>. Check its permissions. Make sure it is web-accessible (check <code>http://yourserver/webwork2_files/tmp/equations/filename.png</code>). See if it's a valid PNG, and see if it contains the proper equation image. | The PNG file that <code>dvipng</code> produces is moved from the <code>ImageGenerator.xxxxxx</code> directory and renamed, so you'll have to look at the HTML source of the problem page to find its name. It'll be something like <code>e40d5b21c65856b95bbc6f4dfced571.png</code>. (That's the SHA-1 hash of the TeX equation followed by <code>1.png</code>.) Make sure that file exists in <code>webwork2/htdocs/tmp/equations/</code>. Check its permissions. Make sure it is web-accessible (check <code>http://yourserver/webwork2_files/tmp/equations/filename.png</code>). See if it's a valid PNG, and see if it contains the proper equation image. | ||
== Inappropriate ioctl for device == | |||
This seems to occur when very old versions of <code>dvipng</code> are in use, and the easiest way to resolve it is to upgrade to the latest version. If that is not possible, try the following: | |||
[In ImageGenerator.pm I] had [to] use the command | |||
my $dvipngCommand = "cd $wd && $dvipng " . $DvipngArgs . " equation.dvi > dvipng.out 2> dvipng.err"; | |||
i.e. pass it equation.dvi rather than equation. Probably my old version of | |||
dvipng requires this. There certainly can't be any harm in this, correct? The | |||
newer versions of dvipng must accept this, correct? | |||
[[Category:Troubleshooting]] | |||
Revision as of 20:01, 21 February 2008
Try setting $WeBWorK::PG::ImageGenerator::PreserveTempFiles to 1 (in webwork2/lib/WeBWorK/Constants.pm). After that, you should see directories like ImageGenerator.xxxxxx accumulating in webwork2/tmp/. These contain files that ImageGenerator uses in generating each equation image:
equation.tex- TeX source fileequation.log- log file written by LaTeXequation.dvi- DVI file generated by LaTeXlatex.out,latex.err- messages written to STDOUT and STDERR by LaTeXdvipng.out,dvipng.err- messages written to STDOUT and STDERR by dvipng
- If
latex.outandlatex.errdon't exist, this indicates that LaTeX was never invoked. I'm not sure what would cause this. - If
equation.logdoesn't exist, then LaTeX was invoked, but probably never ran. Check for a properly installedlatexand make sure that the path tolatexinglobal.confis correct. - Check
equation.log,latex.out, andlatex.errfor errors. These might indicate problems in the TeX code being sent to LaTeX for processing. The errors might be in the equation itself in the PG file, or in the TexPreamble or TexPostamble, which are defined inConstants.pm. - if
equation.dvidoes not exist, then LaTeX was not able to interpret its input successfully. Readequation.log,latex.out, andlatex.errfor errors. - Open
equation.dviin a DVI viewer and see if it contains a properly rendered equation. - Check
dvipng.outanddvipng.errfor errors.
The PNG file that dvipng produces is moved from the ImageGenerator.xxxxxx directory and renamed, so you'll have to look at the HTML source of the problem page to find its name. It'll be something like e40d5b21c65856b95bbc6f4dfced571.png. (That's the SHA-1 hash of the TeX equation followed by 1.png.) Make sure that file exists in webwork2/htdocs/tmp/equations/. Check its permissions. Make sure it is web-accessible (check http://yourserver/webwork2_files/tmp/equations/filename.png). See if it's a valid PNG, and see if it contains the proper equation image.
Inappropriate ioctl for device
This seems to occur when very old versions of dvipng are in use, and the easiest way to resolve it is to upgrade to the latest version. If that is not possible, try the following:
[In ImageGenerator.pm I] had [to] use the command
my $dvipngCommand = "cd $wd && $dvipng " . $DvipngArgs . " equation.dvi > dvipng.out 2> dvipng.err";
i.e. pass it equation.dvi rather than equation. Probably my old version of
dvipng requires this. There certainly can't be any harm in this, correct? The
newer versions of dvipng must accept this, correct?