Skip to content

travis uses the wrong libstdc++ for compilation #129

@mfrey

Description

@mfrey

This issue actually doesn't affect libARA itself but the travis CI integration. Somehow, travis compiles libARA with the wrong version of libstdc++ of gcc. First of all it should rely on libc++ and not libstdc++ (which is at least the standard for the most recent clang version) and if the clang version really needs to rely on libstdc++ it should at least use a version which has the necessary C++11 support. The error in detail:

1.39s$ pwd ; cd /home/travis/build/des-testbed/libara; pwd ; make test NO_OMNET=TRUE
/home/travis
/home/travis/build/des-testbed/libara
Running without OMNeT++ support
find: `inetmanet/src': No such file or directory
find: `inetmanet/src': No such file or directory
Compiling src/util/Pair.cpp
find: `inetmanet/src': No such file or directory
find: `inetmanet/src': No such file or directory
Compiling src/time/Timer.cpp
find: `inetmanet/src': No such file or directory
find: `inetmanet/src': No such file or directory
Compiling src/time/StandardTimer.cpp
In file included from src/time/StandardTimer.cpp:5:
In file included from include/StandardTimer.h:11:
/usr/lib/gcc/x86_64-linux-gnu/4.6/../../../../include/c++/4.6/chrono:535:6: error: 
      no matching constructor for initialization of 'duration' (aka
      'std::chrono::duration<long, std::ratio<1, 1000000> >')
          : __d(__t.time_since_epoch())
            ^   ~~~~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-linux-gnu/4.6/../../../../include/c++/4.6/condition_variable:106:42: note: 
      in instantiation of function template specialization
      'std::chrono::time_point<std::chrono::system_clock,
      std::chrono::duration<long, std::ratio<1, 1000000> >
      >::time_point<std::chrono::duration<long, std::ratio<1, 1000000000> > >'
      requested here
        const __clock_t::time_point __s_atime = __s_entry + __delta;
                                                ^
/usr/lib/gcc/x86_64-linux-gnu/4.6/../../../../include/c++/4.6/chrono:234:12: note: 
      candidate constructor not viable: no known conversion from
      'duration<[...], ratio<[...], 1000000000>>' to 'const duration<[...],
      ratio<[...], 1000000>>' for 1st argument
        constexpr duration(const duration&) = default;
                  ^
/usr/lib/gcc/x86_64-linux-gnu/4.6/../../../../include/c++/4.6/chrono:237:19: note: 
      candidate template ignored: disabled by 'enable_if' [with _Rep2 =
      std::chrono::duration<long, std::ratio<1, 1000000000> >]
               enable_if<is_convertible<_Rep2, rep>::value
                         ^
/usr/lib/gcc/x86_64-linux-gnu/4.6/../../../../include/c++/4.6/chrono:244:19: note: 
      candidate template ignored: disabled by 'enable_if' [with _Rep2 = long,
      _Period2 = std::ratio<1, 1000000000>]
               enable_if<treat_as_floating_point<rep>::value
                         ^
/usr/lib/gcc/x86_64-linux-gnu/4.6/../../../../include/c++/4.6/chrono:232:12: note: 
      candidate constructor not viable: requires 0 arguments, but 1 was provided
        constexpr duration() : __r() { }
                  ^
1 error generated.
make: *** [out/clang++-debug/src/time/StandardTimer.o] Error 1
The command "pwd ; cd /home/travis/build/des-testbed/libara; pwd ; make test NO_OMNET=TRUE" exited with 2.
Done. Your build exited with 1.

This issue also raises the question why the build status icon shows that the build is actually running while it does not.

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions