From hin-tak.leung at cimr.cam.ac.uk  Fri Jan 12 13:31:48 2007
From: hin-tak.leung at cimr.cam.ac.uk (Hin-Tak Leung)
Date: Fri, 12 Jan 2007 12:31:48 +0000
Subject: [Rd] cross tools (was Re: wine and build difference between
 R.2.4.0 and R 2.4.1 windows binaries?)
In-Reply-To: <Pine.LNX.4.64.0701111546520.13776@gannet.stats.ox.ac.uk>
References: <45A53E92.6070104@cimr.cam.ac.uk> <45A545B1.6070508@stats.uwo.ca>
	<45A6250C.3020802@cimr.cam.ac.uk>
	<Pine.LNX.4.64.0701111358340.23502@gannet.stats.ox.ac.uk>
	<45A6584E.5030507@cimr.cam.ac.uk>
	<Pine.LNX.4.64.0701111546520.13776@gannet.stats.ox.ac.uk>
Message-ID: <45A77FB4.6020301@cimr.cam.ac.uk>

Prof Brian Ripley wrote:
> On Thu, 11 Jan 2007, Hin-Tak Leung wrote:
> 
>> Prof Brian Ripley wrote:
>>> On Thu, 11 Jan 2007, Hin-Tak Leung wrote:
>> <snipped earlier discussion on wine>
>>>>
>>>> BTW, I am also cross-compiling some R packages with the cross tools 
>>>> provided by Prof Ripley. Presumably it means that I need to hack away
>>>> the bundled mingw stuff in the cross-tool and replaced them with the 
>>>> newer mingw libraries as well? (the whole thing with wine is so that 
>>>> I can cross-compile and test right away...)
>>>
>>> My belief is that the cross-tools I package build R 2.4.x but need 
>>> updating for 2.5.0.
>>>
>>> As I use x86_64 cross tools for R-devel it does not affect me, but I 
>>> will rebuild the tools on an i386 box in due course.
>>
>> My main use of the cross-tool is to build the windows binary of a
>> custom R package (rather than R itself) - so that I can distribute it 
>> (after testing on some windows machines which are not equiped
>> with development tools), so it is more important that the cross
>> tool generates binaries which are compatible with the latest
>> official windows binary distribution, rather than being able to
>> build the latest development source as a whole.
>>
>> FWIW, I use the i386 cross-tool provided on x86_64, and also
>> build wine as 32-bit and runs windows R that way. I am not
>> even sure if it is possible to dual-boot windows on opteron if
>> I had wanted to. (a waste, in any case...).
>>
>> It might be worth building the cross tools as 32-bit on x86_64
>> just so that what you use is the same as what you give away :-)?
> 
> I do still have a i686 Linux machine, and I will use that to rebuild the 
> cross-tools and test them.  There are some subtle differences (e.g. in 
> address formats), which is why I wanted to make sure that cross-building 
> on x86_64 was also possible.  I know the i386 cross-tools do run on x86_64.
> 
> The version from my i686 box is now on the website.

Oh yes, I meant the i386 cross-tool *you* provided on x86_64 .
BTW, there are a bunch of ready-made cross tool rpm's on
http://mirzam.it.vu.nl/mingw/

linked from wine's dev-guide:
http://www.winehq.com/site/docs/winedev-guide/cross-compiling-tests

>> (I only routinely build 3 packages as 32-bit rather than
>> 64-bit on x86_64 - R for memory consumption, wine because it
>> just isn't written for 64-bit, and ghostscript because
>> a lot of font-rendering issues are 32-bit/64-bit sensitive).
> 
> Then you probably don't use Java, where there seem major 64-bit issues 
> (starting with the missing browser plug-in, and including very few of 
> the Java-based R packages working on most combinations of JRE and OS: I 
> did briefly get a JRE working on FC5).

I do use Java, just not in relation to R - it has been a while since
I played with SJava. Sun's JDK (32-bit) has been working consistently. 
On FC5 x86_64 the default
gcj-based JRE was a bit funny, but since upgraded to FC6, I found
the gcj-based JRE on x86_64 can run haploview 
(http://www.broad.mit.edu/mpg/haploview/) reasonably well.
If you want 64-bit R working with a 64-bit JRE, the gcj-based jre seems
to be the only route. I have built something involving JNI recently
using the gcj-based jdk seems alright. (it did finish compilation
- it is a suite of applications [http://gridengine.sunsource.net/],
only a small part is JNI based and I don't know the specific
part well enough to judge for an mis-compilation or
broken functionality).

Hin-Tak



[Rd] cross tools (was Re: wine and build difference between R.2.4.0 and R 2.4.1 windows binaries?)
Hin-Tak Leung