[Rd] Does dlltools in 64-bit rtools for windows support 64-bit machine type?

Prof Brian Ripley ripley at stats.ox.ac.uk
Mon Dec 31 20:43:31 CET 2012


On 31/12/2012 18:19, Duncan Murdoch wrote:
> On 12-12-30 9:07 AM, Johan Johansson wrote:
>> Hi,
>>
>> I've been trying to get the python bridge (rpy2) to build for 64-bit R
>> and python. The current stumbling block is that mingw can't use the
>> python27.lib file that comes with CPython and so I need to generate
>> libpython27.a.

BTW, 'mingw' is irrelevant as it has not been used by R for a long time. 
  Mingw's dlltool is indeed 32-bit only.

>> When I use dlltool from rtools to do that however, I end up with a
>> 32-bit file:
>>
>>> "G:\Rtools\gcc-4.6.3\i686-w64-mingw32\bin\dlltool" -e libpython27.a
>>> -d python27.def python27.dll
>>> objdump -f libpython27.a
>>
>> libpython27.a:     file format pe-i386
>>
>> More problematically, x86_64 is not listed as supported by objdump:
>>
>> Usage G:\Rtools\gcc-4.6.3\i686-w64-mingw32\bin\dlltool <option(s)>
>> <object-file(s)>
>>     -m --machine <machine>    Create as DLL for <machine>.  [default:
>> i386]
>>          possible <machine>: arm[_interwork], i386,
>> mcore[-elf]{-le|-be}, ppc, thumb
>>
>> Am I doing it wrong?
>
> You aren't using the same flags as R uses in its builds.  For 64 bit
> builds, it uses these flags (from MkRules.rules):
>
> DLLTOOLFLAGS=--as $(BINPREF)as $(DT_ARCH) -k
>
> DT_ARCH = -m i386:x86-64 --as-flags --64

The irrational mess of flags in GNU bintools is not our doing, and 
suggestions upstream to support e.g. -m64 have fallen on deaf ears.  At 
least a useR does not need to divine this from the bintools 
documentation (at least at the time I had to read the sources as it was 
not in the bintools manual).

>
> Duncan Murdoch
>
> ______________________________________________
> R-devel at r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-devel


-- 
Brian D. Ripley,                  ripley at stats.ox.ac.uk
Professor of Applied Statistics,  http://www.stats.ox.ac.uk/~ripley/
University of Oxford,             Tel:  +44 1865 272861 (self)
1 South Parks Road,                     +44 1865 272866 (PA)
Oxford OX1 3TG, UK                Fax:  +44 1865 272595



More information about the R-devel mailing list