Re: [AMBER] Trouble installing Amber 18

From: Daniel Roe <daniel.r.roe.gmail.com>
Date: Wed, 18 Sep 2019 11:22:15 -0400

Hi Rob (and everyone else having issues compiling the
helpme_standalone part of cpptraj).

The problem here is probably that your GNU backend is too old and not
fully C++11 compliant. It's a bit confusing, but Intel compilers use a
large part of the GNU infrastructure (see
https://software.intel.com/en-us/cpp-compiler-developer-guide-and-reference-gcc-compatibility-and-interoperability).
I'm actually having trouble finding versions older than 4.8.5 to test
with so I'm uncertain, but I think the oldest version of GNU that is
fully C++11 compliant is 4.8.1 (see
https://gcc.gnu.org/projects/cxx-status.html#cxx11). The check in
cpptraj configure only checks a few C++11 features, not the GNU
backend (like it probably should) so it thinks that C++11 support is
fully there when it's actually not.

So, if you want to get things working 100% you should upgrade your GNU
backend. If that's not possible or not something you want to do, you
can either disable the cpptraj build in the
$AMBERHOME/AmberTools/src/Makefile, or edit
$AMBERHOME/AmberTools/src/configure2 and add '-noc++11' to CPPTRAJOPTS
(down around line 3391), e.g.

CPPTRAJOPTS="-noc++11"

(This should probably be added to Amber's configure as well).

Hope this helps,

-Dan

On Wed, Sep 18, 2019 at 9:44 AM Groner, Rob <rug262.psu.edu> wrote:
>
>
> I'm attempting to install in RHEL6. I've followed the directions, but perhaps I've missed something.
>
> I'm using:
> icc v16.0.3 20160415
> impi 5.1.3
> mkl 11.3.3
> tbb 4.4.4
>
>
> $: AMBERHOME=/rpmbuild/BUILD/amber18/amber18 ./configure -intelmpi intel
> $: . amber.sh
> $: AMBERHOME=/rpmbuild/BUILD/amber18/amber18 make
>
>
> This is the error I get after "make":
>
> ====================================================================
> CXX Ewald_ParticleMesh.cpp
> helpme_standalone.h(2133): error: more than one instance of overloaded function "std::to_string" matches the argument list:
> function "std::to_string(long long)"
> function "std::to_string(unsigned long long)"
> function "std::to_string(long double)"
> argument types are: (int)
> msg += std::to_string(derivativeLevel + 2);
> ^
> detected during:
> instantiation of "void helpme::BSpline<Real>::update(short, Real, short, short) [with Real=double]" at line 2142
> instantiation of "helpme::BSpline<Real>::BSpline(short, Real, short, short) [with Real=double]" at line 2279
> instantiation of "helpme::SplineCacheEntry<Real>::SplineCacheEntry(int, int) [with Real=double]" at line 111 of "/usr/include/c++/4.4.7/ext/new_allocator.h"
> instantiation of "void __gnu_cxx::new_allocator<_Tp>::construct(__gnu_cxx::new_allocator<_Tp>::pointer, _Args &&...) [with _Tp=helpme::SplineCacheEntry<double
> >, _Args=<int &, int &>]" at line 96 of "/usr/include/c++/4.4.7/bits/vector.tcc"
> instantiation of "void std::vector<_Tp, _Alloc>::emplace_back(_Args &&...) [with _Tp=helpme::SplineCacheEntry<double>, _Alloc=std::allocator<helpme::SplineCac
> heEntry<double>>, _Args=<int &, int &>]" at line 2532
> instantiation of "void helpme::PMEInstance<Real>::filterAtomsAndBuildSplineCache(int, const helpme::PMEInstance<Real>::RealMat &) [with Real=double]" at line
> 4205
> instantiation of "Real helpme::PMEInstance<Real>::computeERec(int, const helpme::PMEInstance<Real>::RealMat &, const helpme::PMEInstance<Real>::RealMat &) [wi
> th Real=double]" at line 191 of "Ewald_ParticleMesh.cpp"
>
> helpme_standalone.h(2447): error: class "std::vector<std::pair<short, short>, std::allocator<std::pair<short, short>>>" has no member "shrink_to_fit"
> splineIterator.shrink_to_fit();
> ^
> detected during:
> instantiation of "void helpme::PMEInstance<Real>::common_init(int, Real, int, int, int, int, Real, int) [with Real=double]" at line 4429
> instantiation of "void helpme::PMEInstance<Real>::setup(int, Real, int, int, int, int, Real, int) [with Real=double]" at line 179 of "Ewald_ParticleMesh.cpp"
>
> helpme_standalone.h(2451): error: class "std::vector<std::vector<std::pair<short, short>, std::allocator<std::pair<short, short>>>, std::allocator<std::vector<std::pair<s
> hort, short>, std::allocator<std::pair<short, short>>>>>" has no member "shrink_to_fit"
> gridIterator.shrink_to_fit();
> ^
> detected during:
> instantiation of "void helpme::PMEInstance<Real>::common_init(int, Real, int, int, int, int, Real, int) [with Real=double]" at line 4429
> instantiation of "void helpme::PMEInstance<Real>::setup(int, Real, int, int, int, int, Real, int) [with Real=double]" at line 179 of "Ewald_ParticleMesh.cpp"
>
> compilation aborted for Ewald_ParticleMesh.cpp (code 2)
>
>
> ==============================================================================
>
> Thanks for any help.
>
> Rob
>
> _______________________________________________
> AMBER mailing list
> AMBER.ambermd.org
> http://lists.ambermd.org/mailman/listinfo/amber

_______________________________________________
AMBER mailing list
AMBER.ambermd.org
http://lists.ambermd.org/mailman/listinfo/amber
Received on Wed Sep 18 2019 - 08:30:02 PDT
Custom Search