On Jun 28, 2011, at 5:11 PM, Hervé Pagès wrote: > Simon, > > On 11-06-28 01:44 PM, Simon Urbanek wrote: >> >> 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. > > I really mean --force-multiarch, not --force-biarch. AFAIK 'R CMD check' > has no --force-biarch option. > >> >> >>>> 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. > > Just to clarify: > > --force-multiarch is an 'R CMD check' option, not an 'R CMD INSTALL' > option > > --merge-multiarch is an 'R CMD INSTALL' option, not an 'R CMD check' > option > > Now you are saying that --merge-multiarch will always work (on Windows > of course, all this discussion is about how to achieve multiarch check > on Windows). Great, this is what I've been observing too so far! > On packages with or without native codes, with or without configure.win > scripts, etc... It always seems to work. So, again, why isn't > 'R CMD check --force-multiarch' installing with --merge-multiarch? > Note that I'm not attached to that solution in particular, just trying > to suggest an easy fix for 'R CMD check --force-multiarch' (which right > now is broken on some packages). > >> --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). > > --force-biarch is an 'R CMD INSTALL' option that I don't use. Why would > I use something that might fail when I can use --merge-multiarch which > always works. >
Ok, never mind then, I was talking exclusively about R CMD INSTALL. Cheers, Simon > Thanks, > H. > >> >> 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 >>> >>> >> > > > -- > 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