|
|||||||||||||||||||||||||||||||||
AMBER Archive (2007)Subject: RE: AMBER: amber9 compile problem
From: Ross Walker (ross_at_rosswalker.co.uk)
Dear Henk,
/\
| HPC Consultant and Staff Scientist |
Note: Electronic Mail is not secure, has no guarantee of delivery, may not be read every day, and should not be used for urgent or sensitive issues.
_____
From: owner-amber_at_scripps.edu [mailto:owner-amber_at_scripps.edu] On Behalf Of Henk Meij
ross, i plead ignorance to the question "does mpif90.i actually call the intel compiler?", i was hoping ;0 ...
i tried in vain compiling the source code that comes with the "roll" in /usr/local/topspin/mpi/mpich/src after reading all the messages about mpi, ib libs and amber all need to be compiled with same compiler. and i can't find a topspin src tarball although i have not gone to cisco yet.
here is the info on compiling with ifort ... first i hit an error during the configure stage dealing with line 300 of the configure program
./configure: line 300: /usr/local/topspin/mpi/mpich/bin/mpif90: No such file or directory
line 300 loadlib=`$MPI_HOME/bin/mpif90 -show | perl -p -e 's/(-[lL]\S+\s)|\S+\s/$1/g'`
then on first massive compilation, a slightly different error
ld: skipping incompatible /share/apps/intel/cmkl/9.1/lib/em64t/libvml.so when searching for -lvml
i do see libvml.so in lib/64 and lib/32 inside $MKL_HOME and when i add those paths to config.h i get past that error (it skips over lib/64 and thus picks up the one in lib./32) and then i run into
/share/apps/intel/cmkl/9.1lib/64/libmkl_lapack.a: could not read symbols: bad value
ofcourse thoroughly confusing the compiler. so why ifort not compile amber cleanly, iow back tot he libvml error?
-Henk
Hi Henk,
-> i then edit config.h and change all ifort occurences to mpif90.i
I suspect this is part of the problem. Did you try it without changing the compiler command? With ifort it should be linking the correct libraries. Note does mpif90.i actually call the intel compiler?
ld: skipping incompatible
/usr/local/topspin/mpi//mpich/lib64/libmpichf90_i.so when
searching for
-lmpichf90_i
ld: skipping incompatible
/usr/local/topspin/mpi//mpich/lib64/libmpichf90_i.a when searching for
-lmpichf90_i
You see this message because the compiler is trying to link a 64 bit library with a 32 bit object file. So what is happening here is that you are on an x86_64 machine with the correct 64 bit mpi libraries but mpif90.i is setup incorrectly so it is acting as a wrapper for the 32 bit version of the compiler.
Note you appear to be using the 32 bit version of the intel compilers:
. /share/apps/intel/cc/9.1.047/bin/iccvars.sh
. /share/apps/intel/fc/9.1.043/bin/ifortvars.sh
note the fc and cc. I would go and download and install the 64 bit versions (x86_64, NOT the IA64 version) which will be in fce and cce directories and then make sure you source these config files. If mpif90.i just calls ifort then you will be fine since "which ifort" should return the fce version. However, if it uses the full path then you will have modify things so it calls the correct version.
Make sure you do a make clean before recompiling.
All the best
Ross
/\
\/
|\oss Walker
| HPC Consultant and Staff Scientist |
| San Diego Supercomputer Center |
| Tel: +1 858 822 0854 | EMail:- ross_at_rosswalker.co.uk |
| http://www.rosswalker.co.uk | PGP Key available on request |
Note: Electronic Mail is not secure, has no guarantee of delivery, may not be read every day, and should not be used for urgent or sensitive issues.
-----------------------------------------------------------------------
The AMBER Mail Reflector
To post, send mail to amber_at_scripps.edu
To unsubscribe, send "unsubscribe amber" to majordomo_at_scripps.edu
-----------------------------------------------------------------------
| |||||||||||||||||||||||||||||||||
|