[Rd] R CMD check --force-multiarch does not install all the archs for testing
simon.urbanek at r-project.org
Tue Jun 28 21:19:59 CEST 2011
On Jun 28, 2011, at 3:01 PM, Hervé Pagès wrote:
> Hi Uwe,
> On 11-06-28 01:44 AM, Uwe Ligges wrote:
>> On 28.06.2011 01:31, Hervé Pagès wrote:
>>> Why isn't 'R CMD check --force-multiarch' installing the package
>>> for all the architectures that are going to be checked?
>> no, since it cannot know that that you need
>> as an additional install flag for this particular package.
> Why not just use this flag anyway? Does it hurt to use it on packages that don't strictly need it?
It does for two reasons: a) everything is built twice and b) package authors don't expect the necessity to support --libs-only if the package doesn't require separate build runs.
The cross-platform way is to not use --merge-multiarch but use --libs-only instead as needed (easy to check after the first arch run which will tell you whether it's needed or not). I suspect that --merge-multiarch is just a convenience shortcut (and it's unclear to me why it's Windows-only...).
>> You will have to check it in repository maintainer's mode (as the CRAN
>> maintainers do everywhere). Essentially this is for me (when also
>> producing WIndows binaries):
>> Step 1: Installation
>> R CMD INSTALL --pkglock --compact-docs --build --merge-multiarch
>> --library="D:/path/to/library" fabia_1.5.0.tar.gz > fabia-install.out 2>&1
>> (where the merge-multiarch part applies only to this package, of course)
>> Step 2: Check (without installation, since that happened before already,
>> using the install log from step 1)
>> R CMD check --library="D:/path/to/library" --force-multiarch
>> --install="check:fabia-install.out" fabia
> Whaoooo! Would be nice if there was a plan to make 'R CMD check' also
> usable by normal people (including the package developer), not just
> by a few privileged people that know about those undocumented tricks.
>> Best wishes,
>>> For some packages, it only installs for the default arch ('i386').
>>> Then testing the package for 'x64' fails.
>>> For example,
>>> Output of R CMD check --force-multiarch fabia_1.5.0.tar.gz:
>>> * using log directory 'D:/biocbld/bbs-2.9-bioc/meat/fabia.Rcheck'
>>> * using R version 2.14.0 Under development (unstable) (2011-05-30 r56020)
>>> * using platform: i386-pc-mingw32 (32-bit)
>>> * using session charset: ISO8859-1
>>> * using option '--no-vignettes'
>>> * checking for file 'fabia/DESCRIPTION' ... OK
>>> * this is package 'fabia' version '1.5.0'
>>> * checking package name space information ... OK
>>> * checking package dependencies ... OK
>>> * checking if this is a source package ... OK
>>> * checking whether package 'fabia' can be installed ... OK
>>> * checking installed package size ... OK
>>> * checking package directory ... OK
>>> * checking for portable file names ... OK
>>> * checking DESCRIPTION meta-information ... OK
>>> * checking top-level files ... OK
>>> * checking index information ... OK
>>> * checking package subdirectories ... OK
>>> * checking R files for non-ASCII characters ... OK
>>> * checking R files for syntax errors ... OK
>>> * loading checks for arch 'i386'
>>> ** checking whether the package can be loaded ... OK
>>> ** checking whether the package can be loaded with stated dependencies
>>> ... OK
>>> ** checking whether the package can be unloaded cleanly ... OK
>>> ** checking whether the name space can be loaded with stated
>>> dependencies ... OK
>>> ** checking whether the name space can be unloaded cleanly ... OK
>>> * loading checks for arch 'x64'
>>> ** checking whether the package can be loaded ...Warning: running
>>> command '"D:/biocbld/bbs-2.9-bioc/R/bin/x64/Rterm.exe"
>>> R_ENVIRON_USER='no_such_file' --no-site-file --no-init-file --no-save
>>> --no-restore --slave -f
>>> D:\biocbld\bbs-2.9-bioc\tmpdir\RtmpO65p5H\Rin57456988' had status 1
>>> Error: package 'fabia' is not installed for 'arch=x64'
>>> Execution halted
>>> It looks like this package has a loading problem: see the messages for
>>> Content of fabia.Rcheck\00install.out:
>>> * installing *source* package 'fabia' ...
>>> Building libRcpp.a in RcppSrc...
>>> rm -f Rcpp.o libRcpp.a
>>> g++ -c Rcpp.cpp -o Rcpp.o -I"D:/biocbld/BBS-2˜1.9-B/R/include"
>>> -I"D:/biocbld/BBS-2˜1.9-B/R/src/include" -Wall -O2
>>> ar r libRcpp.a Rcpp.o
>>> C:\Rtools213\MinGW\bin\ar.exe: creating libRcpp.a
>>> ranlib libRcpp.a
>>> rm -f Rcpp.o
>>> rm -f Rcpp.o
>>> ** libs
>>> running src/Makefile.win ...
>>> rm -f fabia.o fabia.dll *.a *.o *.so *.dll
>>> g++ -c fabiac.cpp -o fabia.o -I../RcppSrc
>>> -I"D:/biocbld/BBS-2˜1.9-B/R/include" -Wall -O2
>>> g++ -shared -s -static-libgcc fabia.o -L../RcppSrc -lRcpp
>>> -L"D:/biocbld/BBS-2˜1.9-B/R/bin/i386" -lR -o fabia.dll
>>> rm -f fabia.o *.a *.o *.so
>>> installing to D:/biocbld/bbs-2.9-bioc/meat/fabia.Rcheck/fabia/libs/i386
>>> ** R
>>> ** demo
>>> ** inst
>>> ** preparing package for lazy loading
>>> Creating a generic function for "plot" from package "graphics" in
>>> package "fabia"
>>> ** help
>>> *** installing help indices
>>> ** building package indices ...
>>> *** tangling vignette sources ...
>>> ** testing if installed package can be loaded
>>> * DONE (fabia)
>>> The source tarball for this package is available here:
>>> What command should be used to perform a multiarch check of this
>>> This is on a 64-bit Windows Server 2008 R2 Enterprise machine using a
>>> recent combined Windows 32/64 bit binary of R-devel from CRAN.
> Hervé Pagès
> Program in Computational Biology
> Division of Public Health Sciences
> Fred Hutchinson Cancer Research Center
> 1100 Fairview Ave. N, M1-B514
> P.O. Box 19024
> Seattle, WA 98109-1024
> E-mail: hpages at fhcrc.org
> Phone: (206) 667-5791
> Fax: (206) 667-1319
> R-devel at r-project.org mailing list
More information about the R-devel