On 30/05/2015 13:14, Duncan Murdoch wrote:
On 29/05/2015 4:16 PM, Sue McDonald wrote:
My apologies for cross-posting. I found this site, after I had posted on
stack-overflow.

I need to compile several static libraries (C & Fortran) which will later
be linked with an R package. Rtools33 directory includes /i686-w64-mingw32
directory which I understand creates 32 bit binaries. Yet, there are other
64 bit directories as well.

The current Rtools is set up for multilib operation.  You only need to
use the binaries in Rtools/gcc-4.6.3/bin.  The executables there will
choose files from the other directories depending on the -m32 or -m64
flag, for 32 bit or 64 bit operation.


I have three related questions:

    1.

    Can Rtools33 be used to compile static libraries as a separate step
    using -m64 flag?

Yes, I believe so.  They would be 64 bit static libraries.

    2.

    MSYS2 is very convenient for compiling many of these libraries. Can a
    static library compiled with x86_64-w64-mingw32 (gcc 4.9.2) be used with
    Rtools33 (v 4.6.2)?

Rtools uses 4.6.3, not 4.6.2.  I would assume the runtime libraries are
different between 4.6.3 and 4.9.2, so you won't be able to mix versions
like that.

However, you should be able to use your MSYS2 system for all
compilation, if you create a MkRules.local file with the right settings.
  You will need to compile R and all packages and libraries using that
system, don't expect to be able to mix binaries from different versions
of gcc.


    3.

    Can a static library compiled using x86_64-w64-mingw32-gcc
    cross-compiler (v 4.6.2) on linux be used with Rtools33?

Some libraries used by packages are compiled by Brian Ripley using a
cross-compiler on linux.  I'd assume he's using 4.6.3 as with the Rtools
build, but I'm not sure about that.

Correct, I used the cross-compiler that was used to compile the native compilers in Rtools.

My experience (this had to work for thousands of packages for CRAN) is that only an exact match for the cross-compiler to the compiler used to compile R works reliably. Even very slightly different builds can cause segfaults.

--
Brian D. Ripley,                  rip...@stats.ox.ac.uk
Emeritus Professor of Applied Statistics, University of Oxford
1 South Parks Road, Oxford OX1 3TG, UK

______________________________________________
R-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel

Reply via email to