On Jun 28, 2011, at 3:45 PM, Hervé Pagès wrote: > Hi Simon, > > On 11-06-28 12:19 PM, Simon Urbanek wrote: >> >> 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 > > That's exactly what I want when I do 'R CMD check --force-multiarch' >
No, that's not what it does (and I assume you mean --force-biarch). It builds the package just once, you're simply overriding the default behavior of checking for configure.win, that's all. The two flags are orthogonal, --force-biarch makes no sense with --merge-multiarch, they are for all practical purposes mutually exclusive by definition of what they do. >> and b) package authors don't expect the necessity to support --libs-only if >> the package doesn't require separate build runs. > > When specifying --force-multiarch, the user really expects the package to be > installed for all sub-archs. > ... with the assumption that the package supports it even though it has a configure script which may to may not work unlike --merge-multiarch which will always work. --force-biarch is just a way to flag packages that have configure.win that has no effect on the binary settings (flags etc.). It forces R to try multi-arch build in one flight, but it may or may not work depending on the package. It is a way to save time by not running --merge-multiarch (and thus building the package twice). Cheers, Simon >> >> 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...). > > A great convenience indeed as it allows to do the multiarch install in > a single step. And it's unclear to me too why it's Windows-only but I > would have hoped you would know... > > Thanks, > H. > > >> >> 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: hpa...@fhcrc.org >>> Phone: (206) 667-5791 >>> Fax: (206) 667-1319 >>> >>> ______________________________________________ >>> R-devel@r-project.org mailing list >>> https://stat.ethz.ch/mailman/listinfo/r-devel >>> >>> >> > > > -- > 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: hpa...@fhcrc.org > Phone: (206) 667-5791 > Fax: (206) 667-1319 > > ______________________________________________ R-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel