Message-ID: <502085C3-4B64-4293-B6A5-59E84EE59BF2@unsw.edu.au>
Date: 2005-08-18T10:47:50Z
From: Bill Northcott
Subject: RMySQL not loading on Mac OS X
In-Reply-To: <A1E9E8E0-490E-422E-8CA4-267641F3C19B@tuebingen.mpg.de>
On 18/08/2005, at 7:46 PM, Georg Otto wrote:
> Concerning your suggestion: The system default compiler is gcc 4.0,
> but RMySQL seems to be built using gcc-3.3 regardless if I switch
> to 3.3. or not.
>
> Would it be a solution to force RMySQL to use gcc 4.0 during built?
> (Might be a naive idea, I am quite new to this). And if yes, how
> could I do this?
When R is built it stores the configuration including the compilers
which were used. When you try to build a source package, it uses the
same compile commands. However, this is a less than perfect
mechanism and requires that the packagers of binaries understand what
is going on.
For instance on Panther 'gcc' by default means gcc-3.3, whereas on
Tiger by default it means gcc-4.0. So a package built with 'gcc' and
'g77' will work on Panther but not Tiger. See the problem.
OTOH 'gcc-3.3' means gcc-3.3 on either Panther or Tiger, but
'gcc-4.0' won't work on Panther at all.
The best solution is to build everything from source with the same
compilers. That way you cannot have a compatibility problems.
Hopefully soon the transition to gcc-4 will be complete. The change
to Intel guarantees that, because the Apple gcc-3.3 compilers don't
do x86 code. In a perfect future Apple will include Fortran in their
Developer tools distribution, but for now they want gcc-4 and
gfortran is not quite ready for the big time.
Bill Northcott