Bug 1321

Summary: ns-3.13 pre-release fails to build with gcc 3.4.6 on i686
Product: ns-3 Reporter: Vedran Miletić <vedran>
Component: config-storeAssignee: Mitch Watrous <watrous>
Status: RESOLVED WONTFIX    
Severity: major CC: ns-bugs, tomh
Priority: P5    
Version: pre-release   
Hardware: PC   
OS: Linux   

Description Vedran Miletić 2011-12-22 17:43:13 UTC
$ CC=/usr/bin/gcc34 CXX=/usr/bin/g++34 ./waf configure
Setting top to                           : /home/vedranm/bin/ns-3-allinone/ns-3-gcc34 
Setting out to                           : /home/vedranm/bin/ns-3-allinone/ns-3-gcc34/build 
Checking for 'gcc' (c compiler)          : /usr/bin/gcc34 
Checking for 'g++' (c++ compiler)        : /usr/bin/g++34 
Checking for program pkg-config          : /usr/bin/pkg-config 
Checking for compilation flag -Wl,--soname=foo... support : ok 
Checking for click location                               : not found 
Checking for pkg-config flags for GTK_CONFIG_STORE        : ok 
Checking for pkg-config flags for LIBXML2                 : ok 
Checking for type uint128_t                               : not found 
Checking for type __uint128_t                             : not found 
Checking high precision time implementation               : cairo 128-bit integer 
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 netpacket/packet.h                    : yes 
Checking for NSC location                                 : ../nsc (guessed) 
Checking for library dl                                   : yes 
Checking for NSC supported architecture i686              : ok 
Checking for header sys/socket.h                          : yes 
Checking for header netinet/in.h                          : yes 
Checking boost includes                                   : not found 
Checking for library sqlite3                              : yes 
Checking for header linux/if_tun.h                        : yes 
Checking for program python                               : /usr/bin/python 
Checking for python version                               : (2, 7, 2, 'final', 0) 
Checking for library python2.7 in LIBDIR                  : not found 
Checking for library python2.7 in python_LIBPL            : not found 
Checking for library python2.7 in $prefix/libs            : not found 
Checking for library python27 in LIBDIR                   : not found 
Checking for library python27 in python_LIBPL             : not found 
Checking for library python27 in $prefix/libs             : not found 
Checking for program python2.7-config,python-config-2.7,python2.7m-config : /usr/bin/python2.7-config 
Checking for header Python.h                                              : Could not find the python development headers 
Checking for '/usr/bin/python2.7-config'                                  : yes 
Getting the python flags from python-config                               : Could not find the python development headers elsewhere 
Checking for program sudo                                                 : /usr/bin/sudo 
Checking for program valgrind                                             : /usr/bin/valgrind 
Checking for pkg-config flags for GSL                                     : ok 
Checking for compilation flag -Wno-error=deprecated-d... support          : not found 
Checking for compilation flag -Wno-error=deprecated-d... support          : not found 
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:
NS-3 Click Integration        : not enabled (nsclick not enabled (see option --with-nsclick))
GtkConfigStore                : enabled
XmlIo                         : enabled
Threading Primitives          : enabled
Real Time Simulator           : enabled
Emulated Net Device           : enabled
Network Simulation Cradle     : enabled
MPI Support                   : not enabled (option --enable-mpi not selected)
NS-3 OpenFlow Integration     : not enabled (Required boost libraries not found)
SQlite stats data output      : enabled
Tap Bridge                    : enabled
Python Bindings               : not enabled (The configuration failed
(complete log in /home/vedranm/bin/ns-3-allinone/ns-3-gcc34/build/config.log))
Use sudo to set suid bit      : not enabled (option --enable-sudo not selected)
Build tests                   : not enabled (defaults to disabled)
Build examples                : not enabled (defaults to disabled)
GNU Scientific Library (GSL)  : enabled
'configure' finished successfully (2.609s)


$ ./waf build
[ 861/1253] cxx: src/config-store/model/xml-config.cc -> build/src/config-store/model/xml-config.cc.1.o
[ 862/1253] cxx: src/config-store/model/display-functions.cc -> build/src/config-store/model/display-functions.cc.1.o
[ 863/1253] cxx: src/config-store/model/gtk-config-store.cc -> build/src/config-store/model/gtk-config-store.cc.1.o
In file included from /usr/include/glib-2.0/glib/gasyncqueue.h:34,
                 from /usr/include/glib-2.0/glib.h:34,
                 from /usr/include/glib-2.0/gobject/gbinding.h:30,
                 from /usr/include/glib-2.0/glib-object.h:25,
                 from /usr/include/glib-2.0/gio/gioenums.h:30,
                 from /usr/include/glib-2.0/gio/giotypes.h:30,
                 from /usr/include/glib-2.0/gio/gio.h:28,
                 from /usr/include/gtk-2.0/gdk/gdkapplaunchcontext.h:30,
                 from /usr/include/gtk-2.0/gdk/gdk.h:32,
                 from /usr/include/gtk-2.0/gtk/gtk.h:32,
                 from ../src/config-store/model/model-node-creator.h:21,
                 from ../src/config-store/model/display-functions.h:22,
                 from ../src/config-store/model/display-functions.cc:19:
