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

Dirk Eddelbuettel edd at debian.org
Tue May 20 12:26:19 CEST 2014


On 20 May 2014 at 08:44, Jerome MARQUET wrote:
| 
|     Thank you very much for you answer Dirk.
| 
|     You are right I should have spent more time on the documentation. I finally
|     found the solution: following command launches only the 64 bits
|     compilation:
| 
|         install.packages("C:/Users/win7x64/workspace/myPackage.tar", repos =
|         NULL,INSTALL_opts = c("--no-multiarch"), type="source")
| 
| 
|     But I still wonder while both 32 and 64 compilations are launched on WIN64
|     architecture ?

Like your previous question, this is an entirely an R question and in no way
specifix to Rcpp.  

It simply is what R CMD INSTALL does because having binaries for both 'sizes'
of Windows is useful.

Dirk
 
|     Anyway thank you very much for your answer.
| 
|     Best regards,
| 
|     Jérôme
| 
|     Le 19/05/2014 13:18, Dirk Eddelbuettel a écrit :
| 
|         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
| 
| 
| 
| 
| 

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


More information about the Rcpp-devel mailing list