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

Simon Urbanek simon.urbanek at r-project.org
Fri Jan 29 20:21:31 CET 2010


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