Re: [AMBER-Developers] Compilation of AMBER Tools

From: Jason Swails <>
Date: Thu, 9 Jun 2011 17:51:26 -0600

On Thu, Jun 9, 2011 at 11:29 AM, David A. Case <>wrote:

> On Thu, Jun 09, 2011, Andreas Goetz wrote:
> >
> > Using allocatable data types in a user defined data type is only
> > available since F2003. Pointers have to be used for F90. This is a bit
> > of a pain because it's easy to introduce memory leaks, but there's no
> > way around it. Before allocating memory for a pointer, you should always
> > check whether it is already associated.
> I guess the real question is: are we ready to say that Amber requires at
> least
> some of the F2003 features? (It is now 2011, at least according to the
> calendar program on my iPad....)

I can see the PGI compilers complaining here, except maybe the newest
versions... I also don't think we should drop PGI support, since they're
fairly prominent and high-performance commercial compilers...

> For gcc, version 4.1.2 (spring 2007) is more than four years old, and has
> some
> bugs that bite Amber unrelated to the F2003 change. Version 4.4 (from
> summer
> 2009) seems fine; don't know about the 4.2 or 4.3 releases.
> For Intel, I'm not sure what the earliest version would be that would
> accept
> allocatables inside a struct. Does anyone have info here?
> Also not sure about PGI, etc. I guess now we have to worry about Windows
> compilers as well (not for sander, but for pmemd, and having a common
> coding
> requirement is probably advisable).
> A salutary effect of specifying minimum requirements would be to limit the
> number of compiler versions we are claiming to support. The downside is
> that
> there are probably still lots of 4.1.2 installations out there. But can't
> most such users type 'sudo apt-get install gcc44' (and maybe gcc_select)?

gcc_select is MacPorts only, and since the newest version of gcc_select, its
behavior has changed. (Instead of using "gcc_select mp-gcc45" you need to
use "port select gcc mp-gcc45"). I think it's fine to drop support for old
GNU compilers when supporting them becomes inconvenient since they're open
source, and updating is typically as easy as "port install gcc45" or
"apt-get install gcc45". For the commercial compilers we should probably
work a little harder to maintain compatibility...

While the environment module package is convenient when installed, I'd still
probably suggest Mac users use available select ports (gcc_select,
python_select, qt_select, etc.) if that's the only thing they'd use module
for (as long as all of their versions are MacPorts-installed versions, which
I would also suggest). They're all managed by the port command itself now:

port select gcc mp-gcc44
port select python python27

etc, which is similar syntactically to the module command, but requires no
additional setup and nothing beyond MacPorts.

My 2c...

All the best,

Comments on what is best here are hereby solicted.
> ...dac
> _______________________________________________
> AMBER-Developers mailing list

Jason M. Swails
Quantum Theory Project,
University of Florida
Ph.D. Candidate
AMBER-Developers mailing list
Received on Thu Jun 09 2011 - 17:00:03 PDT
Custom Search