mgra icon indicating copy to clipboard operation
mgra copied to clipboard

compiling error

Open yjx1217 opened this issue 10 years ago • 3 comments

Hello,

I was trying to compile mgra on my system following the instruction. I passed the "cmake" step but got error in the "make" step. Please see the following error message for your reference. The version I used was directly obtained from github by git clone. Thanks in advance!

[yjx@octopus build]$ cmake ../src -- The C compiler identification is GNU 4.4.7 -- The CXX compiler identification is GNU 4.4.7 -- Check for working C compiler: /usr/bin/cc -- Check for working C compiler: /usr/bin/cc -- works -- Detecting C compiler ABI info -- Detecting C compiler ABI info - done -- Check for working CXX compiler: /usr/bin/c++ -- Check for working CXX compiler: /usr/bin/c++ -- works -- Detecting CXX compiler ABI info -- Detecting CXX compiler ABI info - done -- Configuring done -- Generating done -- Build files have been written to: /home/yjx/Programs/mgra/build [yjx@octopus build]$ make Scanning dependencies of target mgra [ 33%] Building CXX object CMakeFiles/mgra.dir/mgra.cpp.o In file included from /home/yjx/Programs/mgra/src/include/defined.h:29, from /home/yjx/Programs/mgra/src/include/reader.h:4, from /home/yjx/Programs/mgra/src/mgra.cpp:18: /home/yjx/Programs/mgra/src/include/utility/equivalence.h: In member function ‘void utility::equivalence<Item, Cmp>::update()’: /home/yjx/Programs/mgra/src/include/utility/equivalence.h:59: error: expected initializer before ‘:’ token /home/yjx/Programs/mgra/src/include/utility/equivalence.h:62: error: expected primary-expression before ‘}’ token /home/yjx/Programs/mgra/src/include/utility/equivalence.h:62: error: expected ‘;’ before ‘}’ token /home/yjx/Programs/mgra/src/include/utility/equivalence.h:62: error: expected primary-expression before ‘}’ token /home/yjx/Programs/mgra/src/include/utility/equivalence.h:62: error: expected ‘)’ before ‘}’ token /home/yjx/Programs/mgra/src/include/utility/equivalence.h:62: error: expected primary-expression before ‘}’ token /home/yjx/Programs/mgra/src/include/utility/equivalence.h:62: error: expected ‘;’ before ‘}’ token /home/yjx/Programs/mgra/src/include/utility/equivalence.h: In member function ‘size_t utility::equivalence<Item, Cmp>::classes()’: /home/yjx/Programs/mgra/src/include/utility/equivalence.h:80: error: expected initializer before ‘:’ token /home/yjx/Programs/mgra/src/mgra.cpp:151: error: expected primary-expression at end of input /home/yjx/Programs/mgra/src/mgra.cpp:151: error: expected ‘;’ at end of input /home/yjx/Programs/mgra/src/mgra.cpp:151: error: expected primary-expression at end of input /home/yjx/Programs/mgra/src/mgra.cpp:151: error: expected ‘)’ at end of input /home/yjx/Programs/mgra/src/mgra.cpp:151: error: expected statement at end of input /home/yjx/Programs/mgra/src/mgra.cpp:151: error: expected ‘}’ at end of input make[2]: *** [CMakeFiles/mgra.dir/mgra.cpp.o] Error 1 make[1]: *** [CMakeFiles/mgra.dir/all] Error 2 make: *** [all] Error 2

yjx1217 avatar Jun 16 '15 08:06 yjx1217

Thanks for your feedback and sorry for delay!

GCC 4.4 is too old (you need at least 4.6 for new C++ standard support). We strongly recommend to use GCC 4.8 version. The easiest thing you can do is to use our web-server - http://mgra.cblab.org/

And again sorry for delay.

PavelAvdeyev avatar Jul 09 '15 21:07 PavelAvdeyev

Hi Avdeev, I've updated my GCC to 4.8 but it seems the problem still exists.

[yjx@octopus build]$ make [ 33%] Building CXX object CMakeFiles/mgra.dir/mgra.cpp.o In file included from /home/yjx/Programs/mgra/src/include/defined.h:29, from /home/yjx/Programs/mgra/src/include/reader.h:4, from /home/yjx/Programs/mgra/src/mgra.cpp:18: /home/yjx/Programs/mgra/src/include/utility/equivalence.h: In member function ‘void utility::equivalence<Item, Cmp>::update()’: /home/yjx/Programs/mgra/src/include/utility/equivalence.h:59: error: expected initializer before ‘:’ token /home/yjx/Programs/mgra/src/include/utility/equivalence.h:62: error: expected primary-expression before ‘}’ token /home/yjx/Programs/mgra/src/include/utility/equivalence.h:62: error: expected ‘;’ before ‘}’ token /home/yjx/Programs/mgra/src/include/utility/equivalence.h:62: error: expected primary-expression before ‘}’ token /home/yjx/Programs/mgra/src/include/utility/equivalence.h:62: error: expected ‘)’ before ‘}’ token /home/yjx/Programs/mgra/src/include/utility/equivalence.h:62: error: expected primary-expression before ‘}’ token /home/yjx/Programs/mgra/src/include/utility/equivalence.h:62: error: expected ‘;’ before ‘}’ token /home/yjx/Programs/mgra/src/include/utility/equivalence.h: In member function ‘size_t utility::equivalence<Item, Cmp>::classes()’: /home/yjx/Programs/mgra/src/include/utility/equivalence.h:80: error: expected initializer before ‘:’ token /home/yjx/Programs/mgra/src/mgra.cpp:151: error: expected primary-expression at end of input /home/yjx/Programs/mgra/src/mgra.cpp:151: error: expected ‘;’ at end of input /home/yjx/Programs/mgra/src/mgra.cpp:151: error: expected primary-expression at end of input /home/yjx/Programs/mgra/src/mgra.cpp:151: error: expected ‘)’ at end of input /home/yjx/Programs/mgra/src/mgra.cpp:151: error: expected statement at end of input /home/yjx/Programs/mgra/src/mgra.cpp:151: error: expected ‘}’ at end of input make[2]: *** [CMakeFiles/mgra.dir/mgra.cpp.o] Error 1 make[1]: *** [CMakeFiles/mgra.dir/all] Error 2 make: *** [all] Error 2 [yjx@octopus build]$ gcc -v Using built-in specs. COLLECT_GCC=gcc COLLECT_LTO_WRAPPER=/opt/gcc-4.8.2/libexec/gcc/x86_64-unknown-linux-gnu/4.8.2/lto-wrapper Target: x86_64-unknown-linux-gnu Configured with: ./configure --prefix=/opt/gcc-4.8.2/ Thread model: posix gcc version 4.8.2 (GCC) [yjx@octopus build]$

yjx1217 avatar Jul 16 '15 10:07 yjx1217

Hello Jia-Xing Yue

Please try new version. I hope that it is fixed problem.

PavelAvdeyev avatar Oct 05 '15 17:10 PavelAvdeyev