[Trilinos-Users] Problems configuring on OS X

James C. Sutherland James.Sutherland at utah.edu
Thu Oct 29 08:15:46 MDT 2009

On Oct 29, 2009, at 7:26 AM, John R. Cary wrote:

> The trilinos configuration error is
>    [100%] Building CXX object CMakeFiles/VerifyFortranC.dir/ 
> VerifyCXX.cxx.o
>    /usr/bin/c++   -DVERIFY_CXX -mmacosx-version-min=10.6
> -I/Users/cary/projects/vpall/builds/trilinos/ser/CMakeFiles/ 
> FortranCInterface/VerifyCXX
> -o CMakeFiles/VerifyFortranC.dir/VerifyCXX.cxx.o -c
> /usr/local/contrib/cmake-2.8.0-rc3-ser/share/cmake-2.8/Modules/ 
> FortranCInterface/Verify/VerifyCXX.cxx
>    Linking CXX executable VerifyFortranC
>    /usr/local/contrib/cmake-2.8.0-rc3-ser/bin/cmake -E
> cmake_link_script CMakeFiles/VerifyFortranC.dir/link.txt --verbose=1
>    /usr/bin/c++    -mmacosx-version-min=10.6 -Wl,-search_paths_first
> -headerpad_max_install_names  CMakeFiles/VerifyFortranC.dir/main.c.o
> CMakeFiles/VerifyFortranC.dir/VerifyC.c.o
> CMakeFiles/VerifyFortranC.dir/VerifyFortran.f.o
> CMakeFiles/VerifyFortranC.dir/VerifyCXX.cxx.o  -o VerifyFortranC
> -L/usr/local/lib/gcc/x86_64-apple-darwin10/4.5.0 -L/usr/local/lib
> -lcrt1.10.5.o -lgfortran -lgcc_s.10.5
>    ld: duplicate symbol start in /usr/lib/crt1.10.5.o and
> /usr/lib/crt1.10.6.o
>    collect2: ld returned 1 exit status
>    make[2]: *** [VerifyFortranC] Error 1
>    make[1]: *** [CMakeFiles/VerifyFortranC.dir/all] Error 2
>    make: *** [all] Error 2
> The error is seen to come from the inclusion of 10.5 and 10.6  
> versions of
> crt1.  The probable reason is that for gcc we use the system, but  
> since we
> need a more recent version of gfortran, we use 4.5 from hpc.sourceforge.net 
> .
> Making this consistent, i.e., installing gcc from hpc, has caused  
> other
> problems with dynamic libs, so we prefer not to go that route.
> With this identical setup, trilinos-9.0.3 works fine.
> John Cary


This may be off base, but based on my recent experience upgrading to  
Snow-Leopard (10.6), here are some observations:

1. The hcp version of gfortran is built against the 32 bit (OSX 10.5)  
gcc compilers.  This could be why you are getting the 10.5 libraries  
brought in from /usr/lib.  You will likely not have any success mixing  
the Apple 10.6 SDK with this version of gfortran (at least I did not).

2. I had to "roll my own" version of gfortran.  Actually, I did this  
through fink (http://www.finkproject.org) which I installed as the 64  
bit version of fink.  A few weeks ago when I last checked there were  
no binaries for gfortran on 64 bit, so I used fink to compile the  
entire gcc/gfortran suite.

3. To avoid conflicts between apples SDK versions of gcc and the ones  
compiled via fink, I point to the fink versions first.

I haven't yet tried trilinos 10 with my new system.  If I get the  
chance in the next little while I will let you know what I find.


More information about the Trilinos-Users mailing list