amber-developers: Some remarks on compiling amber9

From: Andreas Svrcek-Seiler <svrci.tbi.univie.ac.at>
Date: Thu, 2 Feb 2006 08:47:31 -0700

Dear developers,
I just checked updated "my" amber9 sources, and -alas- the intel fortran
compiler (from 9.0.031 to 9.0.032).
So here are my observations:
1) The 'core' Makefile in $AMBERHOME/src should contain a
mkdir ../exe or something like that. Otherwise, when the sources are
untarred into a 'new' directory tree, the executables are one after
another moved to a file called ../../exe or something like that.
Instead of 'mkdir exe', an empty $AMBERHOME/exe directory inside the CVS
tree (or one containingh a placeholder file) would do (?)

2) Here some experimetal results:
ifort 8.1.030 (32 bit):

make faile for ptraj due to a missing include statement
(../netcdf/src/libsrc).

After adding the missing include-directory, ptraj is not built due to
undefined references, presumably to functions inside libnetcdf.
To link in libnetcdf.a, one seems to have to add {WHEREVER}/libnetcdf.a
when finally linking rdparm and ptraj, but then it works.

{t,x}leap don't build as 32bit programs on a 64 it machine, since LOADCC
misses a '-m32' and gcc defaults to 64 bit mode during the linking stage.


...Thats for 'make serial'
Once that's done anyway, 'make test.serial' in $AMBERHOME/test
gives some errors due to missing input files.
Worse: target 'test.sander.DIVCON' exits with a segfault, but trouble seem

to start with "AM1ESCF = NaN" in 2pk4_stan.out.

Several further divcon test quit with something like
"Error: cannot run "$AMBERHOME/exe/divcon" of bcc() in charge.c properly,
  exit"

...Recompiling without optimization cures all "divcon" trouble. So this
might be a compiler error. On the other hand, we've seen quite some
"compiler errors" from icc (not ifort) here, which turned out be nasty
  self-made errors...

Now on to ifort 9.0.032. Since updating from 9.0.031,
I get error messages like:
fortcom: Error: _amoeba_runmd.f, line 118: Syntax error, found '.' when
expecting one of: ( <IDENTIFIER> <CHAR_CON_KIND_PARAM>
<CHAR_NAM_KIND_PARAM> <CHARACTER_CONSTANT> <INTEGER_CONSTANT> ...
       allocate(acceleration(3,num_atoms),stat=ier); if(.not.(ier==0))call

Aass('ier==0',"amoeba_runmd.f",27)
-------------------------------------------------------^
I can't tell whether the code above is bad fortran or the current compiler

is "wrong" (?).

After going around that, and compiling, make test.serial again gives some
errors:
Run.dhfr.min gives a segfault (in nblist_mp_nonbond_list_ (?), thanks
gdb).
So does {...}/qmmm2/1NLN_periodic_lnk_atoms/Run.1NLN_min, inside the same
routine.
Same error occurs in
{...}/qmmm2/MG_QM_water_MM_AM1_periodic/Run.{notimaged,imaged,img_center}
as well as some more tests.

Baseline: with the latest ifort (9.0.032 ia32) compiler,
the routine nonbond_list seems segfault-prone and even disabling all
optimizations doesn't help.


I hope that
a) it's o.k. to send this to the list
b) this mail is not too incoherent (I started yesterday and did lots of
things in between :-)

gest regards
Andreas









-- 
             )))))
             (((((
            ( O O )
-------oOOO--(_)--OOOo----------------------------------------------------
-
               o        Wolfgang Andreas Svrcek-Seiler
               o        (godzilla)
                        svrci.tbi.univie.ac.at
       .oooO            Tel.:01-4277-52733
       (   )   Oooo. 
-------\ (----(
)--------------------------------------------------------
         \_)    ) /
               (_/
Received on Wed Apr 05 2006 - 23:49:43 PDT
Custom Search