Subject: | Possible incompatibility with mod_perl and TEXINPUTS |
Date: | Mon, 27 Jan 2014 16:46:32 +0000 |
To: | bug-LaTeX-Driver [...] rt.cpan.org |
From: | Christopher Causer <christopher.causer [...] it.ox.ac.uk> |
This bug is possibly related to BUG#44425.
When using LaTeX::Driver with mod_perl, the environment variable
TEXINPUTS is not passed on from the perl %ENV to the pdflatex system
call. This looks to be a known limitation with mod_perl 2.0
(there is a thread on perlmonks:
http://www.perlmonks.org/?node_id=767907 ).
I managed to get around the issue by patching LaTeX::Driver. While it
certainly managed to fix things for my situation I'm sure you can
appreciate that passing TEXINPUTS explicitly and as an environment
variable are not equivalent, so I would be happy if anyone proposed a
better solution. I have left the system call used for MS Win unchanged
as I do not know how mod_perl is handled on that system.
The patch is below:
--- LaTeX/Driver.pm 2012-08-31 19:56:32.000000000 +0100
+++ LaTeX/Driver.pm.orig 2014-01-27 16:33:35.703680405 +0000
@@ -677,7 +677,7 @@
}
else {
$args = "'$args'" if $args =~ / \\ /mx;
- $cmd = "cd $dir; $program $args 1>$null 2>$null 0<$null";
+ $cmd = "cd $dir; TEXINPUTS=$ENV{TEXINPUTS} $program $args 1>$null 2>$null 0<$null";
}
$self->stats->{runs}{$progname}++;
If there are any questions, please let me know.
--
Christopher Causer IT Services, University of Oxford
Network Support and Development Officer 13 Banbury Road, Oxford, OX2 6NN