[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):
> 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