ns3-26 warnning treated as errors

20 views
Skip to first unread message

Swan M

unread,
Jul 16, 2024, 6:47:43 AM (6 days ago) Jul 16
to ns-3-users
Hi all, 
I have been working ns3-26 on my Ubuntu with no errors until yesterday when I tried to build the work again. First thing first, when  using ./waf without sudo it gives me 

ns-allinone-3.26/ns-3.26/.waf3-1.8.19-b1fc8f7baef51bd2db4c2971909a568d/waflib/Scripting.py", line 100, in waf_entry_point
 set_main_module(os.path.normpath(os.path.join(Context.run_dir,Context.WSCRIPT_FILE)))
ns-allinone-3.26/ns-3.26/.waf3-1.8.19-b1fc8f7baef51bd2db4c2971909a568d/waflib/Scripting.py", line 125, in set_main_module
    Context.g_module=Context.load_module(file_path)
                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
/ns-allinone-3.26/ns-3.26/.waf3-1.8.19-b1fc8f7baef51bd2db4c2971909a568d/waflib/Context.py", line 349, in load_module
    code=Utils.readf(path,m='rU',encoding=encoding)
         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 /ns-allinone-3.26/ns-3.26/.waf3-1.8.19-b1fc8f7baef51bd2db4c2971909a568d/waflib/Utils.py", line 87, in readf
    f=open(fname,m)
      ^^^^^^^^^^^^^
ValueError: invalid mode: 'rUb'

This did not happen before, but when sudo ./waf abort the build as:
cc1plus: all warnings being treated as errors

