[R] Package Building under Windows with MikTeX 2.6
Mark Hempelmann
neo27 at rakers.de
Sun Nov 25 16:45:38 CET 2007
Dear WizaRds,
I wrote a small function in R and would like to create a package. The
necessary documentation is done, Rtools etc. are installed and I am
still unable to complete the process under Windows. I did extensive
research in the archives and read the Murdoch-Sutherland website on the
Rtools and MikTeX hints. I realize that I understand only half or less
of what is said there concerning the MikTeX-R interaction in creating
packages. I am sorry.
I also read the very helpful Rossi paper on 'Making R Packages under
Windows. A Tutorial' as of 2006/01. I also tried to understand the .pdf
on Writing R Extensions Version 2.5.1 (2007-09-04). Because of its
condensed form it *might* present a true challenge to the uninitiated. I
wish to apologize for not being able to comprehensively follow all of
your "prescriptions", as pointed out in the manual: "This section
contains a lot of prescriptive comments. They are here as a result of
bitter experience. Please do not report problems to R-help unless you
have followed all the prescriptions." Therefore, I hesitated long to
report my problems, but since I spent long hours without any progress, I
simply don't know anymore what to do. Is there anyone willing to help?
I installed MikTex, Perl, htmlhelp, Rtools and WinEdt for editing
purposes, and changed the path in the system environment as follows
(Carriage return for readability):
System Path:
C:\Programme\Uni\Rtools\bin;
C:\Programme\Uni\Perl\bin;
C:\Programme\Uni\Rtools\MinGW\bin;
C:\Programme\Uni\hmtlhelp;
C:\Programme\Uni\R\bin;
C:\Programme\Uni\MikTeX\miktex\bin;
%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem
User Path (?what is this for?)
C:\Programme\Uni\MikTeX\miktex\bin
R Version: R version 2.5.1 Patched (2007-09-04 r42845)
Rtools Version: 2.6.0.1216
MikTeX 2.6
Directory Structure MikTeX, R, Rtools, WinEdt etc. (hierarchy with tabs):
C:\Uni\MikTeX
C:\Uni\R\
bin
doc
etc
include
library
modules
share\
licenses
locale
make
perl\
R
Text
R
texmf
src
Tcl
C:\Uni\Rtools
C:\Uni\WinEdt
C:\Uni\Perl
C:\Uni\htmlhelp
I generated the minimal package structure for package mbes via
skeleton(), consisting of
c:\RWork\mbes\
man\mbes.Rd
man\mbes.package.Rd
R\mbes.R
DESCRIPTION
and then in a MS DOS command window:
R CMD check mbes
which called forth the error:
Error message:
C:\RWork\mbes>R CMD check mbes
* checking for working latex ...Error: environment variable TMPDIR not
set (or set to unusable value) and no default available.
at C:\Programme\Uni\R\share\perl/R/Utils.pm line 73
I looked at the path and Utils.pm shows:
...
### * R_tempfile
sub R_tempfile {
my $pat = "Rutils";
$pat = $_[0] if $_[0];
R::Vars::error("TMPDIR");
my $retval = file_path($R::Vars::TMPDIR,
$pat . $$ . sprintf("%05d", rand(10**5)));
my $n=0;
while(-e $retval) { # was -f, but want to be able to create such a file
$retval = file_path($R::Vars::TMPDIR,
$pat . $$ . sprintf("%05d", rand(10**5)));
croak "Cannot find unused name for temporary file"
if($n++ > 1000);
}
$retval;
}
### * R_system
sub R_system
{
my ($cmd, $Renv) = @_;
my $tmpf = R_tempfile();
if($R::Vars::OSTYPE eq "windows") {
open(tmpf, "> $tmpf")
or die "Error: cannot write to '$tmpf'\n";
print tmpf "$cmd $Renv\n";
close tmpf;
$res = system("sh $tmpf");
unlink($tmpf);
return $res;
} else {
return system("$Renv $cmd");
}
}
...
I simply don't know what to do. I am very grateful for any help.
Thank you so much.
Yours
Mark
More information about the R-help
mailing list