[Rd] R CMD build cannot create vignettes on Windows if Makefile is used

Duncan Murdoch murdoch.duncan at gmail.com
Sun Sep 12 14:07:51 CEST 2010


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.

Duncan Murdoch



More information about the R-devel mailing list