[AMBER] Compiling trouble of AmberTools with intel compiler v12.1.0.

From: K. Uebayashi <u.kzhk75.gmail.com>
Date: Mon, 14 Nov 2011 15:51:29 +0900

Dear all,

I'm trying to build AmberTools(patched bugfix.all: Apr. 11) with intel
compiler v 12.1.0.

My environment variables are:
 echo $SSE_TYPES $MKL_HOME
 SSE4.2 /opt/intel/mkl
.

I made some patchs for compiler version and mkl path:
$ diff -u configure.orig configure
--- configure.orig 2011-10-21 15:33:09.719040444 +0900
+++ configure 2011-11-14 12:22:07.317894600 +0900
.. -754,12 +754,12 ..
       # output of "icc -v" goes onto STDERR.
       # C compiler version
       icc_version=`$cc -v 2>&1`
- icc_version=`echo $icc_version | sed -e 's/\..*//g' | sed -e
's/^Version //'`
+ icc_version=`echo $icc_version | sed -e 's/\..*//g' | sed -e
's/icc version //'`

       # Test Intel compiler versions for optimisation flags. Note that the
       # output of "ifort -v" goes onto STDERR.
       ifort_version=`$fc -v 2>&1`
- ifort_version=`echo $ifort_version | sed -e 's/\..*//g' | sed
-e 's/^Version //'`
+ ifort_version=`echo $ifort_version | sed -e 's/\..*//g' | sed
-e 's/ifort version //'`

       # DRR - Add flags necessary for correct compilation with intel
version >= 11
       if [ "$icc_version" -ge 11 ] ; then
.. -1184,7 +1184,7 ..
     mkl_procstring="ia32"
     mklinterfacelayer='libmkl_intel.a'
     if [ "$x86_64" = 'yes' ]; then
- mkll="$MKL_HOME/lib/em64t"
+ mkll="$MKL_HOME/lib/intel64"
         mkl_processor="em64t"
         mkl_procstring="em64t"
         # lp64 is 32 bit integers on 64 bit platforms
.


After above steps I execute " ./configure -noX11 intel && make ",
but make-command ends with errors at parm.cpp.
(A part of error message is attached below.)

Is it possible to remove this error?

-- 
K. Uebayashi
== error log ===
cd ambfmt && make
make[3]: Entering directory
`/usr/local/src/Amber/build_111112/amber11/AmberTools/src/gleap/mortsrc/ambfmt'
icpc -c -std=c++0x    -I.. -I../../freelib -I. -o  ambfrc-amoeba.o
ambfrc-amoeba.cpp
icpc -c -std=c++0x    -I.. -I../../freelib -I. -o  amboff.o   amboff.cpp
icpc -c -std=c++0x    -I.. -I../../freelib -I. -o  chain.o   chain.cpp
icpc -c -std=c++0x    -I.. -I../../freelib -I. -o  energee.o   energee.cpp
icpc -c -std=c++0x    -I.. -I../../freelib -I. -o  exclude.o   exclude.cpp
icpc -c -std=c++0x    -I.. -I../../freelib -I. -o  extent.o   extent.cpp
icpc -c -std=c++0x    -I.. -I../../freelib -I. -o  les.o   les.cpp
icpc -c -std=c++0x    -I.. -I../../freelib -I. -o  parm.o   parm.cpp
parm.cpp(247): error: more than one instance of function template
"mort::copy_if" matches the argument list:
            function template "_OutputIterator
mort::copy_if(_InputIterator, _InputIterator, _OutputIterator,
_Predicate)"
            function template "_OIter std::copy_if(_IIter, _IIter,
_OIter, _Predicate)"
            argument types are: (mort::diheiter_t, mort::diheiter_t,
std::back_insert_iterator<std::vector<mort::dihe_t,
std::allocator<mort::dihe_t>>>, mort::prmtop::se
quence_Match2)
              copy_if( pbc.dihe_begin(), pbc.dihe_end(),
back_inserter(pdihs), sequence_Match2(pas) );
              ^
parm.cpp(362): error: more than one instance of function template
"mort::copy_if" matches the argument list:
            function template "_OutputIterator
mort::copy_if(_InputIterator, _InputIterator, _OutputIterator,
_Predicate)"
            function template "_OIter std::copy_if(_IIter, _IIter,
_OIter, _Predicate)"
            argument types are: (mort::impriter_t, mort::impriter_t,
std::back_insert_iterator<std::vector<mort::impr_t,
std::allocator<mort::impr_t>>>, mort::prmtop::se
quence_Match)
              copy_if( cent.impr_begin(), cent.impr_end(),
back_inserter(pimps), sequence_Match(as, MONO_DIRECTION) );
              ^
compilation aborted for parm.cpp (code 2)
make[3]: *** [parm.o] Error 2
make[3]: Leaving directory
`/usr/local/src/Amber/build_111112/amber11/AmberTools/src/gleap/mortsrc/ambfmt'
make[2]: *** [all] Error 2
make[2]: Leaving directory
`/usr/local/src/Amber/build_111112/amber11/AmberTools/src/gleap/mortsrc'
make[1]: *** [sleap] Error 2
make[1]: Leaving directory
`/usr/local/src/Amber/build_111112/amber11/AmberTools/src/gleap'
make: *** [serial] Error 2
_______________________________________________
AMBER mailing list
AMBER.ambermd.org
http://lists.ambermd.org/mailman/listinfo/amber
Received on Sun Nov 13 2011 - 23:00:03 PST
Custom Search