[R] 1.3.1/1.4.1 Windows binary incompatibilities?

Ben Bolker ben at zoo.ufl.edu
Thu Feb 7 13:59:15 CET 2002


  mea culpa.
  I now believe the difference in behavior between 1.3.x and 1.4.1 was not
in the compilers -- the code didn't work in either Linux or Windows under
1.4.1 (I had only tried it in 1.3.x on Linux).  It turned out that the
problem was in several arguments being passed to the C code that had not
been protected by as.double().  For some reason I can't understand, this
worked in 1.3.x and failed in 1.4.1.
  I thought I had tried all the obvious things before asking for help, but
I obviously got confused in the midst of debugging.

  thanks to all for help/offers of help ...

  Ben Bolker


On Wed, 6 Feb 2002, Prof Brian Ripley wrote:

> On Wed, 6 Feb 2002, Ben Bolker wrote:
>
> >
> >   I should probably have been able to figure this out, but ...
> >
> >   I have a package with some C code in it that I've been cross-building on
> > my Linux machine to run under Windows.  I had it working under 1.3.1, but
> > it seems to have stopped with 1.4.1.  Building with a version of
> > i386-mingw32msv-gcc recently downloaded from Brian Ripley's Rtools page
> > (--version 2.95.2), under 1.4.1 on Linux, it works under 1.3.1 but fails
> > under 1.4.1. (The new version of i386-gcc I just downloaded dates back to
> > 3 Sep 2000 according to the Page Info.  The previous version I was using
> > (which dated to 27 Apr 2000) and the new version give the same --version
> > information.)  The "Version"  tab on the DLL does correctly indicate it
> > was built for 1.4.1.
> >
> >   Am I missing something stupid?  The Rtools page says the most current
> > version of mingw is based on gcc 2.95.3; does the cross-compiler need to
> > be updated?  (I'm not eager to, but I could try to assemble the
> > pieces and compile from source if I had to ...)
>
> R itself builds with that cross-compiler (and that includes using the
> standard mechanisms to built the packages included).  The things it can't
> do, like link directly to DLLs or to VC++ libraries can't be done under
> cross-compilers anyway.  I backed out linking directly to R.dll just
> before 1.4.0 was released when it emerged that it linked in somewhat
> random orders.
>
> `it fails' is not very useful diagnostic information!
>
> >   I did find some information on cross-compiling at the bottom of the
> > MinGW FAQ list, I may pursue this if no-one has any brilliant ideas ...
> > (how many people are actually doing Linux/Windows cross-compiling?)
>
> I've been meaning to build a new cross-compiler, but it tends to take
> a day or so due to bugs in the scripts.  I suspect very few people build a
> Fortran cross-compiler, and so that's where all the problems arise.
> I tend to cross-compile only to check that the current sources will
> compile under Windows without having to re-boot into Windows.
>
>

-- 
318 Carr Hall                                bolker at zoo.ufl.edu
Zoology Department, University of Florida    http://www.zoo.ufl.edu/bolker
Box 118525                                   (ph)  352-392-5697
Gainesville, FL 32611-8525                   (fax) 352-392-3704

-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-
r-help mailing list -- Read http://www.ci.tuwien.ac.at/~hornik/R/R-FAQ.html
Send "info", "help", or "[un]subscribe"
(in the "body", not the subject !)  To: r-help-request at stat.math.ethz.ch
_._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._



More information about the R-help mailing list