[Rcpp-devel] g++ -m32 used on WIN 64

Dirk Eddelbuettel edd at debian.org
Mon May 19 13:18:25 CEST 2014

On 19 May 2014 at 11:15, Jerome MARQUET wrote:
| Hello,
| I am working on a WIN64 platform and trying to install from source a package
| "myPackage" that links to dll compiled in 64 bits.
| Under R prompt I launch
|     install.packages("/Path/To/myPackage.tar", , repos = NULL, type="source")
| and I read that it is the 32 versions of g++ that is used
|     g++ -m32 -shared -s -static-libgcc -o myPackage.dll tmp.def toto01.o
|     toto02.o RcppExports.o toto03.o -LC:/Path/To/MyWIN64Libraries -laWIN64Lib
|     -Ld:/RCompile/CRANpkg/extralibs64/local/lib/i386 -Ld:/RCompile/CRANpkg/
|     extralibs64/local/lib -LC:/PROGRA~1/R/R-31~1.0/bin/i386 -lR
| There are several things I do not understand in this trace:
|     a) the -m32

See below for your use of '--no-multiarch'. By default it is on: 64 and 32
bit are used.

|     b) why it is 32bits version of R that is used when my path contains the 64
|     version (PATH = ...;C:\Program Files\R\R-3.1.0\bin\x64;...)

Same reason. And the 'g++' is just a frontend.
| When I compile through DOS and enter
|     R CMD INSTALL --no-multiarch myPackage
| I observe that it is the correct (64 bits) version that is used but I would

Because you enforce it.

| rather install my package through the usual install.packages command. Is there
| a way to do this ?

Both commands are equivalent. The install.packages() function calls the same
functionality as the command-line version.

It seems to me that you want to learn more about options for
install.packages(), so its manual page may be the best place.


Dirk Eddelbuettel | edd at debian.org | http://dirk.eddelbuettel.com

More information about the Rcpp-devel mailing list