[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [IMP-users] IMP 2.2.0 building: Syntax (?) errors when running `make`



On 31.07.14 19:37, Ben Webb wrote:
On 7/31/14, 2:01 AM, Frank Thommen wrote:
/g/software/linux/pack/imp-2.2.0/SRC/imp-2.2.0/modules/base/src/statistics.cpp:31:

error: a function-definition is not allowed here before ':' token

Does your issue go away if you open base/include/compiler_macros.h and
change this line
#if defined(BOOST_NO_CXX11_RANGE_BASED_FOR) || BOOST_VERSION <= 104100
to read
#if defined(BOOST_NO_CXX11_RANGE_BASED_FOR) || BOOST_VERSION < 105300
?
Looks like we got the Boost version where they introduced
BOOST_NO_CXX11_RANGE_BASED_FOR wrong. It works on our CentOS 5 machine
because we use Boost from EPEL which is 1.41, but you're using a newer
version (but not new enough to include that macro).

     Ben

That helped a lot, thanks, and I'm one step further. Compilation now stops at...

-----------------------------------------------
$ make
[...]
[ 36%] Embedding json files
[ 36%] Built target RMF-embed
[ 36%] Building CXX object src/dependency/RMF/src/CMakeFiles/RMF-lib.dir/CoordinateTransformer.cpp.o /g/software/linux/pack/imp-2.2.0/SRC/imp-2.2.0/modules/rmf/dependency/RMF_source/include/RMF/internal/SharedDataCategory.h: In member function 'RMF::Categories RMF::internal::SharedDataCategory::get_categories() const': /g/software/linux/pack/imp-2.2.0/SRC/imp-2.2.0/modules/rmf/dependency/RMF_source/include/RMF/internal/SharedDataCategory.h:45: error: a function-definition is not allowed here before ':' token /g/software/linux/pack/imp-2.2.0/SRC/imp-2.2.0/modules/rmf/dependency/RMF_source/include/RMF/internal/SharedDataCategory.h:48: error: expected primary-expression before 'return' /g/software/linux/pack/imp-2.2.0/SRC/imp-2.2.0/modules/rmf/dependency/RMF_source/include/RMF/internal/SharedDataCategory.h:48: error: expected `;' before 'return' /g/software/linux/pack/imp-2.2.0/SRC/imp-2.2.0/modules/rmf/dependency/RMF_source/include/RMF/internal/SharedDataCategory.h:48: error: expected primary-expression before 'return' /g/software/linux/pack/imp-2.2.0/SRC/imp-2.2.0/modules/rmf/dependency/RMF_source/include/RMF/internal/SharedDataCategory.h:48: error: expected `)' before 'return' /g/software/linux/pack/imp-2.2.0/SRC/imp-2.2.0/modules/rmf/dependency/RMF_source/include/RMF/internal/SharedDataKeys.h: In member function 'std::vector<RMF::ID<Traits>, std::allocator<RMF::ID<Traits> > > RMF::internal::SharedDataKeys<Traits>::get_keys(RMF::Category, Traits) const': /g/software/linux/pack/imp-2.2.0/SRC/imp-2.2.0/modules/rmf/dependency/RMF_source/include/RMF/internal/SharedDataKeys.h:85: error: a function-definition is not allowed here before ':' token /g/software/linux/pack/imp-2.2.0/SRC/imp-2.2.0/modules/rmf/dependency/RMF_source/include/RMF/internal/SharedDataKeys.h:89: error: expected primary-expression before 'return' /g/software/linux/pack/imp-2.2.0/SRC/imp-2.2.0/modules/rmf/dependency/RMF_source/include/RMF/internal/SharedDataKeys.h:89: error: expected `;' before 'return' /g/software/linux/pack/imp-2.2.0/SRC/imp-2.2.0/modules/rmf/dependency/RMF_source/include/RMF/internal/SharedDataKeys.h:89: error: expected primary-expression before 'return' /g/software/linux/pack/imp-2.2.0/SRC/imp-2.2.0/modules/rmf/dependency/RMF_source/include/RMF/internal/SharedDataKeys.h:89: error: expected `)' before 'return' /g/software/linux/pack/imp-2.2.0/SRC/imp-2.2.0/modules/rmf/dependency/RMF_source/include/RMF/internal/SharedDataKeys.h: In member function 'std::vector<RMF::ID<Traits>, std::allocator<RMF::ID<Traits> > > RMF::internal::SharedDataKeys<Traits>::get_keys(Traits) const': /g/software/linux/pack/imp-2.2.0/SRC/imp-2.2.0/modules/rmf/dependency/RMF_source/include/RMF/internal/SharedDataKeys.h:94: error: a function-definition is not allowed here before ':' token /g/software/linux/pack/imp-2.2.0/SRC/imp-2.2.0/modules/rmf/dependency/RMF_source/include/RMF/internal/SharedDataKeys.h:95: error: expected primary-expression before 'return' /g/software/linux/pack/imp-2.2.0/SRC/imp-2.2.0/modules/rmf/dependency/RMF_source/include/RMF/internal/SharedDataKeys.h:95: error: expected `;' before 'return' /g/software/linux/pack/imp-2.2.0/SRC/imp-2.2.0/modules/rmf/dependency/RMF_source/include/RMF/internal/SharedDataKeys.h:95: error: expected primary-expression before 'return' /g/software/linux/pack/imp-2.2.0/SRC/imp-2.2.0/modules/rmf/dependency/RMF_source/include/RMF/internal/SharedDataKeys.h:95: error: expected `)' before 'return' make[2]: *** [src/dependency/RMF/src/CMakeFiles/RMF-lib.dir/CoordinateTransformer.cpp.o] Error 1
make[1]: *** [src/dependency/RMF/src/CMakeFiles/RMF-lib.dir/all] Error 2
make: *** [all] Error 2
$
-----------------------------------------------

frank