[Rd] R-Forge SVN repositories: R CMD build/check error on Windows machines

Stefan Theussl stefan.theussl at wu-wien.ac.at
Tue Apr 29 10:37:27 CEST 2008


Duncan Murdoch wrote:
> On 28/04/2008 12:22 PM, Stefan Theussl wrote:
>> Dear R-devel,
>>
>> One of our R-Forge developers pointed out that it is not possible to 
>> build packages under Windows using the R-Forge repository structure: 
>> a package resides in ./pkg - not in a directory with the same name as 
>> the package name.
>>
>> Under Linux 'R CMD build pkg' or 'R CMD check pkg' work pretty well 
>> (I think Kurt Hornik fixed that in R 2.5.1 or so) whereas under 
>> Windows one gets the following error (this is the example sent by the 
>> user):
>>
>> c:\work\packages\spdep>R CMD check pkg
>> * checking for working pdflatex ... OK
>> * using log directory 'C:/work/packages/spdep/pkg.Rcheck'
>> * using R version 2.7.0 (2008-04-22)
>> * using session charset: ISO8859-1
>> * checking for file 'pkg/DESCRIPTION' ... OK
>> * this is package 'spdep' version '0.4-21'
>> * package encoding: latin1
>> * checking package name space information ... OK
>> * checking package dependencies ... OK
>> * checking if this is a source package ... WARNING
>> Subdirectory 'pkg/src' contains object files.
>> * checking whether package 'spdep' can be installed ... ERROR
>> Installation failed.
>> See 'C:/work/packages/spdep/pkg.Rcheck/00install.out' for details.
>>
>> which is:
>>
>> installing R.css in C:/work/packages/spdep/pkg.Rcheck
>>
>>
>> ---------- Making package pkg ------------
>>   adding build stamp to DESCRIPTION
>>   installing NAMESPACE file and metadata
>>   making DLL ...
>>   ... DLL made
>>   installing DLL
>>   installing R files
>>   installing inst files
>>   installing data files
>>   preparing package pkg for lazy loading
>> Loading required package: tripack
>> Loading required package: sp
>> ...
>> Error in findpack(package, lib.loc) : *there is no package called 'pkg'*
>> Calls: <Anonymous> -> findpack
>> Execution halted
>> make[2]: *** [lazyload] Error 1
>> make[1]: *** [all] Error 2
>> make: *** [pkg-pkg] Error 2
>> *** Installation of pkg failed ***
>>
>> I could verify this on our 'Windows package building machine' not 
>> only for this package but also for others.
>> Therefore, it seems to me that the (Windows) R CMD build/check 
>> scripts are not considering the package name in the DESCRIPTION file 
>> but rather take the directory name as package name.
>>
>> Or are we just doing something completely wrong?
>
> You're right, on Windows there's an assumption that package foo is in 
> directory foo.  But I don't see why this is a big problem.  Can't you 
> just check out pkg into foo, e.g.
>
> svn co svn://svn.r-forge.r-project.org/svnroot/foo/pkg foo
>
> (Not that I'd be against accepting a patch to remove this restriction; 
> occasionally it might be nice to have two versions of the same package 
> side-by-side.)
Yes, you're right. Actually we do it this way when exporting the R-Forge 
packages. We just look for the package name in the DESCRIPTION file and 
do an 'svn export' using this information. The other possibility on 
R-Forge would be to have the package in a directory ./pkg/foo in the 
repository. This is supported by our build process.
Therefore this is no problem at all for us.

Nevertheless, I think that this is a useful convenience feature (indeed 
I use that very often under Linux). E.g., one wants to have his or her 
packages in different directories like foo-devel, foo-release and just 
say R CMD build/check on them.

Best,
Stefan
>
> Duncan Murdoch
>
>>
>> I used R-patched 2.7.0 on R-Forge to reproduce this error.
>>
>> Best regards,
>> Stefan
>>
>> ______________________________________________
>> R-devel at r-project.org mailing list
>> https://stat.ethz.ch/mailman/listinfo/r-devel
>



More information about the R-devel mailing list