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@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel
--
Brian D. Ripley, rip...@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
______________________________________________
R-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel