[R-SIG-Mac] Which gfortran for Leopard?

cstrato cstrato at aon.at
Fri Jan 29 20:25:42 CET 2010


Dear Simon,

Thank you for your answer which is really helpful for me.

Best regards
Christian

Simon Urbanek wrote:
>
> On Jan 29, 2010, at 13:49 , cstrato wrote:
>
>> Dear Simon,
>>
>> As a subscriber to RootTalk I have just received the following mail:
>> http://root.cern.ch/root/roottalk/roottalk10/0122.html
>>
>> As you see there are other Mac users of ROOT who do not want to use 
>> fink but another gfortran compiler.
>> I seems that besides gfortran from your website, the following 
>> gfortran can also be used:
>> http://www.macresearch.org/gfortran-leopard
>>
>> My question now is:
>> Can gfortran from macresearch also be used to compile R 32 bit and 64 
>> bit?
>>
>
> Pretty much any compiler including fink can be used to compile R so 
> the answer specifically to your question is yes. However it will be 
> incompatible with any binaries we provide.
>
> The compilers from macresearch.org seem to be the same that used to be 
> on the HPC site and are still incomplete and incompatible with Xcode 
> and the usual Mac configuration so they cannot be used to replace our 
> compilers. AFAIK ours are the only complete gfortran compilers for the 
> Mac with Apple driver (unfortunately - I'd love to give that 
> responsibility to someone else :)).
>
> Cheers,
> Simon
>
>
>> cstrato wrote:
>>> Dear Kasper, dear Simon,
>>>
>>> Thank you both for your help, this was easier than I thought.
>>>
>>> Since I had already installed "R-2.10.1.pkg" all I needed to do was:
>>> $ R --arch=x86_64 --no-multiarch CMD INSTALL -l 
>>> ~/Library/R/2.10/library xps_1.7.4.tar.gz
>>> * installing *source* package 'xps' ...
>>> checking for gcc... gcc-4.2 -arch x86_64 -std=gnu99
>>> checking for C compiler default output file name... a.out
>>> checking whether the C compiler works... yes
>>> checking whether we are cross compiling... no
>>> checking for suffix of executables...
>>> checking for suffix of object files... o
>>> checking whether we are using the GNU C compiler... yes
>>> checking whether gcc-4.2 -arch x86_64 -std=gnu99 accepts -g... yes
>>> checking for gcc-4.2 -arch x86_64 -std=gnu99 option to accept ANSI 
>>> C... none needed
>>> checking how to run the C preprocessor... gcc-4.2 -arch x86_64 
>>> -std=gnu99 -E
>>> checking for gcc... (cached) gcc-4.2 -arch x86_64 -std=gnu99
>>> checking whether we are using the GNU C compiler... (cached) yes
>>> checking whether gcc-4.2 -arch x86_64 -std=gnu99 accepts -g... 
>>> (cached) yes
>>> checking for gcc-4.2 -arch x86_64 -std=gnu99 option to accept ANSI 
>>> C... (cached) none needed
>>> found ROOT version 5.24/00 in directory /Users/rabbitus/ROOT/root
>>> ** libs
>>> ** arch - x86_64
>>>
>>> Now xps compiles for 64 bit and starting R with:
>>> $ R --arch=x86_64
>>> I am able to load my package:
>>> > library(xps)
>>>
>>> Welcome to xps version 1.7.4
>>>   an R wrapper for XPS - eXpression Profiling System
>>>   (c) Copyright 2001-2009 by Christian Stratowa
>>>
>>>
>>> Now one final question remains, which is a question of a user of xps 
>>> who has started the whole discussion since he has compiled ROOT as 
>>> 64 bit and wanted to install xps using:
>>> > biocLite("xps", type = "source")
>>> I assume that when I start R using "R --arch=x86_64" then every 
>>> package is compiled as 64 bit automatically.
>>>
>>> Best regards
>>> Christian
>>>
>>>
>>>
>>> Simon Urbanek wrote:
>>>>
>>>> On Jan 26, 2010, at 15:24 , cstrato wrote:
>>>>
>>>>> Dear Simon,
>>>>>
>>>>> Meanwhile I have tried to install xps:
>>>>> $ R CMD INSTALL -l ~/Library/R/2.10/library xps_1.7.4.tar.gz
>>>>> * installing *source* package 'xps' ...
>>>>> checking for gcc... gcc-4.2 -arch i386 -std=gnu99
>>>>> checking for C compiler default output file name... a.out
>>>>> checking whether the C compiler works... yes
>>>>> checking whether we are cross compiling... no
>>>>> checking for suffix of executables...
>>>>> checking for suffix of object files... o
>>>>> checking whether we are using the GNU C compiler... yes
>>>>> checking whether gcc-4.2 -arch i386 -std=gnu99 accepts -g... yes
>>>>> checking for gcc-4.2 -arch i386 -std=gnu99 option to accept ANSI 
>>>>> C... none needed
>>>>> checking how to run the C preprocessor... gcc-4.2 -arch i386 
>>>>> -std=gnu99 -E
>>>>> checking for gcc... (cached) gcc-4.2 -arch i386 -std=gnu99
>>>>> checking whether we are using the GNU C compiler... (cached) yes
>>>>> checking whether gcc-4.2 -arch i386 -std=gnu99 accepts -g... 
>>>>> (cached) yes
>>>>> checking for gcc-4.2 -arch i386 -std=gnu99 option to accept ANSI 
>>>>> C... (cached) none needed
>>>>> found ROOT version 5.24/00 in directory /Users/rabbitus/ROOT/root
>>>>> ** libs
>>>>> ** arch - i386
>>>>>
>>>>> As you can see it compiles using the wrong architecture:
>>>>
>>>> Well, you're running the wrong architecture ... As I said when you 
>>>> want to link, you have to use 64-bit.
>>>>
>>>>
>>>>> > library(xps)
>>>>> Error in dyn.load(file, DLLpath = DLLpath, ...) :
>>>>> unable to load shared library 
>>>>> '/Users/rabbitus/Library/R/2.10/library/xps/libs/i386/xps.so':
>>>>> dlopen(/Users/rabbitus/Library/R/2.10/library/xps/libs/i386/xps.so, 
>>>>> 6): no suitable image found.  Did find:
>>>>>      /Users/rabbitus/Library/R/2.10/library/xps/libs/i386/xps.so: 
>>>>> mach-o, but wrong architecture
>>>>> Error: package/namespace load failed for 'xps'
>>>>> >
>>>>>
>>>>> In my file "config.in" I have the following lines:
>>>>> # See "Writing R Extensions"
>>>>> : ${R_HOME=`R RHOME`}
>>>>> if test -z "${R_HOME}"; then
>>>>> echo "could not determine R_HOME"
>>>>> exit 1
>>>>> fi
>>>>> CC=`"${R_HOME}/bin/R" CMD config CC`
>>>>> CFLAGS=`"${R_HOME}/bin/R" CMD config CFLAGS`
>>>>> AC_PROG_CPP
>>>>> AC_PROG_CC
>>>>>
>>>>> Thus I assume that I need to use 64 bit R so that the flags are 
>>>>> set correctly. Is this correct?
>>>>>
>>>>
>>>> You have to use 64-bit R if you want to link to a 64-bit program - 
>>>> as I said.
>>>>
>>>>
>>>>> If yes, can I use: 
>>>>> http://r.research.att.com/R-GUI-5548-2.10-leopard-Leopard64.dmg
>>>>> or do I need to build 64 bit R from source?
>>>>>
>>>>
>>>> Neither - just pick it from CRAN - it's the first download in the 
>>>> list. Note that you still have to run 64-bit R -- e.g. R --arch=x86_64
>>>>
>>>> Cheers,
>>>> Simon
>>>>
>>>>
>>>>
>>>>>
>>>>>
>>>>> Simon Urbanek wrote:
>>>>>> On Jan 25, 2010, at 5:34 PM, cstrato wrote:
>>>>>>
>>>>>>
>>>>>>> Dear Simon,
>>>>>>>
>>>>>>> Thank you, with this version I could finally compile ROOT as 64 
>>>>>>> bit.
>>>>>>>
>>>>>>> Now I have one more question:
>>>>>>> When I do "R CMD Install xps.tar.gz" which now depends on 64 bit 
>>>>>>> ROOT, do I need to install the 64 bit version of R or can I use 
>>>>>>> the current R version?
>>>>>>>
>>>>>>>
>>>>>>
>>>>>> I have no idea since I don't know your package. If you *link* to 
>>>>>> ROOT then yes, you have to use 64-bit R to load 64-bit code. 
>>>>>> (Linking in itself can be quite interesting given the flags ROOT 
>>>>>> uses, so your journey may not end there ;)).
>>>>>>
>>>>>> Cheers,
>>>>>> Simon
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>> Best regards
>>>>>>> Christian
>>>>>>>
>>>>>>>
>>>>>>> Simon Urbanek wrote:
>>>>>>>
>>>>>>>> On Jan 25, 2010, at 15:03 , cstrato wrote:
>>>>>>>>
>>>>>>>>
>>>>>>>>> Dear Simon,
>>>>>>>>>
>>>>>>>>> Thank you for your suggestions, which I have just tried. Sadly 
>>>>>>>>> the error remains the same.
>>>>>>>>>
>>>>>>>>> The problem seems to be that for some reason 
>>>>>>>>> "gfortran-4.2-5564-darwin9.tar.gz" does not have a 
>>>>>>>>> "/usr/lib/gcc/i686-apple-darwin9/4.2.1/x86_64" directory 
>>>>>>>>> containing libgfortranbegin.a. For this reason the 64 bit 
>>>>>>>>> version of libgfortranbegin.a is not installed in the 
>>>>>>>>> corresponding directory x86_64 which contains only libgcc.a etc.
>>>>>>>>>
>>>>>>>>>
>>>>>>>> Oh ... that's a surprise - it should be there, sorry. Ok, so 
>>>>>>>> please use the more recent 5566 build:
>>>>>>>> http://r.research.att.com/tools/gfortran-4.2-5566-darwin9.tar.gz
>>>>>>>>
>>>>>>>> that one has the x86_64 files - I checked:
>>>>>>>> ginaz:~$ curl -s -S 
>>>>>>>> http://r.research.att.com/tools/gfortran-4.2-5566-darwin9.tar.gz | 
>>>>>>>> tar fvtz - | grep gfortran.a
>>>>>>>> -rw-r--r-- root/wheel  3592608 2008-12-24 14:51:33 
>>>>>>>> usr/lib/gcc/i686-apple-darwin9/4.2.1/libgfortran.a
>>>>>>>> -rw-r--r-- root/wheel  3870032 2008-12-24 14:51:33 
>>>>>>>> usr/lib/gcc/powerpc-apple-darwin9/4.2.1/libgfortran.a
>>>>>>>> -rw-r--r-- root/wheel  5002152 2008-12-24 14:51:33 
>>>>>>>> usr/lib/gcc/i686-apple-darwin9/4.2.1/x86_64/libgfortran.a
>>>>>>>>
>>>>>>>> (Ideally you should install Xcode 3.1.2 for this since that is 
>>>>>>>> where the 5566 build comes from, but it will probably work even 
>>>>>>>> if the builds don't match perfectly).
>>>>>>>>
>>>>>>>> Cheers,
>>>>>>>> Simon
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>> You can see this by double-clicking on 
>>>>>>>>> "gfortran-4.2-5564-darwin9.tar.gz" when located in some 
>>>>>>>>> directory.
>>>>>>>>>
>>>>>>>>> In contrast, "gfortran-4.2.3.dmg" did install 
>>>>>>>>> libgfortranbegin.a in the 
>>>>>>>>> "/usr/local/lib/gcc/i686-apple-darwin9/4.2.1/x86_64" directory.
>>>>>>>>>
>>>>>>>>> Could you please check or tell me what the reason might be?
>>>>>>>>>
>>>>>>>>> I have installed it using:
>>>>>>>>> $ gunzip gfortran-4.2-5564-darwin9.tar.gz
>>>>>>>>> $ sudo tar -xvf gfortran-4.2-5564-darwin9.tar -C /
>>>>>>>>>
>>>>>>>>> Best regards
>>>>>>>>> Christian
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> Simon Urbanek wrote:
>>>>>>>>>
>>>>>>>>>> On Jan 24, 2010, at 3:28 PM, cstrato wrote:
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>> Dear Kasper,
>>>>>>>>>>>
>>>>>>>>>>> You are right. Since ROOT supports the CC, CXX, F77 and LD 
>>>>>>>>>>> flags I did:
>>>>>>>>>>> ./configure macosx64 --with-cxx="/usr/bin/g++-4.2 -arch 
>>>>>>>>>>> x86_64" --with-f77="/usr/bin/gfortran-4.2 -arch x86_64"
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>> You don't really need the override - it works without and 
>>>>>>>>>> they add -m64 anyway so the -arch gets essentially ignored.
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>> The error was still the same:
>>>>>>>>>>> i686-apple-darwin9-g++-4.2.1: libgfortran.dylib: No such 
>>>>>>>>>>> file or directory
>>>>>>>>>>>
>>>>>>>>>>> However, when I replaced in the Makefile.macosx64:
>>>>>>>>>>> F77LIBS      := $(shell $(F77) -m64 
>>>>>>>>>>> -print-file-name=libgfortran.dylib)
>>>>>>>>>>> F77LIBS      += $(shell $(F77) -m64 
>>>>>>>>>>> -print-file-name=libgfortranbegin.a)
>>>>>>>>>>> with:
>>>>>>>>>>> F77LIBS      := $(shell $(F77) -m64 
>>>>>>>>>>> -print-file-name=libgfortranbegin.a)
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>> You found the right spot but your fix is wrong - just remove 
>>>>>>>>>> the two lines, they are superfluous and only cause trouble.
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>> the error disappeared, and I could finish the compilation.
>>>>>>>>>>>
>>>>>>>>>>> However, now I got a link-error:
>>>>>>>>>>> ld warning: in 
>>>>>>>>>>> /usr/lib/gcc/i686-apple-darwin9/4.2.1/libgfortranbegin.a, 
>>>>>>>>>>> file is not of required architecture
>>>>>>>>>>> Undefined symbols:
>>>>>>>>>>> "_main", referenced from:
>>>>>>>>>>> start in crt1.10.5.o
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>> Your'e getting the 32-bit version (of the wrong file - see 
>>>>>>>>>> above). It should really be ../4.2.1/x86_64/lib...
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>> I am not sure what this error means since Makefile.macosx64 
>>>>>>>>>>> contains:
>>>>>>>>>>> F77FLAGS      = -m64 -std=legacy
>>>>>>>>>>>
>>>>>>>>>>> Could it be that libgfortranbegin.a can only be used for 
>>>>>>>>>>> 32bit compilation?
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>> No, you're picking the wrong one - there is one for each 
>>>>>>>>>> architecture.
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>> Furthermore, I still have the question (and hopefully Simon 
>>>>>>>>>>> will answer it):
>>>>>>>>>>> Why does gfortran-4.2-5564-darwin9.tar.gz not contain any 
>>>>>>>>>>> libgfortran.dylib files?
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>> Because it's using a static library.
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>> Interestingly, when googling "/usr/lib/libgfortran.dylib" I 
>>>>>>>>>>> get the answer that NO results were found, while googling 
>>>>>>>>>>> "/usr/local/lib/libgfortran.dylib" gives many results. Thus 
>>>>>>>>>>> it seems that there will never be any libgfortran.dylib in 
>>>>>>>>>>> "/usr/lib/"!?
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>> Nope - OS X has no Fortran by default.
>>>>>>>>>>
>>>>>>>>>> Cheers,
>>>>>>>>>> Simon
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>> I must admit that I do not understand this issue.
>>>>>>>>>>>
>>>>>>>>>>> Best regards
>>>>>>>>>>> Christian
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> Kasper Daniel Hansen wrote:
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>> On Jan 23, 2010, at 8:37 AM, cstrato wrote:
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>> Dear Kasper,
>>>>>>>>>>>>>
>>>>>>>>>>>>> Thank you for your suggestion, I did indeed use gcc 4.0.
>>>>>>>>>>>>> Since gcc_select does no longer exist on Leopard I had to do:
>>>>>>>>>>>>> cd /usr/bin
>>>>>>>>>>>>> sudo ln -s gcc-4.2 gcc
>>>>>>>>>>>>> sudo ln -s g++-4.2 g++
>>>>>>>>>>>>> sudo ln -s gcov-4.2 gcov
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>> I am not sure this is advisable in general.  When I compile 
>>>>>>>>>>>> stuff with gcc-4.2 I usually explicitly set
>>>>>>>>>>>> CC=/usr/bin/gcc-4.2
>>>>>>>>>>>> when I run configure.  For example, my entire configure 
>>>>>>>>>>>> line for R on my macbook is
>>>>>>>>>>>> ../${SRCDIR}/configure SHELL='/bin/bash' \
>>>>>>>>>>>>        CC="/usr/bin/gcc-4.2 -arch x86_64 -std=gnu99" \
>>>>>>>>>>>>        CFLAGS="-g -O2 -std=gnu99 -march=nocona" \
>>>>>>>>>>>>        CXX="/usr/bin/g++-4.2 -arch x86_64" \
>>>>>>>>>>>>        CXXFLAGS="-g -O2 -march=nocona" \
>>>>>>>>>>>>        OBJC="/usr/bin/gcc-4.2 -arch x86_64" \
>>>>>>>>>>>>        F77="/usr/bin/gfortran-4.2 -arch x86_64" \
>>>>>>>>>>>>        FFLAGS="-g -O2 -march=nocona" \
>>>>>>>>>>>>        FC="/usr/bin/gfortran-4.2 -arch x86_64" \
>>>>>>>>>>>>        FCFLAGS="-g -O2 -march=nocona" \
>>>>>>>>>>>>        --x-includes=/usr/X11/include 
>>>>>>>>>>>> --x-libraries=/usr/X11/lib \
>>>>>>>>>>>>        --with-system-zlib \
>>>>>>>>>>>>        --with-blas='-framework vecLib' --with-lapack
>>>>>>>>>>>> Of course this requires that ROOT uses the CC/CFLAGS 
>>>>>>>>>>>> macros, but that should be pretty standard if it uses 
>>>>>>>>>>>> autoconf.
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>> Sadly, compiling ROOT resulted still in the same error:
>>>>>>>>>>>>> i686-apple-darwin9-g++-4.2.1: libgfortran.dylib: No such 
>>>>>>>>>>>>> file or directory
>>>>>>>>>>>>>
>>>>>>>>>>>>> When I check the location for gfortran-4.2.3.dmg I get:
>>>>>>>>>>>>> $ cd 
>>>>>>>>>>>>> /usr/local/lib/gcc/i686-apple-darwin8/4.2.3/../../../x86_64
>>>>>>>>>>>>> $ ls -al
>>>>>>>>>>>>> total 32
>>>>>>>>>>>>> drwxrwxr-x   6 root  wheel   204 Jan 21 20:26 .
>>>>>>>>>>>>> drwxr-xr-x  35 root  wheel  1190 Jan 21 20:26 ..
>>>>>>>>>>>>> lrwxr-xr-x   1 root  wheel    26 Jan 21 20:26 
>>>>>>>>>>>>> libgfortran.2.0.0.dylib -> ../libgfortran.2.0.0.dylib
>>>>>>>>>>>>> lrwxr-xr-x   1 root  wheel    23 Jan 21 20:26 
>>>>>>>>>>>>> libgfortran.2.dylib -> libgfortran.2.0.0.dylib
>>>>>>>>>>>>> lrwxr-xr-x   1 root  wheel    16 Jan 21 20:26 
>>>>>>>>>>>>> libgfortran.a -> ../libgfortran.a
>>>>>>>>>>>>> lrwxr-xr-x   1 root  wheel    23 Jan 21 20:26 
>>>>>>>>>>>>> libgfortran.dylib -> libgfortran.2.0.0.dylib
>>>>>>>>>>>>>
>>>>>>>>>>>>> This means that /usr/local/bin does contain 
>>>>>>>>>>>>> libgfortran.dylib whereas /usr/bin does not contain any of 
>>>>>>>>>>>>> these files or links.
>>>>>>>>>>>>> Does this mean that gfortran-4.2.3.dmg does contain these 
>>>>>>>>>>>>> file for libgfortran.dylib while 
>>>>>>>>>>>>> gfortran-4.2-5564-darwin9.tar.gz does not contain these 
>>>>>>>>>>>>> files?
>>>>>>>>>>>>> How do I get libgfortran.dylib?
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>> Simon might be able to answer this better, but the general 
>>>>>>>>>>>> idea is that the
>>>>>>>>>>>>
>>>>>>>>>>>>> gfortran-4.2-5564-darwin9.tar.gz
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>> installs into /usr/bin
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>> gfortran-4.2.3.dmg
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>> installs into /usr/local/bin.  There is some logic here, 
>>>>>>>>>>>> the way I think about it is that the former is a direct 
>>>>>>>>>>>> extension of the Apple build.
>>>>>>>>>>>>
>>>>>>>>>>>> I would start from scratch, which means remove all traces 
>>>>>>>>>>>> of both gfortrans, install the 5564-tarball and then set 
>>>>>>>>>>>> the various macros as I have set it above for R (your exact 
>>>>>>>>>>>> values may of course be different depending on what machine 
>>>>>>>>>>>> etc. you are using).
>>>>>>>>>>>>
>>>>>>>>>>>> Kasper
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>> BTW, I must apologize to Simon. On his website he lists 
>>>>>>>>>>>>> the commands how to install gfortran.tar.gz, but in the 
>>>>>>>>>>>>> Tiger section, so I did miss it. Nevertheless it would 
>>>>>>>>>>>>> still be helpful for Mac users to know how to uninstall it:
>>>>>>>>>>>>> $ tar -tf gfortran.tar | sort -r | (cd /; xargs -p -n 1 rm 
>>>>>>>>>>>>> -d)
>>>>>>>>>>>>>
>>>>>>>>>>>>> Best regards
>>>>>>>>>>>>> Christian
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>> Kasper Daniel Hansen wrote:
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>> Remember that Apple has two version of GCC on Leopard: 
>>>>>>>>>>>>>> 4.0 and 4.2.  You are using 4.0, you might want to switch 
>>>>>>>>>>>>>> to 4.2.  In Tiger there used to be gcc_select (or 
>>>>>>>>>>>>>> select_gcc) that let you choose between 3.x and 4.0, I 
>>>>>>>>>>>>>> don't remember if that is still around on Leopard.
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> The error seems to indicate that you need 4.2 in order to 
>>>>>>>>>>>>>> use Simon's gfortran.
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> Kasper
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> On Jan 22, 2010, at 16:04 PM, cstrato wrote:
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> Dear Simon,
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> Thank you for this information.
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> Now I have installed gfortran-4.2-5564-darwin9.tar.gz on 
>>>>>>>>>>>>>>> Leopard and tried to compile ROOT again, but this time I 
>>>>>>>>>>>>>>> got the following error:
>>>>>>>>>>>>>>> g++ -dynamiclib -single_module -undefined dynamic_lookup 
>>>>>>>>>>>>>>> -install_name @rpath/libminicern.so -O2 -m64 -o 
>>>>>>>>>>>>>>> lib/libminicern.so misc/minicern/src/cernlib.o -ldl 
>>>>>>>>>>>>>>> misc/minicern/src/hbook.o misc/minicern/src/kernlib.o 
>>>>>>>>>>>>>>> misc/minicern/src/zebra.o libgfortran.dylib 
>>>>>>>>>>>>>>> /usr/lib/gcc/i686-apple-darwin9/4.2.1/libgfortranbegin.a
>>>>>>>>>>>>>>> i686-apple-darwin9-g++-4.0.1: libgfortran.dylib: No such 
>>>>>>>>>>>>>>> file or directory
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> I know that this is not necessarily an R-related 
>>>>>>>>>>>>>>> question but I would greatly appreciate your help if 
>>>>>>>>>>>>>>> possible (at least it is a Mac- and somehow a 
>>>>>>>>>>>>>>> BioC-related question).
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> When I have tried to compile ROOT with 
>>>>>>>>>>>>>>> gfortran-4.2.3.dmg I got the following error:
>>>>>>>>>>>>>>> gfortran -O2 -m64 -o bin/g2root main/src/g2root.o -Llib 
>>>>>>>>>>>>>>> lib/libminicern.so 
>>>>>>>>>>>>>>> /usr/local/lib/gcc/i686-apple-darwin8/4.2.3/../../../x86_64/libgfortran.dylib 
>>>>>>>>>>>>>>> /usr/local/lib/gcc/i686-apple-darwin8/4.2.3/x86_64/libgfortranbegin.a 
>>>>>>>>>>>>>>> -lm -Wl,-rpath, at loader_path/../lib    -pthread -ldl
>>>>>>>>>>>>>>> ld: -rpath can only be used when targeting Mac OS X 10.5 
>>>>>>>>>>>>>>> or later
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> As you can see gfortran-4.2.3 could find 
>>>>>>>>>>>>>>> libgfortran.dylib at:
>>>>>>>>>>>>>>> /usr/local/lib/gcc/i686-apple-darwin8/4.2.3/../../../x86_64/libgfortran.dylib 
>>>>>>>>>>>>>>> while gfortran-4.2.4 could not find libgfortran.dylib.
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> Thus maybe I did make a mistake when installing 
>>>>>>>>>>>>>>> gfortran-4.2.4. Here is what I did:
>>>>>>>>>>>>>>> $ gunzip gfortran-4.2-5564-darwin9.tar.gz
>>>>>>>>>>>>>>> $ sudo tar -xvf gfortran-4.2-5564-darwin9.tar -C /
>>>>>>>>>>>>>>> $ sudo ln -s /usr/bin/gfortran-4.2 /usr/bin/gfortran
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> Do you know what I need to do so that libgfortran.dylib 
>>>>>>>>>>>>>>> can be found?
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> P.S.:Since many Mac users are no Unix experts please 
>>>>>>>>>>>>>>> allow me to suggest to place on your website the 
>>>>>>>>>>>>>>> commands to install/uninstall gfortran. I have found the 
>>>>>>>>>>>>>>> following website, which told me how to install gfortran 
>>>>>>>>>>>>>>> and how I could uninstall it:
>>>>>>>>>>>>>>> http://www.webmo.net/support/fortran_osx.html
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> Thank you in advance.
>>>>>>>>>>>>>>> Best regards
>>>>>>>>>>>>>>> Christian
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> Simon Urbanek wrote:
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> On Jan 21, 2010, at 15:56 , cstrato wrote:
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> Dear Simon,
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> One more question:
>>>>>>>>>>>>>>>>> I have just unzipped gfortran-4.2-5564-darwin9.tar.gz. 
>>>>>>>>>>>>>>>>> The version gives:
>>>>>>>>>>>>>>>>> Using built-in specs.
>>>>>>>>>>>>>>>>> Target: i686-apple-darwin9
>>>>>>>>>>>>>>>>> Configured with: 
>>>>>>>>>>>>>>>>> /Builds/gcc/gcc_42-5564/build/obj/src/configure 
>>>>>>>>>>>>>>>>> --disable-checking --enable-werror --prefix=/usr 
>>>>>>>>>>>>>>>>> --mandir=/usr/share/man 
>>>>>>>>>>>>>>>>> --enable-languages=c,objc,c++,obj-c++,fortran 
>>>>>>>>>>>>>>>>> --program-transform-name=/^[cg][^.-]*$/s/$/-4.2/ 
>>>>>>>>>>>>>>>>> --with-gxx-include-dir=/usr/include/c++/4.0.0 
>>>>>>>>>>>>>>>>> --with-slibdir=/usr/lib --build=i686-apple-darwin9 
>>>>>>>>>>>>>>>>> --host=i686-apple-darwin9 --target=i686-apple-darwin9
>>>>>>>>>>>>>>>>> Thread model: posix
>>>>>>>>>>>>>>>>> gcc version 4.2.1 (Apple Inc. build 5564)
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> This means that this version seems to be older than 
>>>>>>>>>>>>>>>>> the one I am using now?
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> No, that is GNU Fortran 4.2.4 that I was referring to. 
>>>>>>>>>>>>>>>> The "gcc version 4.2.1" comes from Apple's Xcode 3.1 
>>>>>>>>>>>>>>>> gcc-4.2 branch since that is what they define - it just 
>>>>>>>>>>>>>>>> adds Fortran support to the existing gcc 4.2.1 branch 
>>>>>>>>>>>>>>>> of Apple that you installed as Xcode. However, the 
>>>>>>>>>>>>>>>> Fortran part is merged from the GNU Fortran 4.2.4 
>>>>>>>>>>>>>>>> release - hence I refer to it as 4.2.4.
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> Cheers,
>>>>>>>>>>>>>>>> Simon
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> Simon Urbanek wrote:
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> On Jan 21, 2010, at 14:47 , cstrato wrote:
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>> Dear all,
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>> I have the following problem:
>>>>>>>>>>>>>>>>>>> My Bioconductor package xps requires both R and 
>>>>>>>>>>>>>>>>>>> ROOT, whereby I compile ROOT usually from source. 
>>>>>>>>>>>>>>>>>>> Until now this has not been a problem since I do all 
>>>>>>>>>>>>>>>>>>> my development on Tiger. However, now I wanted to 
>>>>>>>>>>>>>>>>>>> compile ROOT on Leopard but failed since my gfortran 
>>>>>>>>>>>>>>>>>>> compiler is too old, see:
>>>>>>>>>>>>>>>>>>> http://root.cern.ch/phpBB2/viewtopic.php?t=9721&sid=003b01ddb64f33dbe0c74651ee089c34 To 
>>>>>>>>>>>>>>>>>>> solve the problem I should upgrade to the latest 
>>>>>>>>>>>>>>>>>>> version coming with gcc-4.4 in Fink.
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> I would advise against that - using gcc from Fink 
>>>>>>>>>>>>>>>>>> usually calls for a disaster. The real solution is to 
>>>>>>>>>>>>>>>>>> fix their flags, but that's another story ...
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>> Thus my question is:
>>>>>>>>>>>>>>>>>>> Can I also use this version for R or do I need to 
>>>>>>>>>>>>>>>>>>> use the version downloaded from att?
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> I would recommend using the Leopard gfortran 4.2.4 
>>>>>>>>>>>>>>>>>> for Xcode 3.1.x from the Mac devel page
>>>>>>>>>>>>>>>>>> http://r.research.att.com/tools/
>>>>>>>>>>>>>>>>>> which I assume is what you meant by the latter.
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> Cheers,
>>>>>>>>>>>>>>>>>> Simon
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> _______________________________________________
>>>>>>>>>>>>>>> R-SIG-Mac mailing list
>>>>>>>>>>>>>>> R-SIG-Mac at stat.math.ethz.ch
>>>>>>>>>>>>>>> https://stat.ethz.ch/mailman/listinfo/r-sig-mac
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>
>>>>>
>>>>
>>>>
>>>
>>>
>>
>>
>
>



More information about the R-SIG-Mac mailing list