1
votes

I am attempting to compile the most recent INET 3.3.0 on OMNeT++ 5.0. I am running Arch Linux Linux arch 4.5.4-1-ARCH #1 SMP PREEMPT Wed May 11 22:21:28 CEST 2016 x86_64 GNU/Linux.

Note that this worked for me on my laptop also running Arch Linux. On my desktop it fails however.

OMNeT++ is installed and works, I can run the example projects with no problems.

When I compile INET however, it always fails. I have tried letting the IDE do it all by itself by answering yes to its offer to install the latest INET. I have downloaded it myself, imported as a project, rightclicked and let it build project and I have resorted to going into the INET directory, issuing make makefiles, make MODE=release -j4, but it all leads to the following error:

inet/common/serializer/ipv4/IPv4Serializer.cc:410:129: note: in C++11     destructors default to noexcept
inet/common/serializer/sctp/SCTPSerializer.cc
inet/common/serializer/tcp/TCPSerializer.cc
inet/common/serializer/udp/UDPSerializer.cc
In file included from     inet/common/serializer/sctp/SCTPSerializer.cc:28:0:
./inet/common/serializer/sctp/headers/sctphdr.h:415:22: error:     flexible array member in union
         uint8_t info[];
                  ^

Previous versions of INET lead to different errors, none work. Does anyone have any idea?

1
What is the GCC version number on the system? This seems to be a C++ compatibility problem. Probably GCC is tool old? - Rudi
Nope, gcc is version gcc version 6.1.1 20160602 (GCC). If anything it might be too new? - kunterbunt
Yep. Inet was not tested with GCC 6.x - Rudi
I will downgrade gcc and try with an older version. Do you know which version is definitely supported? - kunterbunt
I have installed gcc49 from the AUR and attempted to tell the Makefile to use its binary by issuing make CC=gcc-4.9 (that's the binary provided by the gcc49 package). To no avail. Could be that the Makefile is not using the CC variable. - kunterbunt

1 Answers

2
votes

you have just to modify the code in the sctphdr.h and make it

  uint8_t info [128];