From: Tim.Ho_at_csiro.au
Date: Thu Jan 14 2016 - 22:02:44 CST
I think I found the issue (and got a workaround).
The failed compiler command was this:
-------------------------------------------------------------
icpc -I.rootdir/charm-6.7.0/mpi-linux-x86_64/include -DCMK_OPTIMIZE=1 -Isrc -Iinc    -Iplugins/include -DSTATIC_PLUGIN -I/Projects/namd2/tcl/tcl8.5.9-linux-x86_64-threaded/include -DNAMD_TCL -I/Projects/namd2/fftw/linux-x86_64/include -DNAMD_FFTW -DNAMD_CUDA -I. -I/cm/shared/apps/cuda65/toolkit/6.5.14/include    -DNAMD_VERSION=\"2.11\" -DNAMD_PLATFORM=\"Linux-x86_64-MPI-CUDA\"  -DREMOVE_PROXYRESULTMSG_EXTRACOPY -DNODEAWARE_PROXY_SPANNINGTREE -DUSE_NODEPATCHMGR    -DUSE_CKLOOP=1 -static-intel -O2 -ip -no-vec  -o obj/ComputeMoa.o -c src/ComputeMoa.C
.rootdir/charm-6.7.0/mpi-linux-x86_64/include/charm++.h(368): error: expected an identifier
    template <typename... Args>
                      ^
-------------------------------------------------------------
>From the above icpc command, it looks like the compiler option "-std=c++11" is missing. In fact,  the CXX setting in Linux-x86_64-icc.arch doesn't appear to be used.
My workaround is to do this:
./config Linux-x86_64-icc --cxx "icpc -std=c++11" --charm-arch mpi-linux-x86_64
I didn't need to do this for version 2.9 and 2.10.
-----Original Message-----
From: owner-namd-l_at_ks.uiuc.edu [mailto:owner-namd-l_at_ks.uiuc.edu] On Behalf Of Tim.Ho_at_csiro.au
Sent: Thursday, 14 January 2016 3:29 PM
To: namd-l_at_ks.uiuc.edu; norman.geist_at_uni-greifswald.de
Subject: [ExternalEmail] RE: namd-l: Compilation error across Intel 14, 15 and 16 (UNCLASSIFIED)
I have the exact same problem on our Dell / Intel cluster. Looks like this problem is not only limited to a Cray.
I was following http://www.ks.uiuc.edu/Research/namd/2.11/notes.html.
The command to build charm:
env MPICXX=mpicxx ./build charm++ mpi-linux-x86_64 --with-production
Then ran:
./config Linux-x86_64-icc --charm-arch mpi-linux-x86_64 cd Linux-x86_64-icc make
The compiler error I got was:
.rootdir/charm-6.7.0/mpi-linux-x86_64/include/charm++.h(368): error: expected an identifier
    template <typename... Args>
