[Users] CarpetLib: compile error with commstate.hh

Erik Schnetter schnetter at cct.lsu.edu
Thu Aug 2 20:52:22 CDT 2012


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 at 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 at 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 at 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 at cct.lsu.edu>
>>http://www.perimeterinstitute.ca/personal/eschnetter/
>>
>



-- 
Erik Schnetter <schnetter at cct.lsu.edu>
http://www.perimeterinstitute.ca/personal/eschnetter/


More information about the Users mailing list