/usr/include/glib-2.0/glib/gthread.h: In function `gboolean g_once_init_enter(volatile gsize*)':
/usr/include/glib-2.0/glib/gthread.h:347: error: `__sync_synchronize' was not declared in this scope
/usr/include/glib-2.0/glib/gthread.h:347: warning: unused variable '__sync_synchronize'
In file included from /usr/include/glib-2.0/glib/gasyncqueue.h:34,
                 from /usr/include/glib-2.0/glib.h:34,
                 from /usr/include/glib-2.0/gobject/gbinding.h:30,
                 from /usr/include/glib-2.0/glib-object.h:25,
                 from /usr/include/glib-2.0/gio/gioenums.h:30,
                 from /usr/include/glib-2.0/gio/giotypes.h:30,
                 from /usr/include/glib-2.0/gio/gio.h:28,
                 from /usr/include/gtk-2.0/gdk/gdkapplaunchcontext.h:30,
                 from /usr/include/gtk-2.0/gdk/gdk.h:32,
                 from /usr/include/gtk-2.0/gtk/gtk.h:32,
                 from ../src/config-store/model/model-node-creator.h:21,
                 from ../src/config-store/model/display-functions.h:22,
                 from ../src/config-store/model/gtk-config-store.cc:22:
/usr/include/glib-2.0/glib/gthread.h: In function `gboolean g_once_init_enter(volatile gsize*)':
/usr/include/glib-2.0/glib/gthread.h:347: error: `__sync_synchronize' was not declared in this scope
/usr/include/glib-2.0/glib/gthread.h:347: warning: unused variable '__sync_synchronize'
Waf: Leaving directory `/home/vedranm/bin/ns-3-allinone/ns-3-gcc34/build'
Build failed
 -> task failed (exit status 1): 
	{task 166031948: cxx display-functions.cc -> display-functions.cc.1.o}
['/usr/bin/g++34', '-O0', '-ggdb', '-g3', '-Wall', '-Werror', '-fstrict-aliasing', '-Wstrict-aliasing', '-fPIC', '-pthread', '-pthread', '-pthread', '-Ibuild', '-I.', '-I/usr/include/gtk-2.0', '-I/usr/lib/gtk-2.0/include', '-I/usr/include/atk-1.0', '-I/usr/include/cairo', '-I/usr/include/gdk-pixbuf-2.0', '-I/usr/include/pango-1.0', '-I/usr/include/glib-2.0', '-I/usr/lib/glib-2.0/include', '-I/usr/include/pixman-1', '-I/usr/include/freetype2', '-I/usr/include/libpng12', '-I/usr/include/libxml2', '-DNS3_ASSERT_ENABLE', '-DNS3_LOG_ENABLE', '-DSQLITE3=1', '-DHAVE_IF_TUN_H=1', '-DPYTHONDIR="/usr/local/lib/python2.7/site-packages"', '-DPYTHONARCHDIR="/usr/local/lib/python2.7/site-packages"', '-DHAVE_PYEMBED=1', '-DENABLE_GSL', '../src/config-store/model/display-functions.cc', '-c', '-o', 'src/config-store/model/display-functions.cc.1.o']
 -> task failed (exit status 1): 
	{task 166031532: cxx gtk-config-store.cc -> gtk-config-store.cc.1.o}
['/usr/bin/g++34', '-O0', '-ggdb', '-g3', '-Wall', '-Werror', '-fstrict-aliasing', '-Wstrict-aliasing', '-fPIC', '-pthread', '-pthread', '-pthread', '-Ibuild', '-I.', '-I/usr/include/gtk-2.0', '-I/usr/lib/gtk-2.0/include', '-I/usr/include/atk-1.0', '-I/usr/include/cairo', '-I/usr/include/gdk-pixbuf-2.0', '-I/usr/include/pango-1.0', '-I/usr/include/glib-2.0', '-I/usr/lib/glib-2.0/include', '-I/usr/include/pixman-1', '-I/usr/include/freetype2', '-I/usr/include/libpng12', '-I/usr/include/libxml2', '-DNS3_ASSERT_ENABLE', '-DNS3_LOG_ENABLE', '-DSQLITE3=1', '-DHAVE_IF_TUN_H=1', '-DPYTHONDIR="/usr/local/lib/python2.7/site-packages"', '-DPYTHONARCHDIR="/usr/local/lib/python2.7/site-packages"', '-DHAVE_PYEMBED=1', '-DENABLE_GSL', '../src/config-store/model/gtk-config-store.cc', '-c', '-o', 'src/config-store/model/gtk-config-store.cc.1.o']

I personally don't care much as it works nicely with gcc 4.6, but I believe it should be fixed for 3.13 if we want to claim support for gcc 3.4.6 in release notes.
Comment 1 Tom Henderson 2011-12-23 09:27:28 UTC
I'm not able to reproduce this on Ubuntu Linux (gcc-3.4.6).  I see from browsing the web that this problem has been experienced on Mac OS platform for other projects.

Is this a FreeBSD or Mac platform?

This appears to be a problem with another library, and the ns-3 source file in question has not been touched since Feb. 2010, so I'm wondering if we just put a caveat in the installation notes that it doesn't build for that particular compiler and OS.
Comment 2 Vedran Miletić 2011-12-23 09:41:48 UTC
This is on Fedora 16 i686. I have:
glib2-2.30.1-1.fc16.i686
glib2-devel-2.30.1-1.fc16.i686
gtk2-2.24.8-3.fc16.i686
gtk2-devel-2.24.8-3.fc16.i686

gcc 4.6.2 works nicely.
Comment 3 Tom Henderson 2011-12-23 16:24:37 UTC
marking as wontfix, since gcc-4.6.2 works for Fedora 16, and problem appears to be with another library.  Note added to ns-3.13 release notes.