Waf: Leaving directory `/ns-allinone-3.26/ns-3.26/build'
Build failed
same thing using sudo ./waf --enable-examples --enable-tests configure --disable-python CXXFLAGS="-std=c++0x" sudo ./waf -d debug --enable-examples --enable-tests
configure –disable-python
 I tried to modify the flagging warning as an error using CXXFLAGS="-Wall -g -O0" sudo ./waf  configure (works before without sudo) and I got: Checking for 'gcc' (C compiler)          : /usr/bin/gcc
Checking for cc version                  : 9.4.0
Checking for 'g++' (C++ compiler)        : /usr/bin/g++
Checking for compilation flag -Wl,--soname=foo support : ok
Checking for program 'python'                          : /usr/bin/python
Checking for python version                            : (2, 7, 18, 'final', 0)
python-config                                          : /usr/bin/python-config
Asking python-config for pyembed '--cflags --libs --ldflags' flags : yes
Testing pyembed configuration                                      : yes
Asking python-config for pyext '--cflags --libs --ldflags' flags   : yes
Testing pyext configuration                                        : yes
Checking for compilation flag -fvisibility=hidden support          : ok
Checking for compilation flag -Wno-array-bounds support            : ok
Checking for pybindgen location                                    : ../pybindgen-0.17.0.post57+nga6376f2 (guessed)
Checking for python module 'pybindgen'                             : 0.17.0.post57+nga6376f2
Checking for pybindgen version                                     : 0.17.0.post57+nga6376f2
Checking for code snippet                                          : yes
Checking for types uint64_t and unsigned long equivalence          : no
Checking for code snippet                                          : no
Checking for types uint64_t and unsigned long long equivalence     : yes
Checking for the apidefs that can be used for Python bindings      : gcc-LP64
Checking for internal GCC cxxabi                                   : complete
Checking for python module 'pygccxml'                              : not found
Checking boost includes                                            : headers not found, please provide a --boost-includes argument (see help)
Checking boost includes                                            : headers not found, please provide a --boost-includes argument (see help)
Checking for header stdint.h                                       : yes
Checking for click location                                        : not found
Checking for program 'pkg-config'                                  : /usr/bin/pkg-config
Checking for 'gtk+-2.0' >= 2.12                                    : not found
Checking for 'libxml-2.0' >= 2.7                                   : yes
Checking for type uint128_t                                        : not found
Checking for type __uint128_t                                      : yes
Checking high precision implementation                             : 128-bit integer (default)
Checking for header stdint.h                                       : yes
Checking for header inttypes.h                                     : yes
Checking for header sys/inttypes.h                                 : not found
Checking for header sys/types.h                                    : yes
Checking for header sys/stat.h                                     : yes
Checking for header dirent.h                                       : yes
Checking for header stdlib.h                                       : yes
Checking for header signal.h                                       : yes
Checking for header pthread.h                                      : yes
Checking for header stdint.h                                       : yes
Checking for header inttypes.h                                     : yes
Checking for header sys/inttypes.h                                 : not found
Checking for library rt                                            : yes
Checking for header sys/ioctl.h                                    : yes
Checking for header net/if.h                                       : yes
Checking for header net/ethernet.h                                 : yes
Checking for header linux/if_tun.h                                 : yes
Checking for header netpacket/packet.h                             : yes
Checking for NSC location                                          : not found
Checking for 'sqlite3'                                             : yes
Checking for header linux/if_tun.h                                 : yes
Checking for python module 'gtk'                                   : not found
Checking for python module 'goocanvas'                             : not found
Checking for python module 'pygraphviz'                            : not found
Checking for program 'sudo'                                        : /usr/bin/sudo
Checking for program 'valgrind'                                    : /usr/bin/valgrind
Checking for 'gsl'                                                 : not found
python-config                                                      : not found
Checking for compilation flag -Wno-error=deprecated-d... support   : ok
Checking for compilation flag -Wno-error=deprecated-d... support   : ok
Checking for compilation flag -fstrict-aliasing support            : ok
Checking for compilation flag -fstrict-aliasing support            : ok
Checking for compilation flag -Wstrict-aliasing support            : ok
Checking for compilation flag -Wstrict-aliasing support            : ok
Checking for program 'doxygen'                                     : /usr/bin/doxygen
---- Summary of optional NS-3 features:
Build profile                 : debug
Build directory               :
BRITE Integration             : not enabled (BRITE not enabled (see option --with-brite))
DES Metrics event collection  : not enabled (defaults to disabled)
Emulation FdNetDevice         : enabled
Examples                      : not enabled (defaults to disabled)
File descriptor NetDevice     : enabled
GNU Scientific Library (GSL)  : not enabled (GSL not found)
Gcrypt library                : not enabled (libgcrypt not found: you can use libgcrypt-config to find its location.)
GtkConfigStore                : not enabled (library 'gtk+-2.0 >= 2.12' not found)
MPI Support                   : not enabled (option --enable-mpi not selected)
NS-3 Click Integration        : not enabled (nsclick not enabled (see option --with-nsclick))
NS-3 OpenFlow Integration     : not enabled (Required boost libraries not found)
Network Simulation Cradle     : not enabled (NSC not found (see option --with-nsc))
PlanetLab FdNetDevice         : not enabled (PlanetLab operating system not detected (see option --force-planetlab))
PyViz visualizer              : not enabled (Missing python modules: gtk, goocanvas, pygraphviz)
Python API Scanning Support   : not enabled (Missing 'pygccxml' Python module)
Python Bindings               : enabled
Real Time Simulator           : enabled
SQlite stats data output      : enabled
Tap Bridge                    : enabled
Tap FdNetDevice               : enabled
Tests                         : not enabled (defaults to disabled)
Threading Primitives          : enabled
Use sudo to set suid bit      : not enabled (option --enable-sudo not selected)
XmlIo                         : enabled
'configure' finished successfully (2.193s)

But again, if I build or run./waf I got cc1plus: all warnings being treated as errors

Is anyone familiar with this issue? 

Gabriel Ferreira

unread,
Jul 16, 2024, 8:44:05 AM (6 days ago) Jul 16
to ns-3-users
> First thing first, when  using ./waf without sudo it gives me 
> ...
> ValueError: invalid mode: 'rUb'

Sounds like a permission error. Take ownership of the files within the directory.


> But again, if I build or run./waf I got cc1plus: all warnings being treated as errors

 CXXFLAGS="-Wall" ./waf configure ...

https://www.nsnam.org/wiki/HOWTO_build_old_versions_of_ns-3_on_newer_compilers

Swan M

unread,
Jul 16, 2024, 12:07:58 PM (6 days ago) Jul 16
to ns-3-users
Thank you for the reply,
It turns out the cause of the issue is due to the upgrade of Python from 2.7 to 3.11. I downgraded Python to 2.7, and it worked perfectly. 

Reply all
Reply to author
Forward
0 new messages