Difference between revisions of "Amber on Seawulf (compilation)"

From Rizzo_Lab
Jump to: navigation, search
(compiling Amber9)
(compiling Amber10)
 
(15 intermediate revisions by the same user not shown)
Line 80: Line 80:
 
to:
 
to:
 
     loadlib=`$MPI_HOME/bin/mpif77 -show | perl -p -e 's/(-[lL]\S+\s)|\S+\s/$1/g'`
 
     loadlib=`$MPI_HOME/bin/mpif77 -show | perl -p -e 's/(-[lL]\S+\s)|\S+\s/$1/g'`
 +
 +
==compiling Amber10==
 +
 +
while making amber10 tools I get the following error:
 +
 +
  ShapeWidg.c:27:34: error: X11/extensions/shape.h: No such file or directory
 +
Like above changed the same files:
 +
 +
From:
 +
Xmu/ShapeWidg.c:#include <X11/extensions/shape.h>
 +
Xraw/Logo.c:#include <X11/extensions/shape.h>
 +
Xraw/Mailbox.c:#include <X11/extensions/shape.h>
 +
 +
To:
 +
Xmu/ShapeWidg.c:#include </nfs/user03/tbalius/usr/include/X11/extensions/shape.h>
 +
Xraw/Logo.c:#include </nfs/user03/tbalius/usr/include/X11/extensions/shape.h>
 +
Xraw/Mailbox.c:#include </nfs/user03/tbalius/usr/include/X11/extensions/shape.h>
 +
 +
 +
Next, I get the same error as in amber9.
 +
 +
  /usr/bin/ld: cannot find -lXext
 +
 +
During linking.
 +
 +
I change the following file at the specified line:
 +
 +
amber10/src/leap/src/leap/Makefile at line 114
 +
from
 +
    ../Xmu/libXmu.a $(XLIBS) -lXt -lXext -lSM -lICE -lX11 -lXau -lXdmcp $(LM) -lpthread
 +
to
 +
    ../Xmu/libXmu.a $(XLIBS) -lXt -lSM -lICE -lX11 -lXau -lXdmcp -L/nfs/user03/tbalius/usr/lib -lXext $(LM) -lpthread
 +
 +
 +
Problem with testing amber tools:
 +
 +
Running test to compute GB Newton-Raphson and normal modes:
 +
 +
/nfs/user03/tbalius/amber10/lib/libnab.a(newton.o): In function `newton':
 +
newton.c:(.text+0xba8): undefined reference to `assert'
 +
/nfs/user03/tbalius/amber10/lib/libnab.a(nmode.o): In function `nmode':
 +
nmode.c:(.text+0x511e): undefined reference to `assert'
 +
collect2: ld returned 1 exit status
 +
cc failed!
 +
make[1]: *** [asp_test] Error 1
 +
make[1]: Leaving directory `/nfs/user03/tbalius/amber10/test/nab'
 +
make: *** [test.nab] Error 2
 +
 +
every thing else ran.
 +
 +
configure amber with gfortran
 +
./configure_amber gfortran
 +
 +
Because I am compiling a cheek out from the CVS tree I had to modify 4 files in the source code and cp one file (qmmm_module.mod ) to a different dir
 +
 +
when running 
 +
 +
  make serial
 +
 +
First is seems that the following file need to be placed to the following dir and it is not being copied there:
 +
 +
after:
 +
make serial
 +
cp sander/qmmm_module.mod dcqtp/mod/
 +
make serial
 +
 +
 +
I get the following error:
 +
 +
  gfortran: ../../sander: linker input file unused because linking not done
 +
  gfortran -c -O1 -fno-automatic  -ffree-form ../../sander -I../src/include -DHAS_LAPACK -DQMMM -o ../obj/freq_qmmm.o ../src/freq/freq.F90
 +
  ../src/freq/freq.F90:11.38:
 +
 +
    use qmmm_module, only: qmmm_struct, qmmm_div
 +
                                    1
 +
  Error: Symbol 'qmmm_div' referenced at (1) not found in module 'qmmm_module'
 +
../src/freq/freq.F90:38.26:
 +
 +
    dimension dcl(3,qmmm_div%ntotatm+qmmm_struct%nlink)
 +
                        1
 +
  Error: Expected another dimension in array declaration at (1)
 +
  make[3]: *** [../obj/freq_qmmm.o] Error 1
 +
  make[3]: Leaving directory `/nfs/user03/tbalius/amber10/src/dcqtp/mod'
 +
  make[2]: *** [libdivcon.a] Error 2
 +
  make[2]: Leaving directory `/nfs/user03/tbalius/amber10/src/dcqtp'
 +
  make[1]: *** [divcon] Error 2
 +
  make[1]: Leaving directory `/nfs/user03/tbalius/amber10/src/sander'
 +
  make: *** [serial] Error 2
 +
 +
 
 +
