On Thu, Sep 20, 2012 at 10:53 AM, Cody Permann <codyperm...@gmail.com>wrote:
> Our single biggest holdup is our need for FORTRAN support.
>
Ditto. This is why I started worrying about this almost 10 years ago.
Paths Forward:
> Clang - This would be nice, however I'm not really liking our FORTRAN
> options if we go this route. There's this "dragonEgg" thingy we might be
> able to use but it feels hackish and is labeled as experimental.
>
I'm still dubious of Clang, but maybe it's more mature now than I think is
(when Lion was released, Macports was a mess for a couple of months because
Clang was generating wrong code). That said, I haven't tried this yet.
>
> GNU GCC: This is probably our best option. The question is, do we build
> it from source, download binaries, or get it through Fink/Mac Ports? There
> are various advantages/disadvantages to each of these. Paul, you've been
> using GNU GCC (as opposed to Apple GCC) for sometime now. I know you've
> answered this before but what are your thoughts challenges with this? Have
> you ever messed with the Fortran piece?
>
First, G95 is horrible. I had a lot of problems with it. gfortran has been
an excellent Fortran 77/90 compiler since 4.4. And is very close to fully
functional 2003 as of 4.7.
I tried Fink a long time ago and ultimately abandoned it because it was
hard to uninstall things and it liked to put stuff in places like /usr
which annoyed me very much. It's been a long time since I've used it (6
years I think), so it very well could have changed.
I use MacPorts for everything *but* the compilers/compiled libraries I use.
In particular, I MacPorts to supply autotools, octave, doxygen, coreutils
(GNU instead of BSD utilities), python and all python modules (e.g. numpy,
matplotlib), scons, etc. This works very very well for me. The only caveat,
as mentioned above, when the OS changes, Apple tends to pull the rug out
from under you on the compiler and it can take come time for MacPorts to
catch up.
Some folks around here also use MacPorts for supplying the compiler, MPI
stack, HDF5, and some others. If you're *very* careful, this can work. The
problem is that it's *really* easy to have the compiler you're using and
the compiler used to compile a library not match up. For example, the
maintainer of the boost port might decide to switch to a different compiler
port and it's practically invisible to you. Folks had/have a lot of linking
trouble because of this. I have not tried using just the MacPorts compiler
and building my own stuff, but, again, you can run into linker problems
because, for example, if you use boost, depending on where /opt/local/lib
gets pulled in on the linker line (for the compiler libraries), you could
end up pulling in boost from macports. So, if you leverage MacPorts for a
lot of stuff, this can easily happen. If you keep your MacPorts install
lean, you'll probably be able to avoid these issues.
Given the above discussion, I've been building from scratch for a long
time. Another perk is you can try out new compilers early on and anticipate
problems that might crop up. Building from scratch is, really, very simple
and can be handled completely with script(s). You will need GMP, MPFR (and
MPC for gcc >= 4.5), which I also tend to build. This has worked very well
for me. However, as of OS X Lion, there have been a couple of problems that
I haven't been able to figure out and that have persisted into Mountain
Lion which you will want to consider. libMesh miscellaneous_ex6 outright
fails with an ugly stack trace that goes all the way to a linker function.
I have also not been able to get TBB to work with libMesh successfully
(segfaults) on my laptop (works fine on Linux workstation). However, every
other code I compile and use has run just fine, in parallel, etc including
Fortran codes. However, I'm still nervous because I haven't been able to
sort out the above couple of issues.
>
> hpc.sourceforge.net: We've been down this road in the past too. In the
> past this guy used to put out a really nice suite of pre-built compilers.
> We had some negative experiences when GCC 4.5 was released
> and abandoned ship. We might look at this again though.
>
I've never tried this.
> Thanks everyone in advance for your thoughts on this subject,
>
Let me know if you have any other questions, I'll be happy to give whatever
experience/scripts/etc I have.
Best,
Paul
------------------------------------------------------------------------------
Everyone hates slow websites. So do we.
Make your web apps faster with AppDynamics
Download AppDynamics Lite for free today:
http://ad.doubleclick.net/clk;258768047;13503038;j?
http://info.appdynamics.com/FreeJavaPerformanceDownload.html
_______________________________________________
Libmesh-devel mailing list
Libmesh-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/libmesh-devel