aseba-community / aseba

Aseba is a set of tools which allow beginners to program robots easily and efficiently. To contact us, please open an issue.
http://aseba.wikidot.com
GNU Lesser General Public License v3.0
49 stars 62 forks source link

Aseba compilation fails on Ubuntu Wily #430

Closed stephanemagnenat closed 9 years ago

stephanemagnenat commented 9 years ago

Probably a missing include:

[100%] Building CXX object tests/CMakeFiles/test-asebahttp.dir/test-http.cpp.o
In file included from /home/steph/data/aseba-thymio/aseba-community/aseba/tests/externals/Catch/include/internal/catch_expression_lhs.hpp:12:0,
                 from /home/steph/data/aseba-thymio/aseba-community/aseba/tests/externals/Catch/include/internal/catch_result_builder.h:91,
                 from /home/steph/data/aseba-thymio/aseba-community/aseba/tests/externals/Catch/include/internal/catch_capture.hpp:11,
                 from /home/steph/data/aseba-thymio/aseba-community/aseba/tests/externals/Catch/include/catch.hpp:34,
                 from /home/steph/data/aseba-thymio/aseba-community/aseba/tests/test-http.cpp:14:
/home/steph/data/aseba-thymio/aseba-community/aseba/tests/externals/Catch/include/internal/catch_evaluate.hpp:43:17: error: ‘nullptr_t’ in namespace ‘std’ does not name a type
     inline std::nullptr_t opCast(std::nullptr_t) { return nullptr; }
                 ^