change the following lines:
 +
 +
1)amber10/src/dcqtp/src/freq/freq.F90:11:
 +
  use qmmm_module, only: qmmm_struct, qmmm_div
 +
amber10/src/dcqtp/src/freq/freq.F90:38:
 +
  dimension dcl(3,qmmm_div%ntotatm+qmmm_struct%nlink)
 +
2)amber10/src/dcqtp/src/mem/allocateScrfVars.F90:10:
 +
  use qmmm_module, only : qmmm_struct, qmmm_div
 +
amber10/src/dcqtp/src/mem/allocateScrfVars.F90:45:
 +
  allocate (atarea(qmmm_div%ntotatm+qmmm_struct%nlink), stat=ierror)
 +
3)amber10/src/dcqtp/src/pb/pbsolver.F90:36:
 +
  use qmmm_module, only : qmmm_struct, qmmm_nml, qmmm_div
 +
amber10/src/dcqtp/src/pb/pbsolver.F90:73:
 +
        allocate(charges(qmmm_div%ntotatm+qmmm_struct%nlink),stat=ier)
 +
amber10/src/dcqtp/src/pb/pbsolver.F90:123:
 +
              do i=1,qmmm_div%ntotatm+qmmm_struct%nlink
 +
amber10/src/dcqtp/src/pb/pbsolver.F90:131:
 +
                      call divpb(qmmm_div%ntotatm+qmmm_struct%nlink, &
 +
amber10/src/dcqtp/src/pb/pbsolver.F90:133:
 +
                      qmmm_div%all_atom_numbers, &
 +
amber10/src/dcqtp/src/pb/pbsolver.F90:142:
 +
            do i=1,qmmm_div%ntotatm+qmmm_struct%nlink
 +
amber10/src/dcqtp/src/pb/pbsolver.F90:151:
 +
                    do j=qmmm_div%ntotatm+qmmm_struct%nlink,i,-1
 +
amber10/src/dcqtp/src/pb/pbsolver.F90:162:
 +
                    do j=qmmm_div%ntotatm+qmmm_struct%nlink,i,-1
 +
amber10/src/dcqtp/src/pb/pbsolver.F90:163:
 +
                        temp = qmmm_div%all_atom_numbers(j-1)
 +
amber10/src/dcqtp/src/pb/pbsolver.F90:164:
 +
                        qmmm_div%all_atom_numbers(j)=temp
 +
amber10/src/dcqtp/src/pb/pbsolver.F90:166:
 +
                    qmmm_div%all_atom_numbers(i)=1
 +
amber10/src/dcqtp/src/pb/pbsolver.F90:184:
 +
            call divpb(qmmm_div%ntotatm+qmmm_struct%nlink, &
 +
amber10/src/dcqtp/src/pb/pbsolver.F90:186:
 +
                      qmmm_div%all_atom_numbers, &
 +
 +
for the frist occurence in every file remove qmmm_div; eg, change
 +
 +
from:
 +
use qmmm_module, only: qmmm_struct, qmmm_div
 +
to:
 +
use qmmm_module, only: qmmm_struct
 +
 +
for other occurences change qmmm_div to qmmm_struct
 +
 +
To change this with ease do the following:
 +
 +
  cd ${AMBERHOME}/src/dcqtp/src
 +
  sed -i 's/qmmm_div/qmmm_struct/g' freq/freq.F90
 +
  sed -i 's/qmmm_div/qmmm_struct/g' mem/allocateScrfVars.F90
 +
  sed -i 's/qmmm_div/qmmm_struct/g' pb/pbsolver.F90
 +
 +
sed -i is for in place edits (meaning modifying the input file).

Latest revision as of 16:04, 19 April 2010

compiling Amber9

Follow the steps in the INSTALL file.

At step 5, edit config.h by change g95 to gfortrain.

The following lib file is not found by the compiler

 /usr/include/X11/extensions/shape.h

I copied the following dir from another machine:

 /usr/include/X11/extensions

and put it in my home dir in:

 ~/usr/include/X11/extensions

I modified the files changing the reported line number:

/nfs/user03/tbalius/amber9/src/leap/src/Xmu/ShapeWidg.c line: 27 
/nfs/user03/tbalius/amber9/src/leap/src/Xraw/Logo.c     line: 26
/nfs/user03/tbalius/amber9/src/leap/src/Xraw/Mailbox.c  line: 64 

from:
#include <X11/extensions/shape.h>
to:
#include </nfs/user03/tbalius/usr/include/X11/extensions/shape.h>

instead we should have

 /usr/include/X11/extensions/shape.h  	 x11proto-xext-dev

installed.


I get the following Error:

/usr/bin/ld: cannot find -lXext

possible solutions:


cd /usr/lib
ln -s ./libXext.so.6.4.0 ./libXext.so

instead I did the following:

cd ~/user
mkdir lib
ln -s /usr/lib/libXext.so.6.4.0 libXext.so
cd ../
ln -s lib lib64
ln -s lib lib32

Then I changed the following file at the specified line:

 amber9/src/leap/src/leap/Makefile  line:117

from:

../Xmu/libXmu.a $(XLIBS) -lXt -lXext -lSM -lICE -lX11 $(LM) -lpthread

to:

../Xmu/libXmu.a -L/nfs/user03/tbalius/usr/lib/ -lXext -L/usr/lib/ -lXt -lSM -lICE -lX11 -lm -lpthread

MAKE PARALLEL

./configure -mpich2 -p4 gfortran
AMBERHOME is set to /nfs/user03/tbalius/amber9
Setting up Amber configuration file for architecture: gfortran
Using parallel communications library: mpich2
MPI_HOME is set to /nfs/user03/tbalius/mpich2-install
 ./configure: line 314: /nfs/user03/tbalius/mpich2-install/bin/mpif90: No such file or directory
The MKL_HOME environment variable is not defined.

The configuration file, config.h, was successfully created.


Because of the bold error, we change configure file at line 313:

from:

    loadlib=`$MPI_HOME/bin/mpif90 -show | perl -p -e 's/(-[lL]\S+\s)|\S+\s/$1/g'`

to:

    loadlib=`$MPI_HOME/bin/mpif77 -show | perl -p -e 's/(-[lL]\S+\s)|\S+\s/$1/g'`

compiling Amber10

while making amber10 tools I get the following error:

  ShapeWidg.c:27:34: error: X11/extensions/shape.h: No such file or directory

Like above changed the same files:

From:

Xmu/ShapeWidg.c:#include <X11/extensions/shape.h>
Xraw/Logo.c:#include <X11/extensions/shape.h>
Xraw/Mailbox.c:#include <X11/extensions/shape.h>

To:

Xmu/ShapeWidg.c:#include </nfs/user03/tbalius/usr/include/X11/extensions/shape.h>
Xraw/Logo.c:#include </nfs/user03/tbalius/usr/include/X11/extensions/shape.h>
Xraw/Mailbox.c:#include </nfs/user03/tbalius/usr/include/X11/extensions/shape.h>


Next, I get the same error as in amber9.

 /usr/bin/ld: cannot find -lXext

During linking.

I change the following file at the specified line:

amber10/src/leap/src/leap/Makefile at line 114
from 
    ../Xmu/libXmu.a $(XLIBS) -lXt -lXext -lSM -lICE -lX11 -lXau -lXdmcp $(LM) -lpthread
to
    ../Xmu/libXmu.a $(XLIBS) -lXt -lSM -lICE -lX11 -lXau -lXdmcp -L/nfs/user03/tbalius/usr/lib -lXext $(LM) -lpthread


Problem with testing amber tools:

Running test to compute GB Newton-Raphson and normal modes:

/nfs/user03/tbalius/amber10/lib/libnab.a(newton.o): In function `newton':
newton.c:(.text+0xba8): undefined reference to `assert'
/nfs/user03/tbalius/amber10/lib/libnab.a(nmode.o): In function `nmode':
nmode.c:(.text+0x511e): undefined reference to `assert'
collect2: ld returned 1 exit status
cc failed! 
make[1]: *** [asp_test] Error 1
make[1]: Leaving directory `/nfs/user03/tbalius/amber10/test/nab'
make: *** [test.nab] Error 2

every thing else ran.

configure amber with gfortran

./configure_amber gfortran

Because I am compiling a cheek out from the CVS tree I had to modify 4 files in the source code and cp one file (qmmm_module.mod ) to a different dir

when running

 make serial 

First is seems that the following file need to be placed to the following dir and it is not being copied there:

after:

make serial 
cp sander/qmmm_module.mod dcqtp/mod/ 
make serial


I get the following error:

 gfortran: ../../sander: linker input file unused because linking not done
 gfortran -c -O1 -fno-automatic   -ffree-form ../../sander -I../src/include -DHAS_LAPACK -DQMMM -o ../obj/freq_qmmm.o ../src/freq/freq.F90
 ../src/freq/freq.F90:11.38:
    use qmmm_module, only: qmmm_struct, qmmm_div
                                    1
 Error: Symbol 'qmmm_div' referenced at (1) not found in module 'qmmm_module'

../src/freq/freq.F90:38.26:

   dimension dcl(3,qmmm_div%ntotatm+qmmm_struct%nlink)
                        1
 Error: Expected another dimension in array declaration at (1)
 make[3]: *** [../obj/freq_qmmm.o] Error 1
 make[3]: Leaving directory `/nfs/user03/tbalius/amber10/src/dcqtp/mod'
 make[2]: *** [libdivcon.a] Error 2
 make[2]: Leaving directory `/nfs/user03/tbalius/amber10/src/dcqtp'
 make[1]: *** [divcon] Error 2
 make[1]: Leaving directory `/nfs/user03/tbalius/amber10/src/sander'
 make: *** [serial] Error 2


change the following lines:

1)amber10/src/dcqtp/src/freq/freq.F90:11:
  use qmmm_module, only: qmmm_struct, qmmm_div
amber10/src/dcqtp/src/freq/freq.F90:38:
 dimension dcl(3,qmmm_div%ntotatm+qmmm_struct%nlink)
2)amber10/src/dcqtp/src/mem/allocateScrfVars.F90:10:
 use qmmm_module, only : qmmm_struct, qmmm_div
