RE: [Non-DoD Source] RE: Compilation error across Intel 14, 15 and 16 (UNCLASSIFIED)

From: Tim.Ho_at_csiro.au
Date: Thu Jan 14 2016 - 16:00:28 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: Downs, Andrew S CTR USARMY ARL (US) [mailto:andrew.s.downs3.ctr_at_mail.mil]
Sent: Friday, 15 January 2016 2:25 AM
To: namd-l_at_ks.uiuc.edu; Ho, Tim (IM&T, Clayton) <Tim.Ho_at_csiro.au>; norman.geist_at_uni-greifswald.de
Subject: RE: [Non-DoD Source] RE: namd-l: Compilation error across Intel 14, 15 and 16 (UNCLASSIFIED)

CLASSIFICATION: UNCLASSIFIED

A coworker of mine was able to get it to build, he had to rebuild Tcl and Charm++...then for our XC40 he had to use the Cray XE files in .arch

We're not sure why the XE files worked better than the XC ones, but it got the job done, I'll see if I can get more of his notes.

Thanks for your help.

-Andrew

-----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: Wednesday, January 13, 2016 11:29 PM
To: namd-l_at_ks.uiuc.edu; norman.geist_at_uni-greifswald.de
Subject: [Non-DoD Source] RE: namd-l: Compilation error across Intel 14, 15 and 16 (UNCLASSIFIED)

All active links contained in this email were disabled. Please verify the identity of the sender, and confirm the authenticity of all links contained within the message prior to copying and pasting the address to a Web browser.

----
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 Caution-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 [Caution-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üngliche Nachricht-----
> Von: owner-namd-l_at_ks.uiuc.edu
> [Caution-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
CLASSIFICATION: UNCLASSIFIED

This archive was generated by hypermail 2.1.6 : Sun Dec 31 2017 - 23:20:07 CST