/home/steph/data/aseba-thymio/aseba-community/aseba/tests/externals/Catch/include/internal/catch_evaluate.hpp:165:58: error: ‘template<Catch::Internal::Operator Op, class T> bool Catch::Internal::compare’ conflicts with a previous declaration
     template<Operator Op, typename T> bool compare( std::nullptr_t, T* rhs ) {
                                                          ^
/home/steph/data/aseba-thymio/aseba-community/aseba/tests/externals/Catch/include/internal/catch_evaluate.hpp:159:44: note: previous declaration ‘namespace Catch::Internal { }::compare’
     template<Operator Op, typename T> bool compare( T* lhs, int rhs ) {
                                            ^
/home/steph/data/aseba-thymio/aseba-community/aseba/tests/externals/Catch/include/internal/catch_evaluate.hpp:165:53: error: ‘nullptr_t’ is not a member of ‘std’
     template<Operator Op, typename T> bool compare( std::nullptr_t, T* rhs ) {
                                                     ^
/home/steph/data/aseba-thymio/aseba-community/aseba/tests/externals/Catch/include/internal/catch_evaluate.hpp:165:70: error: expected primary-expression before ‘*’ token
     template<Operator Op, typename T> bool compare( std::nullptr_t, T* rhs ) {
                                                                      ^
/home/steph/data/aseba-thymio/aseba-community/aseba/tests/externals/Catch/include/internal/catch_evaluate.hpp:165:72: error: ‘rhs’ was not declared in this scope
     template<Operator Op, typename T> bool compare( std::nullptr_t, T* rhs ) {
                                                                        ^
/home/steph/data/aseba-thymio/aseba-community/aseba/tests/externals/Catch/include/internal/catch_evaluate.hpp:165:76: error: expression list treated as compound expression in initializer [-fpermissive]
     template<Operator Op, typename T> bool compare( std::nullptr_t, T* rhs ) {
                                                                            ^
/home/steph/data/aseba-thymio/aseba-community/aseba/tests/externals/Catch/include/internal/catch_evaluate.hpp:165:78: error: expected ‘;’ before ‘{’ token
     template<Operator Op, typename T> bool compare( std::nullptr_t, T* rhs ) {
                                                                              ^
/home/steph/data/aseba-thymio/aseba-community/aseba/tests/externals/Catch/include/internal/catch_evaluate.hpp:168:66: error: ‘std::nullptr_t’ has not been declared
     template<Operator Op, typename T> bool compare( T* lhs, std::nullptr_t ) {
                                                                  ^
/home/steph/data/aseba-thymio/aseba-community/aseba/tests/externals/Catch/include/internal/catch_evaluate.hpp:168:44: error: redefinition of ‘template<Catch::Internal::Operator Op, class T> bool Catch::Internal::compare(T*, int)’
     template<Operator Op, typename T> bool compare( T* lhs, std::nullptr_t ) {
                                            ^
/home/steph/data/aseba-thymio/aseba-community/aseba/tests/externals/Catch/include/internal/catch_evaluate.hpp:159:44: note: ‘template<Catch::Internal::Operator Op, class T> bool Catch::Internal::compare(T*, int)’ previously declared here
     template<Operator Op, typename T> bool compare( T* lhs, int rhs ) {
                                            ^
In file included from /home/steph/data/aseba-thymio/aseba-community/aseba/tests/externals/Catch/include/internal/catch_expression_lhs.hpp:13:0,
                 from /home/steph/data/aseba-thymio/aseba-community/aseba/tests/externals/Catch/include/internal/catch_result_builder.h:91,
                 from /home/steph/data/aseba-thymio/aseba-community/aseba/tests/externals/Catch/include/internal/catch_capture.hpp:11,
                 from /home/steph/data/aseba-thymio/aseba-community/aseba/tests/externals/Catch/include/catch.hpp:34,
                 from /home/steph/data/aseba-thymio/aseba-community/aseba/tests/test-http.cpp:14:
/home/steph/data/aseba-thymio/aseba-community/aseba/tests/externals/Catch/include/internal/catch_tostring.h:57:38: error: ‘std::__cxx11::string Catch::toString’ redeclared as different kind of symbol
 std::string toString( std::nullptr_t );
                                      ^
/home/steph/data/aseba-thymio/aseba-community/aseba/tests/externals/Catch/include/internal/catch_tostring.h:54:13: note: previous declaration ‘std::__cxx11::string Catch::toString(unsigned char)’
 std::string toString( unsigned char value );
             ^
/home/steph/data/aseba-thymio/aseba-community/aseba/tests/externals/Catch/include/internal/catch_tostring.h:57:23: error: ‘nullptr_t’ is not a member of ‘std’
 std::string toString( std::nullptr_t );
                       ^
In file included from /home/steph/data/aseba-thymio/aseba-community/aseba/tests/externals/Catch/include/internal/catch_impl.hpp:35:0,
                 from /home/steph/data/aseba-thymio/aseba-community/aseba/tests/externals/Catch/include/catch.hpp:53,
                 from /home/steph/data/aseba-thymio/aseba-community/aseba/tests/test-http.cpp:14:
/home/steph/data/aseba-thymio/aseba-community/aseba/tests/externals/Catch/include/internal/catch_tostring.hpp:161:38: error: ‘std::__cxx11::string Catch::toString’ redeclared as different kind of symbol
 std::string toString( std::nullptr_t ) {
                                      ^
In file included from /home/steph/data/aseba-thymio/aseba-community/aseba/tests/externals/Catch/include/internal/catch_expression_lhs.hpp:13:0,
                 from /home/steph/data/aseba-thymio/aseba-community/aseba/tests/externals/Catch/include/internal/catch_result_builder.h:91,
                 from /home/steph/data/aseba-thymio/aseba-community/aseba/tests/externals/Catch/include/internal/catch_capture.hpp:11,
                 from /home/steph/data/aseba-thymio/aseba-community/aseba/tests/externals/Catch/include/catch.hpp:34,
                 from /home/steph/data/aseba-thymio/aseba-community/aseba/tests/test-http.cpp:14:
/home/steph/data/aseba-thymio/aseba-community/aseba/tests/externals/Catch/include/internal/catch_tostring.h:202:13: note: previous declaration ‘template<class T, class Allocator> std::__cxx11::string Catch::toString(const std::vector<_Tp, _Alloc>&)’
 std::string toString( std::vector<T,Allocator> const& v ) {
             ^
In file included from /home/steph/data/aseba-thymio/aseba-community/aseba/tests/externals/Catch/include/internal/catch_impl.hpp:35:0,
                 from /home/steph/data/aseba-thymio/aseba-community/aseba/tests/externals/Catch/include/catch.hpp:53,
                 from /home/steph/data/aseba-thymio/aseba-community/aseba/tests/test-http.cpp:14:
/home/steph/data/aseba-thymio/aseba-community/aseba/tests/externals/Catch/include/internal/catch_tostring.hpp:161:23: error: ‘nullptr_t’ is not a member of ‘std’
 std::string toString( std::nullptr_t ) {
                       ^
tests/CMakeFiles/test-asebahttp.dir/build.make:54: recipe for target 'tests/CMakeFiles/test-asebahttp.dir/test-http.cpp.o' failed
make[2]: *** [tests/CMakeFiles/test-asebahttp.dir/test-http.cpp.o] Error 1
stephanemagnenat commented 9 years ago

Fixed by a submodule update.