Bug 1270

Summary: "Checking boost includes" weirdness
Product: ns-3 Reporter: Vedran Miletić <vedran>
Component: build systemAssignee: Gustavo J. A. M. Carneiro <gjcarneiro>
Status: RESOLVED FIXED    
Severity: normal CC: ns-bugs
Priority: P5    
Version: pre-release   
Hardware: PC   
OS: Linux   

Description Vedran Miletić 2011-09-27 13:49:13 UTC
This happens both on Linux and FreeBSD without boost includes installed (note the lack of yes or no):

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                                   : Package gsl was not found in the pkg-config search path.
Perhaps you should add the directory containing `gsl.pc'
to the PKG_CONFIG_PATH environment variable
No package 'gsl' found
---- Summary of optional NS-3 features:
NS-3 Click Integration        : not enabled (nsclick not enabled (see option --with-nsclick))
GtkConfigStore                : not enabled (library 'gtk+-2.0 >= 2.12' not found)
XmlIo                         : not enabled (library 'libxml-2.0 >= 2.7' not found)
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      : not enabled (library 'sqlite3' not found)
Tap Bridge                    : enabled
Python Bindings               : not enabled (The configuration failed
(complete log in /home/vedranm/bin/ns-3-allinone/ns-3-dev/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)  : not enabled (GSL not found)

(Side note: Python bindings don't fail because of this, it's because this installation lacks python-devel package. It would be great, if possible, if this was somehow detected and printed.)
Comment 1 Gustavo J. A. M. Carneiro 2011-09-27 13:53:11 UTC
*sigh* the boost waf tool to detect boost libraries is "contrib" or "extra" or somesuch, and is not well maintained.  This does not surprise me. :(
Comment 2 Gustavo J. A. M. Carneiro 2011-09-28 08:05:13 UTC
(In reply to comment #0)
> (Side note: Python bindings don't fail because of this, it's because this
> installation lacks python-devel package. It would be great, if possible, if
> this was somehow detected and printed.)

Python bindings use PyBindGen, they are not based on Boost.Python.  No reason why they should fail.
Comment 3 Gustavo J. A. M. Carneiro 2011-09-28 09:03:44 UTC
changeset:   7550:2fa7219968b3
tag:         tip
user:        Gustavo J. A. M. Carneiro  <gjc@inescporto.pt>
date:        Wed Sep 28 14:03:25 2011 +0100
summary:     Bug 1270 - "Checking boost includes" weirdness
Comment 4 Vedran Miletić 2011-09-28 10:37:10 UTC
Thanks again.

I didn't word stuff on Python quite right; it's unrelated. I wanted to say that Python bindings are in this case disabled for another reason, missing python-devel package and it's good that waf failure with boost doesn't affect the rest.

However, it would be much better if waf could detect missing python development headers; at the moment, this results in an exception that gets logged and message "The configuration failed (complete log in /home/vedranm/bin/ns-3-allinone/ns-3-dev/build/config.log)." If it's not too hard to do it perhaps it should be created as a separate bug.
Comment 5 Gustavo J. A. M. Carneiro 2011-09-28 10:45:27 UTC
(In reply to comment #4)
> Thanks again.
> 
> I didn't word stuff on Python quite right; it's unrelated. I wanted to say that
> Python bindings are in this case disabled for another reason, missing
> python-devel package and it's good that waf failure with boost doesn't affect
> the rest.
> 
> However, it would be much better if waf could detect missing python development
> headers; at the moment, this results in an exception that gets logged and
> message "The configuration failed (complete log in
> /home/vedranm/bin/ns-3-allinone/ns-3-dev/build/config.log)." If it's not too
> hard to do it perhaps it should be created as a separate bug.

Yes, open the bug report, attach the config.log file.  At least in ubuntu 11.04 this problem does not happen...