Not all MPI implementations will use the type unsigned int. We would need a more generic solution. Maybe a cast to the type "MPI_Request" would also work for you? Can you try this?
-erik
On Thu, Aug 2, 2012 at 6:08 PM, Scott Hawley scott.hawley@belmont.edu wrote:
Modifying the line in commstate.hh as you suggested resolved the issue.
Using a newer compiler version (4.6.3) without the modification still generated the same error.
Any chance we can make that modification permanent? ;-)
-Scott
On 7/28/12 10:24 AM, "Erik Schnetter" schnetter@cct.lsu.edu wrote:
Scott
G++ 4.3 is a bit old. The proper solution is probably to update the compiler.
It seems that the call "reqs.push_back (MPI_REQUEST_NULL);" is not understood. You can try converting the argument to "unsigned int" explicitly, which is what your compiler apparently expects:
reqs.push_back ((unsigned int)MPI_REQUEST_NULL);
Maybe this will help.
-erik
On Fri, Jul 27, 2012 at 4:47 PM, Scott Hawley scott.hawley@belmont.edu wrote:
Hi, I just did a fresh checkout of the development version, and I'm still having trouble with the comstate.hh file. I'm using -std=gnu++0x. (It's the 4.3 version of the compiler, so gnu++0x should be appropriate; std=gnu++11 began with version 4.7).
How might one fix this? Thanks.
make SILENT=no ... COMPILING
/nics/c/home/hawleys/Cactus/arrangements/Carpet/CarpetLib/src/commstate.c c current_wd=`pwd` ; cd /nics/c/home/hawleys/Cactus/configs/texmex/scratch ; g++ -LMPICH_IGNORE_CXX_SEEK -g -DCARPET_DEBUG -fopenmp -O2 -m64 -std=gnu++0x -g -O0 -O3 -fopenmp -c -o $current_wd/commstate.cc.o $current_wd/commstate.cc -I"/opt/mpt/3.4.2/xt/mpich2-gnu//include"
-I"/nics/c/home/hawleys/Cactus/configs/texmex/scratch/external/GSL/includ e" -I"/nics/c/home/hawleys/Cactus/arrangements/Carpet/CarpetLib/src"
-I"/nics/c/home/hawleys/Cactus/arrangements/Carpet/CarpetLib/src/include" -I"/nics/c/home/hawleys/Cactus/configs/texmex/config-data" -I"/nics/c/home/hawleys/Cactus/configs/texmex/bindings/include" -I"/nics/c/home/hawleys/Cactus/src/include" -I"/nics/c/home/hawleys/Cactus/arrangements"
-I"/nics/c/home/hawleys/Cactus/configs/texmex/bindings/Configuration/Thor ns "
-I"/nics/c/home/hawleys/Cactus/configs/texmex/bindings/include/CarpetLib" -I"/opt/mpt/3.4.2/xt/mpich2-gnu//include"
-I"/nics/c/home/hawleys/Cactus/configs/texmex/scratch/external/GSL/includ e" -I"/nics/c/home/hawleys/Cactus/arrangements/Carpet/CarpetLib/src"
-I"/nics/c/home/hawleys/Cactus/arrangements/Carpet/CarpetLib/src/include"
-I"/nics/c/home/hawleys/Cactus/configs/texmex/bindings/include/CarpetLib" -DCCODE /usr/include/c++/4.3/bits/stl_vector.h: In member function Œvoid std::vector<_Tp, _Alloc>::push_back(_Args&& ...) [with _Args = <anonymous enum>, _Tp = unsigned int, _Alloc = std::allocator<unsigned int>]¹:
/nics/c/home/hawleys/Cactus/arrangements/Carpet/CarpetLib/src/commstate.h h: 126: instantiated from here /usr/include/c++/4.3/bits/stl_vector.h:703: error: no matching function for call to Œforward(<anonymous enum>&)¹
/nics/c/home/hawleys/Cactus/arrangements/Carpet/CarpetLib/src/commstate.h h: 126: instantiated from here /usr/include/c++/4.3/bits/stl_vector.h:708: error: no matching function for call to Œforward(<anonymous enum>&)¹ make[3]: *** [commstate.cc.o] Error 1 make[3]: Leaving directory `/nics/c/home/hawleys/Cactus/configs/texmex/build/CarpetLib' make[2]: *** [make.checked] Error 2 make[2]: Leaving directory `/nics/c/home/hawleys/Cactus/configs/texmex/build/CarpetLib' make[1]: *** [/nics/c/home/hawleys/Cactus/configs/texmex/lib/libthorn_CarpetLib.a] Error 2 make[1]: Leaving directory `/nics/c/home/hawleys/Cactus' make: *** [texmex] Error 2
% g++ --version g++ (SUSE Linux) 4.3.4 [gcc-4_3-branch revision 152973] Copyright (C) 2008 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-- Erik Schnetter schnetter@cct.lsu.edu http://www.perimeterinstitute.ca/personal/eschnetter/