[Rd] cross-compile R darwin2win, almost there

Simon Urbanek simon.urbanek at math.uni-augsburg.de
Thu Jul 29 22:37:47 CEST 2004


I'm trying to cross-compile R on a Mac OS X box to target Win32. It 
works quite well, everything works, except for one fortran file ppr.f 
in the stats package:

---------- Making package stats ------------
   adding build stamp to DESCRIPTION
   installing NAMESPACE file and metadata
   making DLL ...
i386-mingw32-g77 -O2 -Wall   -c ppr.f -o ppr.o
ppr.f:803: sorry, unimplemented: data initializer on host with 
different endianness
ppr.f:803: sorry, unimplemented: data initializer on host with 
different endianness
ppr.f:803: sorry, unimplemented: data initializer on host with 
different endianness
ppr.f:803: sorry, unimplemented: data initializer on host with 
different endianness
ppr.f:803: sorry, unimplemented: data initializer on host with 
different endianness
ppr.f:803: sorry, unimplemented: data initializer on host with 
different endianness
ppr.f:803: sorry, unimplemented: data initializer on host with 
different endianness
ppr.f:803: sorry, unimplemented: data initializer on host with 
different endianness
ppr.f:803: sorry, unimplemented: data initializer on host with 
different endianness
ppr.f:803: sorry, unimplemented: data initializer on host with 
different endianness
ppr.f:803: sorry, unimplemented: data initializer on host with 
different endianness
ppr.f:803: sorry, unimplemented: data initializer on host with 
different endianness
ppr.f:1186: sorry, unimplemented: data initializer on host with 
different endianness
ppr.f:1186: sorry, unimplemented: data initializer on host with 
different endianness
ppr.f:1186: sorry, unimplemented: data initializer on host with 
different endianness
ppr.f:1186: sorry, unimplemented: data initializer on host with 
different endianness
make[5]: *** [ppr.o] Error 1
make[4]: *** [srcDynlib] Error 2

It's just a "block data" with some common variables that are 
initialized en-block. Obviously g77 tries to copy the whole block and 
bails out, because it's unsure about the endianness conversion (could 
be int/double whatever). My Fortran knowledge is rather limited, so can 
anyone provide me with alternate Fortran code that will use regular 
assignments instead of the "block data", so we can work around the 
missing feature of the compiler? If someone has a different idea, 
that's fine, too :).

Otherwise it works very nicely, the compiled R works (except that stats 
is not compiled of course) ... Solving the above would allow us to 
provide binary packages for both platforms OS X and Windows using just 
one machine to automatically generate both... (for those interested I 
could put the cross-compile tools on my pages..)

Any help is appreciated,
Simon

---
Simon Urbanek
Department of computer oriented statistics and data analysis
Universitätsstr. 14
86135 Augsburg
Germany

Tel: +49-821-598-2236
Fax: +49-821-598-2280

Simon.Urbanek at Math.Uni-Augsburg.de
http://simon.urbanek.info



More information about the R-devel mailing list