Git Product home page Git Product logo

atp-engine's People

Contributors

hristobelchev avatar matteoandreozzi avatar ramymdsc avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

atp-engine's Issues

ATP Compile Issues (

Working on Windows Subsystem for Linux/Ubuntu 18.04 LTS, on make getting the error
test.cc:14:10: fatal error: cppunit/ui/text/TestRunner.h: No such file or directory

logger.hh:234:6: error: mangled name for ‘void TrafficProfiles::Logger::_log(TrafficProfiles::Logger::Level, T, Tail&& ...) [with T = long int (*)(long int*) throw (); Tail = {const char (&)[6], const std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >}]’ will change in C++17 because the exception specification is part of a function type [-Werror=noexcept-type]
 void Logger::_log(const Level lvl,T head, Tail&&... tail){
      ^~~~~~
logger.hh:234:6: error: mangled name for ‘void TrafficProfiles::Logger::_log(TrafficProfiles::Logger::Level, T, Tail&& ...) [with T = const char*; Tail = {long int (&)(long int*) throw (), const char (&)[6], const std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >}]’ will change in C++17 because the exception specification is part of a function type [-Werror=noexcept-type]
logger.hh:234:6: error: mangled name for ‘void TrafficProfiles::Logger::_log(TrafficProfiles::Logger::Level, T, Tail&& ...) [with T = std::__cxx11::basic_string<char>; Tail = {const char (&)[29], long int (&)(long int*) throw (), const char (&)[6], const std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >}]’ will change in C++17 because the exception specification is part of a function type [-Werror=noexcept-type]
logger.hh:234:6: error: mangled name for ‘void TrafficProfiles::Logger::_log(TrafficProfiles::Logger::Level, T, Tail&& ...) [with T = const char*; Tail = {std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, const char (&)[29], long int (&)(long int*) throw (), const char (&)[6], const std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >}]’ will change in C++17 because the exception specification is part of a function type [-Werror=noexcept-type]
logger.hh:234:6: error: mangled name for ‘void TrafficProfiles::Logger::_log(TrafficProfiles::Logger::Level, T, Tail&& ...) [with T = std::__cxx11::basic_string<char>; Tail = {const char (&)[11], std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, const char (&)[29], long int (&)(long int*) throw (), const char (&)[6], const std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >}]’ will change in C++17 because the exception specification is part of a function type [-Werror=noexcept-type]
logger.hh:234:6: error: mangled name for ‘void TrafficProfiles::Logger::_log(TrafficProfiles::Logger::Level, T, Tail&& ...) [with T = const char*; Tail = {std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, const char (&)[11], std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, const char (&)[29], long int (&)(long int*) throw (), const char (&)[6], const std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >}]’ will change in C++17 because the exception specification is part of a function type [-Werror=noexcept-type]
logger.hh:206:6: error: mangled name for ‘void TrafficProfiles::Logger::log(TrafficProfiles::Logger::Level, Tail&& ...) [with Tail = {const char (&)[32], std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, const char (&)[11], std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, const char (&)[29], long int (&)(long int*) throw (), const char (&)[6], const std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >}]’ will change in C++17 because the exception specification is part of a function type [-Werror=noexcept-type]
 void Logger::log(const Level lvl, Tail&&... args) {
      ^~~~~~
cc1plus: all warnings being treated as errors
Makefile:78: recipe for target 'traffic_profile_master.o' failed
make: *** [traffic_profile_master.o] Error 1
make: *** Waiting for unfinished jobs....

Gem5 Compilation will also fail.
Workarounds so far:

  • For standalone compilation, change the Makefile Line 21 to use -std=c++17
    CXX_FLAGS := $(PROTOBUF_C_FLAGS) -std=c++17 -Wall -Werror -Wextra -Wno-unused-parameter -Wno-unused-variable
  • For gem5 compilation disablling Werror will help, but is not best practice. Delete from Sconstruct file in line line 377 '-Werror',
    Adding '-Wno-error=noexcept-type' caused python issues

Cmake support

Are there any plans to provide support for CMake as meta build system?

Fails to build

I suggest not using -Werror, as changes to the compiler can cause new warnings, which are then new errors:

test_atp.cc: In member function ‘void TrafficProfiles::TestAtp::testAtp_trafficProfile()’:
test_atp.cc:535:27: error: ignoring return value of ‘TrafficProfiles::PatternConfiguration* TrafficProfiles::Profile::release_pattern()’, declared with attribute nodiscard [-Werror=unused-result]
     config.release_pattern();
     ~~~~~~~~~~~~~~~~~~~~~~^~
In file included from packet_desc.hh:14,
                 from traffic_profile_manager.hh:25,
                 from test_atp.hh:32,
                 from test_atp.cc:11:
proto/tp_config.pb.h:6735:49: note: declared here
 inline ::TrafficProfiles::PatternConfiguration* Profile::release_pattern() {
                                                 ^~~~~~~

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.