On 09/13/2010 03:34 AM, Duncan Murdoch wrote:
Hervé Pagès wrote:
Hi Duncan,

On 09/12/2010 05:07 AM, Duncan Murdoch wrote:
On 12/09/2010 12:49 AM, Hervé Pagès wrote:
Hi Duncan,

On 09/11/2010 03:56 AM, Duncan Murdoch wrote:
On 11/09/2010 12:52 AM, Hervé Pagès wrote:
Hi,

I found the following problem with recent R-devel
(2010-08-26 r52817) on Windows (32-bit and 64-bit):
'R CMD build <pkg>' gets stalled during vignett
creation for packages that have a Makefile in <pkg>/inst/doc.

It seems that the problem is that the commands used in the
Makefile for converting .tex to .pdf are not able to locate
the Sweave.sty file anymore (if I drop this file to
<pkg>/inst/doc, then the problem goes away).
This sounds like a problem that only the package maintainer could
address. Presumably it will be temporary: once they adjust to the new
organization of the share/texmf directory, things will be fine again.

The reorg is described in this NEWS item:

* Directory R_HOME/share/texmf now follows the TDS conventions, so
can be set as a texmf tree ('root directory' in MiKTeX parlance).
Before this reorg, the package maintainer didn't have to care about
where to find things in R_HOME/share/texmf. 'R CMD build' would just
find them by setting the TEXINPUTS envir variable appropriately (and
then commands in the inst/doc/Makefile file would find them too).

This reorg was checked in svn as rev 52256. I see the following
adjustments to TEXINPUTS:

** On Unix (src/scripts/Rcmd.in file):

-## Append 'share/texmf' to TeX's input search path.
-if test -z "$TEXINPUTS}"; then
- TEXINPUTS=".:${R_SHARE_DIR}/texmf:"
+## Append 'share/texmf/...' to TeX's input search path.
+if test -z "${TEXINPUTS}"; then
+ TEXINPUTS=".:${R_SHARE_DIR}/texmf/tex/latex:"
else
- TEXINPUTS=".:${TEXINPUTS}:${R_SHARE_DIR}/texmf:"
+ TEXINPUTS=".:${TEXINPUTS}:${R_SHARE_DIR}/texmf/tex/latex:"
fi
export TEXINPUTS

** On Windows (src/gnuwin32/fixed/etc/Rcmd_environ file):

-TEXINPUTS=.;${TEXINPUTS};${R_SHARE_DIR}/texmf;
+TEXINPUTS=.;${TEXINPUTS};${R_SHARE_DIR}/texmf/tex/latex;

The path seems to have been adjusted correctly. So my question is:
why isn't this working on Windows for packages that use a Makefile?
I don't know. My first assumption would that something in the Makefile
is wrong, but since you don't give any examples, I can't check.

There are 8 Bioconductor packages failing to build on Windows
because of this problem. They have a Makefile in inst/doc/ that
calls 'pdflatex' or 'texi2dvi --pdf' on <some_vignette> to convert
<some_vignette>.tex into <some_vignette>.pdf. They don't
have Sweave.sty in inst/doc/ (other packages use the same kind of
Makefile and are building ok because they have a copy of Sweave.sty
in inst/doc/).

For example, here is the content of adSplit/inst/doc/Makefile:

all: pdf clean

pdf: tr_2005_02.tex
epstopdf splitSet.eps
pdflatex tr_2005_02
pdflatex tr_2005_02
pdflatex tr_2005_02

clean:
rm -f *.aux *.eps *.log *.out *.tex *.toc
rm -f Rplots.ps splitSet.pdf tr_2005_02-*

The 7 other packages use similar Makefile. As I said before, they
all used to build ok before the R_HOME/share/texmf reorg. They still
build ok on non-Windows machines. Thanks!

H.

On Windows using MikTeX, we put a -I option on the command line to point
to the input directory. If you don't want to do that, you can use "R CMD
texify --pdf" instead of "pdflatex"; it will try to determine the
appropriate command line based on the platform.

Yes I can use 'R CMD some_command' instead of just 'some_command' in the
Makefile so 'some_command' sees the TEXINPUTS variable and that solves
the problem. But when I call 'R CMD build', shouldn't 'make' and its
child processes ('pdflatex', 'texify', etc...) already see TEXINPUTS?
Why do I need to call the commands in the Makefile thru R CMD again
in order to see TEXINPUTS?

Thanks for suggesting workarounds but don't you think there is a real
problem?

H.


Duncan Murdoch


--
Hervé Pagès

Program in Computational Biology
Division of Public Health Sciences
Fred Hutchinson Cancer Research Center
1100 Fairview Ave. N, M2-B876
P.O. Box 19024
Seattle, WA 98109-1024

E-mail: hpa...@fhcrc.org
Phone:  (206) 667-5791
Fax:    (206) 667-1319

______________________________________________
R-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel

Reply via email to