amber10/src/dcqtp/src/mem/allocateScrfVars.F90:45:
 allocate (atarea(qmmm_div%ntotatm+qmmm_struct%nlink), stat=ierror)
3)amber10/src/dcqtp/src/pb/pbsolver.F90:36:
 use qmmm_module, only : qmmm_struct, qmmm_nml, qmmm_div
amber10/src/dcqtp/src/pb/pbsolver.F90:73:
       allocate(charges(qmmm_div%ntotatm+qmmm_struct%nlink),stat=ier)
amber10/src/dcqtp/src/pb/pbsolver.F90:123:
             do i=1,qmmm_div%ntotatm+qmmm_struct%nlink
amber10/src/dcqtp/src/pb/pbsolver.F90:131:
                     call divpb(qmmm_div%ntotatm+qmmm_struct%nlink, &
amber10/src/dcqtp/src/pb/pbsolver.F90:133:
                     qmmm_div%all_atom_numbers, &
amber10/src/dcqtp/src/pb/pbsolver.F90:142:
            do i=1,qmmm_div%ntotatm+qmmm_struct%nlink
amber10/src/dcqtp/src/pb/pbsolver.F90:151:
                    do j=qmmm_div%ntotatm+qmmm_struct%nlink,i,-1
amber10/src/dcqtp/src/pb/pbsolver.F90:162:
                    do j=qmmm_div%ntotatm+qmmm_struct%nlink,i,-1
amber10/src/dcqtp/src/pb/pbsolver.F90:163:
                       temp = qmmm_div%all_atom_numbers(j-1)
amber10/src/dcqtp/src/pb/pbsolver.F90:164:
                       qmmm_div%all_atom_numbers(j)=temp
amber10/src/dcqtp/src/pb/pbsolver.F90:166:
                    qmmm_div%all_atom_numbers(i)=1
amber10/src/dcqtp/src/pb/pbsolver.F90:184:
            call divpb(qmmm_div%ntotatm+qmmm_struct%nlink, &
amber10/src/dcqtp/src/pb/pbsolver.F90:186:
                     qmmm_div%all_atom_numbers, &

for the frist occurence in every file remove qmmm_div; eg, change

from:

use qmmm_module, only: qmmm_struct, qmmm_div 

to:

use qmmm_module, only: qmmm_struct

for other occurences change qmmm_div to qmmm_struct

To change this with ease do the following:

 cd ${AMBERHOME}/src/dcqtp/src
 sed -i 's/qmmm_div/qmmm_struct/g' freq/freq.F90
 sed -i 's/qmmm_div/qmmm_struct/g' mem/allocateScrfVars.F90
 sed -i 's/qmmm_div/qmmm_struct/g' pb/pbsolver.F90

sed -i is for in place edits (meaning modifying the input file).