R CMD check --force-multiarch does not install all the archs for testing
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:
Hi, Why isn't 'R CMD check --force-multiarch' installing the package for all the architectures that are going to be checked?
Herv?, no, since it cannot know that that you need --merge-multiarch 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...). Cheers, Simon
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. Thanks, H.
Best wishes, Uwe
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
Error: package 'fabia' is not installed for 'arch=x64'
Execution halted
It looks like this package has a loading problem: see the messages for
details.
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 ...
'fabia.Rnw'
** testing if installed package can be loaded
* DONE (fabia)
The source tarball for this package is available here:
http://bioconductor.org/packages/2.9/bioc/html/fabia.html
What command should be used to perform a multiarch check of this
package?
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.
Thanks!
H.
-- 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 https://stat.ethz.ch/mailman/listinfo/r-devel