signetlabdei / nsmiracle

NS-MIRACLE is a framework designed to enhance the functionalities provided by NS2. It provides an efficient engine for handling cross-layer messages and, enables the coexistence of multiple modules within each layer of the protocol stack. For instance, multiple IP, link layers, MACs or PHYs can be specified and used within the same node.
https://nsmiracle.dei.unipd.it/
10 stars 4 forks source link

Build breaks with gcc 13.2.0 #7

Closed fedefava86 closed 9 months ago

fedefava86 commented 9 months ago
libtool: compile:  x86_64-linux-gnu-g++ -DPACKAGE_NAME=\"nsmiracle\" -DPACKAGE_TARNAME=\"nsmiracle\" -DPACKAGE_VERSION=\"2.0-beta\" "-DPACKAGE_STRING=\"nsmiracle 2.0-beta\"" -DPACKAGE_BUGREPORT=\"\" -DPACKAGE_URL=\"\" -DPACKAGE=\"nsmiracle\" -DVERSION=\"2.0-beta\" -DHAVE_STDIO_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_STRINGS_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_UNISTD_H=1 -DSTDC_HEADERS=1 -DHAVE_DLFCN_H=1 -DLT_OBJDIR=\".libs/\" -DCPP_NAMESPACE=std -I. -I/root/DESERT_buildCopy_LEN/.buildHost/include -I/root/DESERT_buildCopy_LEN/.buildHost/ns-2.34 -I/root/DESERT_buildCopy_LEN/.buildHost/tclcl-1.20 -I/root/DESERT_buildCopy_LEN/.buildHost/otcl-1.14 -I/root/DESERT_buildCopy_LEN/.buildHost/ns-2.34/mac -I/root/DESERT_buildCopy_LEN/.buildHost/ns-2.34/propagation -I/root/DESERT_buildCopy_LEN/.buildHost/ns-2.34/mobile -I/root/DESERT_buildCopy_LEN/.buildHost/ns-2.34/pcap -I/root/DESERT_buildCopy_LEN/.buildHost/ns-2.34/tcp -I/root/DESERT_buildCopy_LEN/.buildHost/ns-2.34/sctp -I/root/DESERT_buildCopy_LEN/.buildHost/ns-2.34/common -isystem/root/DESERT_buildCopy_LEN/.buildHost/ns-2.34/common -I/root/DESERT_buildCopy_LEN/.buildHost/ns-2.34/link -I/root/DESERT_buildCopy_LEN/.buildHost/ns-2.34/queue -I/root/DESERT_buildCopy_LEN/.buildHost/ns-2.34/trace -I/root/DESERT_buildCopy_LEN/.buildHost/ns-2.34/adc -I/root/DESERT_buildCopy_LEN/.buildHost/ns-2.34/apps -I/root/DESERT_buildCopy_LEN/.buildHost/ns-2.34/routing -I/root/DESERT_buildCopy_LEN/.buildHost/ns-2.34/tools -I/root/DESERT_buildCopy_LEN/.buildHost/ns-2.34/classifier -I/root/DESERT_buildCopy_LEN/.buildHost/ns-2.34/mcast -I/root/DESERT_buildCopy_LEN/.buildHost/ns-2.34/diffusion3/lib -I/root/DESERT_buildCopy_LEN/.buildHost/ns-2.34/diffusion3/lib/main -I/root/DESERT_buildCopy_LEN/.buildHost/ns-2.34/diffusion3/lib/nr -I/root/DESERT_buildCopy_LEN/.buildHost/ns-2.34/diffusion3/ns -I/root/DESERT_buildCopy_LEN/.buildHost/ns-2.34/diffusion3/filter_core -I/root/DESERT_buildCopy_LEN/.buildHost/ns-2.34/asim -Wall -Werror -I../nsmiracle -I../ip -I../mphy -I../mmac -I../routing -I../mobility -Wno-write-strings -MT libmiraclecbr_la-initlib.lo -MD -MP -MF .deps/libmiraclecbr_la-initlib.Tpo -c initlib.cc  -fPIC -DPIC -o .libs/libmiraclecbr_la-initlib.o
In file included from initlib.cc:31:
/root/DESERT_buildCopy_LEN/.buildHost/tclcl-1.20/tclcl.h:175:22: error: 'virtual void TclObject::trace(TracedVar*)' was hidden [-Werror=overloaded-virtual=]
  175 |         virtual void trace(TracedVar*);
      |                      ^~~~~
In file included from ../nsmiracle/connector-trace.h:39,
                 from ../nsmiracle/sap.h:40,
                 from initlib.cc:32:
/root/DESERT_buildCopy_LEN/.buildHost/ns-2.34/trace/basetrace.h:90:22: note:   by 'virtual void EventTrace::trace()'
   90 |         virtual void trace();
      |                      ^~~~~
cc1plus: all warnings being treated as errors
make[3]: *** [Makefile:775: libmiraclecbr_la-initlib.lo] Error 1
make[3]: Leaving directory '/root/DESERT_buildCopy_LEN/.buildHost/nsmiracle-1.1.4/cbr'
make[2]: *** [Makefile:801: all-recursive] Error 1
make[2]: Leaving directory '/root/DESERT_buildCopy_LEN/.buildHost/nsmiracle-1.1.4/cbr'
make[1]: *** [Makefile:638: all] Error 2
make[1]: Leaving directory '/root/DESERT_buildCopy_LEN/.buildHost/nsmiracle-1.1.4/cbr'
make: *** [Makefile:451: all-recursive] Error 1
ERROR: EXIT FROM THE INSTALLATION PROCEDURE!

Even if it seems it is breaking on some nsmiracle deps, nsmiracle itself build is breaking with newer gcc (starting from Ubuntu 23.something)

MetalKnight commented 9 months ago

The issue is not related to nsmiracle but rather to ns-2.34 code. the new warning introduced by gcc13 requires a proper patch to ns-2.34 code. @fedefava86 I suggest to build DESERT with this warning turned off until a proper patch is developed.