Bugzilla – Bug 1075
Python examples fail when static built is enabled
Last modified: 2011-03-20 08:18:59 EDT
If you do build the non-static (shared dynamic) version of ns-3, all of the tests in test.py pass.
But, if you do
/waf configure --enable-static
/waf configure --enable-static -d release
all of the Python examples fail:
FAIL: Example examples/routing/simple-routing-ping6.py
FAIL: Example examples/wireless/wifi-ap.py
FAIL: Example examples/wireless/mixed-wireless.py
FAIL: Example examples/tutorial/first.py
FAIL: Example src/bridge/examples/csma-bridge.py
I think the reason is that I changed the wscript files to make the bindings be a static library. Before, they were always being created as shared libraries.
To be specific, I added to following to bindings/python/wscript:
features = 'cxx cstaticlib pyext'
features = 'cxx cshlib pyext'
features += ' pch'
I also added following to wscript:
if sys.platform == 'darwin':
env.STATICLIB_MARKER = '-Wl,-all_load'
env.STATICLIB_MARKER = '-Wl,--whole-archive,-Bstatic'
env.SHLIB_MARKER = '-Wl,-Bdynamic,--no-whole-archive'
Note to Mitch, please add me to CC of any bug report assigned to me, otherwise I might miss it. I do not subscribe to all bugmail. I only subscribe to the RSS feed, from which sometimes I miss items.
Of course, Python bindings have to be dynamic libraries, period.
user: Gustavo J. A. M. Carneiro <firstname.lastname@example.org>
date: Sun Mar 20 12:18:15 2011 +0000
summary: Bug 1075 - Python examples fail when static built is enabled