RE: RE: Compilation error across Intel 14, 15 and 16 (UNCLASSIFIED)

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 : Tue Dec 27 2016 - 23:21:45 CST