error compiling Charm++ library (part of NAMD)

I am trying to compile charm++ (part of NAMD) and I get errors although pgi it’s supported.
I posted at the mailng list(charm@cs.uiuc.edu) but, so far, I did not get any reply.
Regards




gmake[3]: Entering directory
`/home/alb/NAMD_2.6_Source/charm-5.9/mpi-linux-amd64/tmp/QuickThreads’
rm -f qtmd.h
…/system_ln md/setjmp_d.h qtmd.h
…/…/bin/charmc -seq -I. -O -DCMK_OPTIMIZE=1 -nobs -c -o qt.o qt.c
mpiCC for 1.2.6 (release) of : 2004/08/04 11:10:38

/opt/cluster/pgi72/linux86-64/7.2-1/bin/pgcpp1 --llalign -Dunix -D__unix
-D__unix__ -Dlinux -D__linux -D__linux__ -D__NO_MATH_INL
INES -D__x86_64__ -D__LONG_MAX__=9223372036854775807L
‘-D__SIZE_TYPE__=unsigned long int’ ‘-D__PTRDIFF_TYPE__=long int’
-D__THROW
= -D__extension__= -D__amd64__ -D__SSE__ -D__MMX__ -D__SSE2__ -D__SSE3__
-D__PGI -I///usr/local/ibgd/mpi/pgi/mvapich-0.9.5-mlx1.0
.3/include/mpi2c++ -I…/…/bin/…/include -I.
-I///usr/local/ibgd/mpi/pgi/mvapich-0.9.5-mlx1.0.3/include -DUSE_STDARG
-DHAVE_STDL
IB_H=1 -DHAVE_STRING_H=1 -DHAVE_UNISTD_H=1 -DHAVE_STDARG_H=1
-DUSE_STDARG=1 -DMALLOC_RET_VOID=1 -DHAVE_MPI_CPP -DCMK_SEQUENTIAL=1
-D__CHARMC__=1 -DCMK_OPTIMIZE=1
-I/opt/cluster/pgi72/linux86-64/7.2-1/include/CC
-I/opt/cluster/pgi72/linux86-64/7.2-1/include-g
cc33 -I/opt/cluster/pgi72/linux86-64/7.2-1/include -I/usr/local/include
-I/usr/lib64/gcc-lib/x86_64-suse-linux/3.3.3/include -I/u
sr/lib64/gcc-lib/x86_64-suse-linux/3.3.3/include -I/usr/include -q -o
/tmp/pgCCf4bdpe3ofkEW.il qt.c

/opt/cluster/pgi72/linux86-64/7.2-1/bin/pgcpp2 qt.c -opt 2 -x 119 0xa10000
-x 122 0x40 -x 123 0x1000 -x 127 4 -x 127 17 -x 19 0x4
00000 -x 28 0x40000 -x 70 0x8000 -x 122 1 -quad -x 59 4 -x 59 4 -tp k8-64e
-astype 0 -fn qt.c -il /tmp/pgCCf4bdpe3ofkEW.il -x 123
4 -x 2 0x400 -x 123 0x80000000 -x 119 0x20 -alwaysinline
/opt/cluster/pgi72/linux86-64/7.2-1/lib/libintrinsics.il 4 -x 120 0x200
000 -cmdline ‘+pgCC /tmp/pgCCf4bdpe3ofkEW.il -DUSE_STDARG
-DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_UNISTD_H=1 -DHAVE_STDARG_H=1
-DUSE_STDARG=1 -DMALLOC_RET_VOID=1 -DHAVE_MPI_CPP
-I///usr/local/ibgd/mpi/pgi/mvapich-0.9.5-mlx1.0.3/include/mpi2c++ -v
-DCMK_SE
QUENTIAL=1 -I…/…/bin/…/include -D__CHARMC__=1 -I. -DCMK_OPTIMIZE=1 -O
-c -o qt.o -I///usr/local/ibgd/mpi/pgi/mvapich-0.9.5-mlx
1.0.3/include’ -asm /tmp/pgCCT4bdhMpC8-v2.s
PGCC/x86 Linux 7.2-1: compilation successful

/usr/bin/as /tmp/pgCCT4bdhMpC8-v2.s
-I///usr/local/ibgd/mpi/pgi/mvapich-0.9.5-mlx1.0.3/include/mpi2c++
-I…/…/bin/…/include -I.
-I///usr/local/ibgd/mpi/pgi/mvapich-0.9.5-mlx1.0.3/include -o qt.o
Action(ReadTIFile(./qt.ti))
Unlinking /tmp/pgCCf4bdpe3ofkEW.il
Unlinking /tmp/pgCCT4bdhMpC8-v2.s
…/…/bin/charmc -seq -I. -O -DCMK_OPTIMIZE=1 -nobs -c -o qtmds.o
md/setjmp64.c
mpiCC for 1.2.6 (release) of : 2004/08/04 11:10:38

/opt/cluster/pgi72/linux86-64/7.2-1/bin/pgcpp1 --llalign -Dunix -D__unix
-D__unix__ -Dlinux -D__linux -D__linux__ -D__NO_MATH_INL
INES -D__x86_64__ -D__LONG_MAX__=9223372036854775807L
‘-D__SIZE_TYPE__=unsigned long int’ ‘-D__PTRDIFF_TYPE__=long int’
-D__THROW
= -D__extension__= -D__amd64__ -D__SSE__ -D__MMX__ -D__SSE2__ -D__SSE3__
-D__PGI -I///usr/local/ibgd/mpi/pgi/mvapich-0.9.5-mlx1.0
.3/include/mpi2c++ -I…/…/bin/…/include -I.
-I///usr/local/ibgd/mpi/pgi/mvapich-0.9.5-mlx1.0.3/include -DUSE_STDARG
-DHAVE_STDL
IB_H=1 -DHAVE_STRING_H=1 -DHAVE_UNISTD_H=1 -DHAVE_STDARG_H=1
-DUSE_STDARG=1 -DMALLOC_RET_VOID=1 -DHAVE_MPI_CPP -DCMK_SEQUENTIAL=1
-D__CHARMC__=1 -DCMK_OPTIMIZE=1
-I/opt/cluster/pgi72/linux86-64/7.2-1/include/CC
-I/opt/cluster/pgi72/linux86-64/7.2-1/include-g
cc33 -I/opt/cluster/pgi72/linux86-64/7.2-1/include -I/usr/local/include
-I/usr/lib64/gcc-lib/x86_64-suse-linux/3.3.3/include -I/u
sr/lib64/gcc-lib/x86_64-suse-linux/3.3.3/include -I/usr/include -q -o
/tmp/pgCCfaddpe3ofkEW.il md/setjmp64.c
“md/setjmp64.c”, line 15: error: expected an identifier
struct helpdesc { qt_helper_t *hfn; qt_t *jb; void *old; void *new; };
^
“md/setjmp64.c”, line 52: error: identifier “alloca” is undefined
SHIFTSP(rjb);
“md/setjmp64.c”, line 53: error: argument of type “unsigned long *” is
incompatible with parameter of type "__jmp_buf_tag "
longjmp((unsigned long
)rjb, push_buf((void *)jb));
^
“md/setjmp64.c”, line 55: error: expected a member name
rhelp->hfn(rhelp->jb, rhelp->old, rhelp->new);
^
“md/setjmp64.c”, line 57: error: identifier “write” is undefined
write(2,“Never get here 2.\n”,18);
^
“md/setjmp64.c”, line 68: error: identifier “alloca” is undefined
SHIFTSP(sp);
^
“md/setjmp64.c”, line 70: error: identifier “write” is undefined
write(2,“Never get here 1.\n”,18);
^
“md/setjmp64.c”, line 75: error: expected a “)”
void *qt_block(qt_helper_t *hfn, void *old, void *new, qt_t sp)
^
“md/setjmp64.c”, line 83: error: expected a member name
help.new = new;
^
“md/setjmp64.c”, line 87: error: identifier “alloca” is undefined
SHIFTSP(sp);
^
“md/setjmp64.c”, line 87: error: identifier “sp” is undefined
SHIFTSP(sp);
^
“md/setjmp64.c”, line 88: error: identifier “sp” is undefined
longjmp((unsigned long
)sp, push_buf((void *)&help));
“md/setjmp64.c”, line 90: error: expected a member name
rhelp->hfn(rhelp->jb, rhelp->old, rhelp->new);
^
==cutted===

18 errors detected in the compilation of “md/setjmp64.c”.
pgCC-Fatal-cpp1 completed with exit code 2

Fatal Error by charmc in directory
/home/alb/NAMD_2.6_Source/charm-5.9/mpi-linux-amd64/tmp/QuickThreads
Command mpicxx -v -DCMK_SEQUENTIAL=1 -I…/…/bin/…/include
-D__CHARMC__=1 -I. -DCMK_OPTIMIZE=1 -O -c md/setjmp64.c -o qtmds.o
returned error code 2
charmc exiting…

Hi,

I am wondering if it has something to do with mvapich you use.

I have compiled with 7.2-1 release with our MPICH(the one that comes with a PGI tar file) on system that has gcc 3.3.3, the following option:

Building with: ./build charm++ mpi-linux-x86_64 mpicxx pgf90 -O2 -fPIC

charm++ build successfully.

I also use the same option with mvapich(in our CDK release) on a system that has gcc 4.1.0, :

Can you try compile with MPICH that that comes with PGI compiler to see if it works?

Hongyon

Which version of charm++ do you use? I use charm-6.0.

What command line did you use to compile?

Please use following command to build:

./build charm++ mpi-linux-x86_64 mpicxx pgf90 -O2 -fPIC


Make sure to remove existing mpi-linux-x86_64-pgf90-mpicxx before building to get a clean build.

Hongyon

Thanks the the hint that let me solve the problem.
As from the first line of my posting I was using charm-5.9 as included in NAMD_2.6
now with version 6.0 everything runs fine. Thanks again.