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