Tried Intel compiler version 14 and 15 - all have the exact same error.
Tim
-----Original Message-----
From: owner-namd-l_at_ks.uiuc.edu [mailto:owner-namd-l_at_ks.uiuc.edu] On Behalf Of Norman Geist
Sent: Tuesday, 12 January 2016 7:17 PM
To: namd-l_at_ks.uiuc.edu; 'Downs, Andrew S CTR USARMY ARL (US)' <andrew.s.downs3.ctr_at_mail.mil>
Subject: AW: namd-l: Compilation error across Intel 14,15 and 16 (UNCLASSIFIED)
Hey,
I think we need at least the command line with which you are trying to build
charm++. 
This generally looks like not doing the right thing to build on cray generally?
Did you follow the instructions given by the maintainer of that cray system?
Something like:
module switch PrgEnv-cray PrgEnv-intel
Norman Geist
> -----Urspr黱gliche Nachricht-----
> Von: owner-namd-l_at_ks.uiuc.edu [mailto:owner-namd-l_at_ks.uiuc.edu] Im 
> Auftrag von Downs, Andrew S CTR USARMY ARL (US)
> Gesendet: Montag, 11. Januar 2016 20:10
> An: namd-l_at_ks.uiuc.edu
> Betreff: namd-l: Compilation error across Intel 14,15 and 16
(UNCLASSIFIED)
> 
> CLASSIFICATION: UNCLASSIFIED
> 
> Hello,
> 
> I get the same error regardless of which Intel compiler I use between
version
> 14, 15 or 16.  I'm compiling on a Cray XC-40.
> What's strange is the errors I'm getting look like the code itself is
wrong, but I
> know how unlikely that is.  Please see below:
> 
> intel compiler output:
> 
> 1:54pm adowns : make
> 
> found module rca/1.0.0-2.0502.53711.3.127.ari found module
> PrgEnv-intel/5.2.40 if [ ! -d inc ]; then mkdir -p inc; fi if [ ! -f 
> inc/.exists ]; then touch inc/.exists; fi if [ ! -d obj ]; then mkdir 
> -p obj; fi if [ ! -f obj/.exists ]; then touch obj/.exists; fi cp 
> src/Node.ci inc .rootdir/charm-6.7.0/mpi-crayxc/bin/charmc inc/Node.ci 
> rm -f inc/Node.ci mv Node.def.h inc mv Node.decl.h inc cp 
> src/PatchMgr.ci inc .rootdir/charm-6.7.0/mpi-crayxc/bin/charmc
> inc/PatchMgr.ci rm -f inc/PatchMgr.ci mv PatchMgr.def.h inc mv 
> PatchMgr.decl.h inc cp src/ComputeMoaMgr.ci inc 
> .rootdir/charm-6.7.0/mpi-crayxc/bin/charmc inc/ComputeMoaMgr.ci rm -f 
> inc/ComputeMoaMgr.ci mv ComputeMoaMgr.def.h inc mv 
> ComputeMoaMgr.decl.h inc cp src/ComputeMgr.ci inc 
> .rootdir/charm-6.7.0/mpi-crayxc/bin/charmc inc/ComputeMgr.ci rm -f 
> inc/ComputeMgr.ci mv ComputeMgr.def.h inc mv ComputeMgr.decl.h inc cp 
> src/WorkDistrib.ci inc .rootdir/charm-6.7.0/mpi-crayxc/bin/charmc
> inc/WorkDistrib.ci rm -f inc/WorkDistrib.ci mv WorkDistrib.def.h inc 
> mv WorkDistrib.decl.h inc CC -I.rootdir/charm-6.7.0/mpi-crayxc/include
> -DCMK_OPTIMIZE=1 -Isrc -Iinc -Iplugins/include -DSTATIC_PLUGIN - 
> I/usr/cta/unsupported/NAMD/tcl8.5.9/include -DNAMD_TCL -
> I.rootdir/fftw/include -DNAMD_FFTW     -DNAMD_VERSION=\"2.11\" -
> DNAMD_PLATFORM=\"CRAY-XC-MPI\"  -
> DREMOVE_PROXYRESULTMSG_EXTRACOPY -
> DNODEAWARE_PROXY_SPANNINGTREE -DUSE_NODEPATCHMGR    -
> DUSE_CKLOOP=1 -O2 -ip -no-vec  -o obj/ComputeMoa.o -c src/ComputeMoa.C 
> In file included from src/Node.h(16),
>                  from src/ComputeMoa.C(25):
> .rootdir/charm-6.7.0/mpi-crayxc/include/charm++.h(368): error: 
> expected an identifier
>     template <typename... Args>
>                       ^
> 
> In file included from src/Node.h(16),
>                  from src/ComputeMoa.C(25):
> .rootdir/charm-6.7.0/mpi-crayxc/include/charm++.h(369): error: 
> expected a ")"
>     CBaseT1(Args... args) : Parent(args...) { thisProxy = this; }
>                 ^
> 
> In file included from src/Node.h(16),
>                  from src/ComputeMoa.C(25):
> .rootdir/charm-6.7.0/mpi-crayxc/include/charm++.h(369): error: not a 
> valid member class or function template declaration
>     CBaseT1(Args... args) : Parent(args...) { thisProxy = this; }
>     ^
> 
> In file included from .rootdir/charm-6.7.0/mpi- 
> crayxc/include/charm++.h(1037),
>                  from src/Node.h(16),
>                  from src/ComputeMoa.C(25):
> .rootdir/charm-6.7.0/mpi-crayxc/include/ckmemcheckpoint.h(144): error: 
> no instance of constructor "CBaseT1<Parent, CProxy_Derived>::CBaseT1 
> [with Parent=Group, CProxy_Derived=CProxy_CkMemCheckPT]" matches the 
> argument list In file included from .rootdir/charm-6.7.0/mpi- 
> crayxc/include/charm++.h(1037),
>                  from src/Node.h(16),
>                  from src/ComputeMoa.C(25):
>             argument types are: (CkMigrateMessage *) In file included 
> from .rootdir/charm-6.7.0/mpi- crayxc/include/charm++.h(1037),
>                  from src/Node.h(16),
>                  from src/ComputeMoa.C(25):
>     CkMemCheckPT(CkMigrateMessage *m):CBase_CkMemCheckPT(m) {};
>                                                         ^
> 
> In file included from .rootdir/charm-6.7.0/mpi- 
> crayxc/include/cklocation.h(31),
>                  from
.rootdir/charm-6.7.0/mpi-crayxc/include/ckarray.h(29),
>                  from
.rootdir/charm-6.7.0/mpi-crayxc/include/charm++.h(1039),
>                  from src/Node.h(16),
>                  from src/ComputeMoa.C(25):
> .rootdir/charm-6.7.0/mpi-crayxc/include/MetaBalancer.h(56): error: no 
> instance of constructor "CBaseT1<Parent, CProxy_Derived>::CBaseT1 
> [with Parent=Group, CProxy_Derived=CProxy_MetaBalancer]" matches the 
> argument list In file included from .rootdir/charm-6.7.0/mpi- 
> crayxc/include/cklocation.h(31),
>                  from
.rootdir/charm-6.7.0/mpi-crayxc/include/ckarray.h(29),
>                  from
.rootdir/charm-6.7.0/mpi-crayxc/include/charm++.h(1039),
>                  from src/Node.h(16),
>                  from src/ComputeMoa.C(25):
>             argument types are: (CkMigrateMessage *) In file included 
> from .rootdir/charm-6.7.0/mpi- crayxc/include/cklocation.h(31),
>                  from
.rootdir/charm-6.7.0/mpi-crayxc/include/ckarray.h(29),
>                  from
.rootdir/charm-6.7.0/mpi-crayxc/include/charm++.h(1039),
>                  from src/Node.h(16),
>                  from src/ComputeMoa.C(25):
>     MetaBalancer(CkMigrateMessage *m) : CBase_MetaBalancer(m) { init(); }
>                                                           ^
> 
> In file included from .rootdir/charm-6.7.0/mpi- 
> crayxc/include/cklocation.h(31),
>                  from
.rootdir/charm-6.7.0/mpi-crayxc/include/ckarray.h(29),
>                  from
.rootdir/charm-6.7.0/mpi-crayxc/include/charm++.h(1039),
>                  from src/Node.h(16),
>                  from src/ComputeMoa.C(25):
> .rootdir/charm-6.7.0/mpi-crayxc/include/MetaBalancer.h(191): error: no 
> instance of constructor "CBaseT1<Parent, CProxy_Derived>::CBaseT1 
> [with Parent=Group, CProxy_Derived=CProxy_MetaBalancerRedn]" matches 
> the argument list In file included from .rootdir/charm-6.7.0/mpi- 
> crayxc/include/cklocation.h(31),
>                  from
.rootdir/charm-6.7.0/mpi-crayxc/include/ckarray.h(29),
>                  from
.rootdir/charm-6.7.0/mpi-crayxc/include/charm++.h(1039),
>                  from src/Node.h(16),
>                  from src/ComputeMoa.C(25):
>             argument types are: (CkMigrateMessage *) In file included 
> from .rootdir/charm-6.7.0/mpi- crayxc/include/cklocation.h(31),
>                  from
.rootdir/charm-6.7.0/mpi-crayxc/include/ckarray.h(29),
>                  from
.rootdir/charm-6.7.0/mpi-crayxc/include/charm++.h(1039),
>                  from src/Node.h(16),
>                  from src/ComputeMoa.C(25):
>       MetaBalancerRedn(CkMigrateMessage *m) :
> CBase_MetaBalancerRedn(m)  {init();}
>                                                                     ^
> 
> compilation aborted for src/ComputeMoa.C (code 2)
> make: *** [obj/ComputeMoa.o] Error 2
> 
> 
> CLASSIFICATION: UNCLASSIFIED
This archive was generated by hypermail 2.1.6 : Sun Dec 31 2017 - 23:20:07 CST