Bug 1245 - Facility for skipping optional libraries in build.py required urgently
Facility for skipping optional libraries in build.py required urgently
Status: RESOLVED DUPLICATE of bug 756
Product: ns-3
Classification: Unclassified
Component: core
ns-3.11
All All
: P5 blocker
Assigned To: Mathieu Lacage
:
Depends on:
Blocks:
  Show dependency treegraph
 
Reported: 2011-08-13 10:25 EDT by Lloyd Wood
Modified: 2011-08-13 16:17 EDT (History)
2 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Lloyd Wood 2011-08-13 10:25:43 EDT
tomh writes in bug 756:

  If a system has an optional library that is failing, the module that depends on
  that library can now be removed from the build manually.  There isn't any
  facility for automatically skipping optional libraries (such as labeling
  certain modules to "build if you can but skip if you run into problems")

ns3 should build as much as possible for user adoption and use. It can finish with warnings on what was not built and what will not work, but it should always build from a straightforward build.py to give confidence to users. Warnings could be e.g off the top of my head.

ns3 has compiled and can be run as...
ns3 was unable to build with gtk. This affects:
 an optional ConfigStore front-end that you are unlikely to need.
If you require this, install gtk and recompile.
ns3 was unable to build with freetype. This affects:
 nothing you'll miss.
Run ns3 with...

I've just tried to build ns3 3.11 allinone on a Mac OS X Snow Leopard 10.6.8. The errors below are hard fails, and they should not happen. Why a network simulator should require the user interface frippery that is GTK is, frankly, beyond me -- especially since ns3 relies on python, and python's tkinter is very very good at user interface stuff.

This is pretty much the same errors as reported in November 2009. I trashed ns3 immediately then after not getting it to compile, and I'm trashing it again now.

[..]
ld: warning: in /sw/lib/libgtk-x11-2.0.dylib, file was built for i386 which is not the architecture being linked (x86_64)
ld: warning: in /sw/lib/libgdk-x11-2.0.dylib, file was built for i386 which is not the architecture being linked (x86_64)
ld: warning: in /sw/lib/libatk-1.0.dylib, file was built for i386 which is not the architecture being linked (x86_64)
ld: warning: in /sw/lib/libgio-2.0.dylib, file was built for i386 which is not the architecture being linked (x86_64)
ld: warning: in /sw/lib/libpangoft2-1.0.dylib, file was built for i386 which is not the architecture being linked (x86_64)
ld: warning: in /sw/lib/libgdk_pixbuf-2.0.dylib, file was built for i386 which is not the architecture being linked (x86_64)
ld: warning: in /sw/lib/libpangocairo-1.0.dylib, file was built for i386 which is not the architecture being linked (x86_64)
ld: warning: in /sw/lib/libcairo.dylib, file was built for i386 which is not the architecture being linked (x86_64)
ld: warning: in /sw/lib/libpango-1.0.dylib, file was built for i386 which is not the architecture being linked (x86_64)
ld: warning: in /sw/lib/libfreetype.dylib, file was built for i386 which is not the architecture being linked (x86_64)
ld: warning: in /sw/lib/libgobject-2.0.dylib, file was built for i386 which is not the architecture being linked (x86_64)
ld: warning: in /sw/lib/libgmodule-2.0.dylib, file was built for i386 which is not the architecture being linked (x86_64)
ld: warning: in /sw/lib/libglib-2.0.dylib, file was built for i386 which is not the architecture being linked (x86_64)
ld: warning: in /sw/lib/libintl.dylib, file was built for i386 which is not the architecture being linked (x86_64)
ld: warning: in /sw/lib/libxml2.dylib, file was built for i386 which is not the architecture being linked (x86_64)
Undefined symbols:
  "_gtk_tree_view_set_rules_hint", referenced from:
      ns3::create_view_config_default(_GtkTreeStore*)       in display-functions_1.o
      ns3::create_view(_GtkTreeStore*)       in display-functions_1.o
  "_gtk_scrolled_window_new", referenced from:
      ns3::GtkConfigStore::ConfigureAttributes()      in gtk-config-store_1.o
      ns3::GtkConfigStore::ConfigureDefaults()      in gtk-config-store_1.o
  "_gtk_tooltip_set_text", referenced from:
      ns3::cell_tooltip_callback_config_default(_GtkWidget*, int, int, int, _GtkTooltip*, void*)in display-functions_1.o
      ns3::cell_tooltip_callback_config_default(_GtkWidget*, int, int, int, _GtkTooltip*, void*)in display-functions_1.o
      ns3::cell_tooltip_callback_config_default(_GtkWidget*, int, int, int, _GtkTooltip*, void*)in display-functions_1.o
      ns3::cell_tooltip_callback(_GtkWidget*, int, int, int, _GtkTooltip*, void*)in display-functions_1.o
      ns3::cell_tooltip_callback(_GtkWidget*, int, int, int, _GtkTooltip*, void*)in display-functions_1.o
      ns3::cell_tooltip_callback(_GtkWidget*, int, int, int, _GtkTooltip*, void*)in display-functions_1.o
      ns3::cell_tooltip_callback(_GtkWidget*, int, int, int, _GtkTooltip*, void*)in display-functions_1.o
      ns3::cell_tooltip_callback(_GtkWidget*, int, int, int, _GtkTooltip*, void*)in display-functions_1.o
  "_xmlFreeTextReader", referenced from:
      ns3::XmlConfigLoad::Attributes()      in xml-config_1.o
      ns3::XmlConfigLoad::Global()     in xml-config_1.o
      ns3::XmlConfigLoad::Default()     in xml-config_1.o
  "_xmlTextWriterEndElement", referenced from:
      ns3::XmlConfigSave::Global()     in xml-config_1.o
      ns3::XmlConfigSave::Attributes()::XmlTextAttributeIterator::DoVisitAttribute(ns3::Ptr<ns3::Object>, std::basic_string<char, std::char_traits<char>, std::allocator<char> >)in xml-config_1.o
      ns3::XmlConfigSave::Default()::XmlDefaultIterator::DoVisitAttribute(std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::basic_string<char, std::char_traits<char>, std::allocator<char> >)in xml-config_1.o
  "_xmlTextWriterSetIndent", referenced from:
      ns3::XmlConfigSave::SetFilename(std::basic_string<char, std::char_traits<char>, std::allocator<char> >)in xml-config_1.o
  "_gtk_tree_view_column_set_cell_data_func", referenced from:
      ns3::create_view_config_default(_GtkTreeStore*)       in display-functions_1.o
      ns3::create_view_config_default(_GtkTreeStore*)       in display-functions_1.o
      ns3::create_view(_GtkTreeStore*)       in display-functions_1.o
      ns3::create_view(_GtkTreeStore*)       in display-functions_1.o
  "_gtk_window_new", referenced from:
      ns3::GtkConfigStore::ConfigureAttributes()      in gtk-config-store_1.o
      ns3::GtkConfigStore::ConfigureDefaults()      in gtk-config-store_1.o
  "_xmlTextWriterStartElement", referenced from:
      ns3::XmlConfigSave::Global()     in xml-config_1.o
      ns3::XmlConfigSave::Attributes()::XmlTextAttributeIterator::DoVisitAttribute(ns3::Ptr<ns3::Object>, std::basic_string<char, std::char_traits<char>, std::allocator<char> >)in xml-config_1.o
      ns3::XmlConfigSave::Default()::XmlDefaultIterator::DoVisitAttribute(std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::basic_string<char, std::char_traits<char>, std::allocator<char> >)in xml-config_1.o
      ns3::XmlConfigSave::SetFilename(std::basic_string<char, std::char_traits<char>, std::allocator<char> >)in xml-config_1.o
  "_gtk_box_pack_end", referenced from:
      ns3::GtkConfigStore::ConfigureAttributes()      in gtk-config-store_1.o
      ns3::GtkConfigStore::ConfigureAttributes()      in gtk-config-store_1.o
      ns3::GtkConfigStore::ConfigureAttributes()      in gtk-config-store_1.o
      ns3::GtkConfigStore::ConfigureAttributes()      in gtk-config-store_1.o
      ns3::GtkConfigStore::ConfigureAttributes()      in gtk-config-store_1.o
      ns3::GtkConfigStore::ConfigureDefaults()      in gtk-config-store_1.o
      ns3::GtkConfigStore::ConfigureDefaults()      in gtk-config-store_1.o
      ns3::GtkConfigStore::ConfigureDefaults()      in gtk-config-store_1.o
      ns3::GtkConfigStore::ConfigureDefaults()      in gtk-config-store_1.o
      ns3::GtkConfigStore::ConfigureDefaults()      in gtk-config-store_1.o
  "_gtk_tree_view_column_pack_start", referenced from:
      ns3::create_view_config_default(_GtkTreeStore*)       in display-functions_1.o
      ns3::create_view_config_default(_GtkTreeStore*)       in display-functions_1.o
      ns3::create_view(_GtkTreeStore*)       in display-functions_1.o
      ns3::create_view(_GtkTreeStore*)       in display-functions_1.o
  "_g_malloc", referenced from:
      ns3::ModelCreator::DoStartVisitArrayItem(ns3::ObjectVectorValue const&, unsigned int, ns3::Ptr<ns3::Object>)in model-node-creator_1.o
      ns3::ModelCreator::Add(ns3::ModelNode*)    in model-node-creator_1.o
      ns3::ModelTypeidCreator::Add(ns3::ModelTypeid*)     in model-typeid-creator_1.o
  "_g_type_check_instance_cast", referenced from:
      ns3::GtkConfigStore::ConfigureAttributes()      in gtk-config-store_1.o
      ns3::GtkConfigStore::ConfigureAttributes()      in gtk-config-store_1.o
      ns3::GtkConfigStore::ConfigureAttributes()      in gtk-config-store_1.o
      ns3::GtkConfigStore::ConfigureAttributes()      in gtk-config-store_1.o
      ns3::GtkConfigStore::ConfigureAttributes()      in gtk-config-store_1.o
      ns3::GtkConfigStore::ConfigureAttributes()      in gtk-config-store_1.o
      ns3::GtkConfigStore::ConfigureAttributes()      in gtk-config-store_1.o
      ns3::GtkConfigStore::ConfigureAttributes()      in gtk-config-store_1.o
      ns3::GtkConfigStore::ConfigureAttributes()      in gtk-config-store_1.o
      ns3::GtkConfigStore::ConfigureAttributes()      in gtk-config-store_1.o
      ns3::GtkConfigStore::ConfigureAttributes()      in gtk-config-store_1.o
      ns3::GtkConfigStore::ConfigureDefaults()      in gtk-config-store_1.o
      ns3::GtkConfigStore::ConfigureDefaults()      in gtk-config-store_1.o
      ns3::GtkConfigStore::ConfigureDefaults()      in gtk-config-store_1.o
      ns3::GtkConfigStore::ConfigureDefaults()      in gtk-config-store_1.o
      ns3::GtkConfigStore::ConfigureDefaults()      in gtk-config-store_1.o
      ns3::GtkConfigStore::ConfigureDefaults()      in gtk-config-store_1.o
      ns3::GtkConfigStore::ConfigureDefaults()      in gtk-config-store_1.o
      ns3::GtkConfigStore::ConfigureDefaults()      in gtk-config-store_1.o
      ns3::GtkConfigStore::ConfigureDefaults()      in gtk-config-store_1.o
      ns3::GtkConfigStore::ConfigureDefaults()      in gtk-config-store_1.o
      ns3::GtkConfigStore::ConfigureDefaults()      in gtk-config-store_1.o
      ns3::clean_model_callback_config_default(_GtkTreeModel*, _GtkTreePath*, _GtkTreeIter*, void*)  in display-functions_1.o
      ns3::clean_model_callback_config_default(_GtkTreeModel*, _GtkTreePath*, _GtkTreeIter*, void*)  in display-functions_1.o
      ns3::create_view_config_default(_GtkTreeStore*)       in display-functions_1.o
      ns3::create_view_config_default(_GtkTreeStore*)       in display-functions_1.o
      ns3::create_view_config_default(_GtkTreeStore*)       in display-functions_1.o
      ns3::create_view_config_default(_GtkTreeStore*)       in display-functions_1.o
      ns3::create_view_config_default(_GtkTreeStore*)       in display-functions_1.o
      ns3::create_view_config_default(_GtkTreeStore*)       in display-functions_1.o
      ns3::create_view(_GtkTreeStore*)       in display-functions_1.o
      ns3::create_view(_GtkTreeStore*)       in display-functions_1.o
      ns3::create_view(_GtkTreeStore*)       in display-functions_1.o
      ns3::create_view(_GtkTreeStore*)       in display-functions_1.o
      ns3::create_view(_GtkTreeStore*)       in display-functions_1.o
      ns3::create_view(_GtkTreeStore*)       in display-functions_1.o
      ns3::load_clicked_default(_GtkButton*, void*)  in display-functions_1.o
      ns3::load_clicked_default(_GtkButton*, void*)  in display-functions_1.o
      ns3::load_clicked_default(_GtkButton*, void*)  in display-functions_1.o
      ns3::load_clicked_default(_GtkButton*, void*)  in display-functions_1.o
      ns3::save_clicked_default(_GtkButton*, void*)  in display-functions_1.o
      ns3::save_clicked_default(_GtkButton*, void*)  in display-functions_1.o
      ns3::save_clicked_default(_GtkButton*, void*)  in display-functions_1.o
      ns3::save_clicked_default(_GtkButton*, void*)  in display-functions_1.o
      ns3::save_clicked_default(_GtkButton*, void*)  in display-functions_1.o
      ns3::save_clicked_default(_GtkButton*, void*)  in display-functions_1.o
      ns3::cell_edited_callback_config_default(_GtkCellRendererText*, char*, char*, void*)in display-functions_1.o
      ns3::clean_model_callback(_GtkTreeModel*, _GtkTreePath*, _GtkTreeIter*, void*)  in display-functions_1.o
      ns3::clean_model_callback(_GtkTreeModel*, _GtkTreePath*, _GtkTreeIter*, void*)  in display-functions_1.o
      ns3::delete_event_callback(_GtkWidget*, _GdkEvent*, void*) in display-functions_1.o
      ns3::exit_clicked_callback(_GtkButton*, void*)  in display-functions_1.o
      ns3::load_clicked(_GtkButton*, void*)  in display-functions_1.o
      ns3::load_clicked(_GtkButton*, void*)  in display-functions_1.o
      ns3::load_clicked(_GtkButton*, void*)  in display-functions_1.o
      ns3::load_clicked(_GtkButton*, void*)  in display-functions_1.o
      ns3::save_clicked(_GtkButton*, void*)  in display-functions_1.o
      ns3::save_clicked(_GtkButton*, void*)  in display-functions_1.o
      ns3::save_clicked(_GtkButton*, void*)  in display-functions_1.o
      ns3::save_clicked(_GtkButton*, void*)  in display-functions_1.o
      ns3::save_clicked(_GtkButton*, void*)  in display-functions_1.o
      ns3::save_clicked(_GtkButton*, void*)  in display-functions_1.o
      ns3::get_col_number_from_tree_view_column(_GtkTreeViewColumn*)       in display-functions_1.o
      ns3::cell_tooltip_callback_config_default(_GtkWidget*, int, int, int, _GtkTooltip*, void*)in display-functions_1.o
      ns3::cell_tooltip_callback_config_default(_GtkWidget*, int, int, int, _GtkTooltip*, void*)in display-functions_1.o
      ns3::cell_tooltip_callback(_GtkWidget*, int, int, int, _GtkTooltip*, void*)in display-functions_1.o
      ns3::cell_tooltip_callback(_GtkWidget*, int, int, int, _GtkTooltip*, void*)in display-functions_1.o
      ns3::cell_edited_callback(_GtkCellRendererText*, char*, char*, void*)in display-functions_1.o
  "_gtk_tree_view_get_type", referenced from:
      ns3::create_view_config_default(_GtkTreeStore*)       in display-functions_1.o
      ns3::create_view_config_default(_GtkTreeStore*)       in display-functions_1.o
      ns3::create_view_config_default(_GtkTreeStore*)       in display-functions_1.o
      ns3::create_view_config_default(_GtkTreeStore*)       in display-functions_1.o
      ns3::create_view_config_default(_GtkTreeStore*)       in display-functions_1.o
      ns3::create_view(_GtkTreeStore*)       in display-functions_1.o
      ns3::create_view(_GtkTreeStore*)       in display-functions_1.o
      ns3::create_view(_GtkTreeStore*)       in display-functions_1.o
      ns3::create_view(_GtkTreeStore*)       in display-functions_1.o
      ns3::create_view(_GtkTreeStore*)       in display-functions_1.o
      ns3::get_col_number_from_tree_view_column(_GtkTreeViewColumn*)       in display-functions_1.o
      ns3::cell_tooltip_callback_config_default(_GtkWidget*, int, int, int, _GtkTooltip*, void*)in display-functions_1.o
      ns3::cell_tooltip_callback_config_default(_GtkWidget*, int, int, int, _GtkTooltip*, void*)in display-functions_1.o
      ns3::cell_tooltip_callback(_GtkWidget*, int, int, int, _GtkTooltip*, void*)in display-functions_1.o
      ns3::cell_tooltip_callback(_GtkWidget*, int, int, int, _GtkTooltip*, void*)in display-functions_1.o
  "_gtk_file_chooser_get_type", referenced from:
      ns3::load_clicked_default(_GtkButton*, void*)  in display-functions_1.o
      ns3::save_clicked_default(_GtkButton*, void*)  in display-functions_1.o
      ns3::save_clicked_default(_GtkButton*, void*)  in display-functions_1.o
      ns3::save_clicked_default(_GtkButton*, void*)  in display-functions_1.o
      ns3::load_clicked(_GtkButton*, void*)  in display-functions_1.o
      ns3::save_clicked(_GtkButton*, void*)  in display-functions_1.o
      ns3::save_clicked(_GtkButton*, void*)  in display-functions_1.o
      ns3::save_clicked(_GtkButton*, void*)  in display-functions_1.o
  "_gtk_file_chooser_get_filename", referenced from:
      ns3::load_clicked_default(_GtkButton*, void*)  in display-functions_1.o
      ns3::save_clicked_default(_GtkButton*, void*)  in display-functions_1.o
      ns3::load_clicked(_GtkButton*, void*)  in display-functions_1.o
      ns3::save_clicked(_GtkButton*, void*)  in display-functions_1.o
  "_gtk_file_chooser_set_do_overwrite_confirmation", referenced from:
      ns3::save_clicked_default(_GtkButton*, void*)  in display-functions_1.o
      ns3::save_clicked(_GtkButton*, void*)  in display-functions_1.o
  "_gtk_tree_model_get", referenced from:
      ns3::clean_model_callback_config_default(_GtkTreeModel*, _GtkTreePath*, _GtkTreeIter*, void*)  in display-functions_1.o
      ns3::cell_data_function_col_1_config_default(_GtkTreeViewColumn*, _GtkCellRenderer*, _GtkTreeModel*, _GtkTreeIter*, void*)  in display-functions_1.o
      ns3::cell_data_function_col_0_config_default(_GtkTreeViewColumn*, _GtkCellRenderer*, _GtkTreeModel*, _GtkTreeIter*, void*)  in display-functions_1.o
      ns3::cell_data_function_col_0(_GtkTreeViewColumn*, _GtkCellRenderer*, _GtkTreeModel*, _GtkTreeIter*, void*)  in display-functions_1.o
      ns3::cell_edited_callback_config_default(_GtkCellRendererText*, char*, char*, void*)in display-functions_1.o
      ns3::clean_model_callback(_GtkTreeModel*, _GtkTreePath*, _GtkTreeIter*, void*)  in display-functions_1.o
      ns3::cell_tooltip_callback_config_default(_GtkWidget*, int, int, int, _GtkTooltip*, void*)in display-functions_1.o
      ns3::cell_tooltip_callback(_GtkWidget*, int, int, int, _GtkTooltip*, void*)in display-functions_1.o
      ns3::cell_edited_callback(_GtkCellRendererText*, char*, char*, void*)in display-functions_1.o
      ns3::cell_data_function_col_1(_GtkTreeViewColumn*, _GtkCellRenderer*, _GtkTreeModel*, _GtkTreeIter*, void*)  in display-functions_1.o
  "_gtk_tree_view_set_model", referenced from:
      ns3::create_view_config_default(_GtkTreeStore*)       in display-functions_1.o
      ns3::create_view(_GtkTreeStore*)       in display-functions_1.o
  "_xmlTextReaderGetAttribute", referenced from:
      ns3::XmlConfigLoad::Attributes()      in xml-config_1.o
      ns3::XmlConfigLoad::Attributes()      in xml-config_1.o
      ns3::XmlConfigLoad::Global()     in xml-config_1.o
      ns3::XmlConfigLoad::Global()     in xml-config_1.o
      ns3::XmlConfigLoad::Default()     in xml-config_1.o
      ns3::XmlConfigLoad::Default()     in xml-config_1.o
  "_gtk_window_get_type", referenced from:
      ns3::GtkConfigStore::ConfigureAttributes()      in gtk-config-store_1.o
      ns3::GtkConfigStore::ConfigureAttributes()      in gtk-config-store_1.o
      ns3::GtkConfigStore::ConfigureDefaults()      in gtk-config-store_1.o
      ns3::GtkConfigStore::ConfigureDefaults()      in gtk-config-store_1.o
      ns3::load_clicked_default(_GtkButton*, void*)  in display-functions_1.o
      ns3::save_clicked_default(_GtkButton*, void*)  in display-functions_1.o
      ns3::load_clicked(_GtkButton*, void*)  in display-functions_1.o
      ns3::save_clicked(_GtkButton*, void*)  in display-functions_1.o
  "_xmlTextWriterWriteAttribute", referenced from:
      ns3::XmlConfigSave::Global()     in xml-config_1.o
      ns3::XmlConfigSave::Global()     in xml-config_1.o
      ns3::XmlConfigSave::Attributes()::XmlTextAttributeIterator::DoVisitAttribute(ns3::Ptr<ns3::Object>, std::basic_string<char, std::char_traits<char>, std::allocator<char> >)in xml-config_1.o
      ns3::XmlConfigSave::Attributes()::XmlTextAttributeIterator::DoVisitAttribute(ns3::Ptr<ns3::Object>, std::basic_string<char, std::char_traits<char>, std::allocator<char> >)in xml-config_1.o
      ns3::XmlConfigSave::Default()::XmlDefaultIterator::DoVisitAttribute(std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::basic_string<char, std::char_traits<char>, std::allocator<char> >)in xml-config_1.o
      ns3::XmlConfigSave::Default()::XmlDefaultIterator::DoVisitAttribute(std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::basic_string<char, std::char_traits<char>, std::allocator<char> >)in xml-config_1.o
  "_xmlFreeTextWriter", referenced from:
      ns3::XmlConfigSave::~XmlConfigSave()in xml-config_1.o
      ns3::XmlConfigSave::~XmlConfigSave()in xml-config_1.o
      ns3::XmlConfigSave::~XmlConfigSave()in xml-config_1.o
  "_gtk_widget_hide", referenced from:
      ns3::delete_event_callback(_GtkWidget*, _GdkEvent*, void*) in display-functions_1.o
      ns3::exit_clicked_callback(_GtkButton*, void*)  in display-functions_1.o
  "_gtk_tree_store_new", referenced from:
      ns3::GtkConfigStore::ConfigureAttributes()      in gtk-config-store_1.o
      ns3::GtkConfigStore::ConfigureDefaults()      in gtk-config-store_1.o
  "_gtk_tree_view_get_path_at_pos", referenced from:
      ns3::cell_tooltip_callback_config_default(_GtkWidget*, int, int, int, _GtkTooltip*, void*)in display-functions_1.o
      ns3::cell_tooltip_callback(_GtkWidget*, int, int, int, _GtkTooltip*, void*)in display-functions_1.o
  "_g_signal_connect_data", referenced from:
      ns3::GtkConfigStore::ConfigureAttributes()      in gtk-config-store_1.o
      ns3::GtkConfigStore::ConfigureAttributes()      in gtk-config-store_1.o
      ns3::GtkConfigStore::ConfigureAttributes()      in gtk-config-store_1.o
      ns3::GtkConfigStore::ConfigureAttributes()      in gtk-config-store_1.o
      ns3::GtkConfigStore::ConfigureDefaults()      in gtk-config-store_1.o
      ns3::GtkConfigStore::ConfigureDefaults()      in gtk-config-store_1.o
      ns3::GtkConfigStore::ConfigureDefaults()      in gtk-config-store_1.o
      ns3::GtkConfigStore::ConfigureDefaults()      in gtk-config-store_1.o
      ns3::create_view_config_default(_GtkTreeStore*)       in display-functions_1.o
      ns3::create_view_config_default(_GtkTreeStore*)       in display-functions_1.o
      ns3::create_view(_GtkTreeStore*)       in display-functions_1.o
      ns3::create_view(_GtkTreeStore*)       in display-functions_1.o
  "_gtk_box_pack_start", referenced from:
      ns3::GtkConfigStore::ConfigureAttributes()      in gtk-config-store_1.o
      ns3::GtkConfigStore::ConfigureDefaults()      in gtk-config-store_1.o
  "_gtk_dialog_run", referenced from:
      ns3::load_clicked_default(_GtkButton*, void*)  in display-functions_1.o
      ns3::save_clicked_default(_GtkButton*, void*)  in display-functions_1.o
      ns3::load_clicked(_GtkButton*, void*)  in display-functions_1.o
      ns3::save_clicked(_GtkButton*, void*)  in display-functions_1.o
  "_g_object_unref", referenced from:
      ns3::create_view_config_default(_GtkTreeStore*)       in display-functions_1.o
      ns3::create_view(_GtkTreeStore*)       in display-functions_1.o
  "_xmlTextWriterStartDocument", referenced from:
      ns3::XmlConfigSave::SetFilename(std::basic_string<char, std::char_traits<char>, std::allocator<char> >)in xml-config_1.o
  "_xmlNewTextWriterFilename", referenced from:
      ns3::XmlConfigSave::SetFilename(std::basic_string<char, std::char_traits<char>, std::allocator<char> >)in xml-config_1.o
  "_xmlTextReaderConstName", referenced from:
      ns3::XmlConfigLoad::Attributes()      in xml-config_1.o
      ns3::XmlConfigLoad::Global()     in xml-config_1.o
      ns3::XmlConfigLoad::Default()     in xml-config_1.o
  "_gtk_widget_get_type", referenced from:
      ns3::load_clicked_default(_GtkButton*, void*)  in display-functions_1.o
      ns3::save_clicked_default(_GtkButton*, void*)  in display-functions_1.o
      ns3::delete_event_callback(_GtkWidget*, _GdkEvent*, void*) in display-functions_1.o
      ns3::exit_clicked_callback(_GtkButton*, void*)  in display-functions_1.o
      ns3::load_clicked(_GtkButton*, void*)  in display-functions_1.o
      ns3::save_clicked(_GtkButton*, void*)  in display-functions_1.o
  "_g_list_index", referenced from:
      ns3::get_col_number_from_tree_view_column(_GtkTreeViewColumn*)       in display-functions_1.o
  "_gtk_container_add", referenced from:
      ns3::GtkConfigStore::ConfigureAttributes()      in gtk-config-store_1.o
      ns3::GtkConfigStore::ConfigureAttributes()      in gtk-config-store_1.o
      ns3::GtkConfigStore::ConfigureDefaults()      in gtk-config-store_1.o
      ns3::GtkConfigStore::ConfigureDefaults()      in gtk-config-store_1.o
  "_gtk_tree_store_set", referenced from:
      ns3::ModelCreator::DoStartVisitArrayItem(ns3::ObjectVectorValue const&, unsigned int, ns3::Ptr<ns3::Object>)in model-node-creator_1.o
      ns3::ModelCreator::Add(ns3::ModelNode*)    in model-node-creator_1.o
      ns3::ModelTypeidCreator::Add(ns3::ModelTypeid*)     in model-typeid-creator_1.o
      ns3::clean_model_callback_config_default(_GtkTreeModel*, _GtkTreePath*, _GtkTreeIter*, void*)  in display-functions_1.o
      ns3::clean_model_callback(_GtkTreeModel*, _GtkTreePath*, _GtkTreeIter*, void*)  in display-functions_1.o
  "_g_list_free", referenced from:
      ns3::get_col_number_from_tree_view_column(_GtkTreeViewColumn*)       in display-functions_1.o
  "_gtk_hseparator_new", referenced from:
      ns3::GtkConfigStore::ConfigureAttributes()      in gtk-config-store_1.o
      ns3::GtkConfigStore::ConfigureDefaults()      in gtk-config-store_1.o
  "_xmlTextReaderRead", referenced from:
      ns3::XmlConfigLoad::Attributes()      in xml-config_1.o
      ns3::XmlConfigLoad::Attributes()      in xml-config_1.o
      ns3::XmlConfigLoad::Global()     in xml-config_1.o
      ns3::XmlConfigLoad::Global()     in xml-config_1.o
      ns3::XmlConfigLoad::Default()     in xml-config_1.o
      ns3::XmlConfigLoad::Default()     in xml-config_1.o
  "_gtk_main_quit", referenced from:
      ns3::delete_event_callback(_GtkWidget*, _GdkEvent*, void*) in display-functions_1.o
      ns3::exit_clicked_callback(_GtkButton*, void*)  in display-functions_1.o
  "_gtk_window_set_title", referenced from:
      ns3::GtkConfigStore::ConfigureAttributes()      in gtk-config-store_1.o
      ns3::GtkConfigStore::ConfigureDefaults()      in gtk-config-store_1.o
  "_g_free", referenced from:
      ns3::ModelCreator::DoEndVisitArrayItem()      in model-node-creator_1.o
      ns3::ModelCreator::Remove()     in model-node-creator_1.o
      ns3::ModelTypeidCreator::Remove()     in model-typeid-creator_1.o
      ns3::save_clicked_default(_GtkButton*, void*)  in display-functions_1.o
      ns3::save_clicked(_GtkButton*, void*)  in display-functions_1.o
  "_xmlFree", referenced from:
      ns3::XmlConfigLoad::Attributes()      in xml-config_1.o
      ns3::XmlConfigLoad::Attributes()      in xml-config_1.o
      ns3::XmlConfigLoad::Global()     in xml-config_1.o
      ns3::XmlConfigLoad::Global()     in xml-config_1.o
      ns3::XmlConfigLoad::Default()     in xml-config_1.o
      ns3::XmlConfigLoad::Default()     in xml-config_1.o
  "_gtk_box_get_type", referenced from:
      ns3::GtkConfigStore::ConfigureAttributes()      in gtk-config-store_1.o
      ns3::GtkConfigStore::ConfigureAttributes()      in gtk-config-store_1.o
      ns3::GtkConfigStore::ConfigureAttributes()      in gtk-config-store_1.o
      ns3::GtkConfigStore::ConfigureAttributes()      in gtk-config-store_1.o
      ns3::GtkConfigStore::ConfigureAttributes()      in gtk-config-store_1.o
      ns3::GtkConfigStore::ConfigureAttributes()      in gtk-config-store_1.o
      ns3::GtkConfigStore::ConfigureDefaults()      in gtk-config-store_1.o
      ns3::GtkConfigStore::ConfigureDefaults()      in gtk-config-store_1.o
      ns3::GtkConfigStore::ConfigureDefaults()      in gtk-config-store_1.o
      ns3::GtkConfigStore::ConfigureDefaults()      in gtk-config-store_1.o
      ns3::GtkConfigStore::ConfigureDefaults()      in gtk-config-store_1.o
      ns3::GtkConfigStore::ConfigureDefaults()      in gtk-config-store_1.o
  "_gtk_tree_view_set_grid_lines", referenced from:
      ns3::create_view_config_default(_GtkTreeStore*)       in display-functions_1.o
      ns3::create_view(_GtkTreeStore*)       in display-functions_1.o
  "_gtk_tree_view_get_tooltip_context", referenced from:
      ns3::cell_tooltip_callback_config_default(_GtkWidget*, int, int, int, _GtkTooltip*, void*)in display-functions_1.o
      ns3::cell_tooltip_callback(_GtkWidget*, int, int, int, _GtkTooltip*, void*)in display-functions_1.o
  "_gtk_button_new_with_label", referenced from:
      ns3::GtkConfigStore::ConfigureAttributes()      in gtk-config-store_1.o
      ns3::GtkConfigStore::ConfigureAttributes()      in gtk-config-store_1.o
      ns3::GtkConfigStore::ConfigureAttributes()      in gtk-config-store_1.o
      ns3::GtkConfigStore::ConfigureDefaults()      in gtk-config-store_1.o
      ns3::GtkConfigStore::ConfigureDefaults()      in gtk-config-store_1.o
      ns3::GtkConfigStore::ConfigureDefaults()      in gtk-config-store_1.o
  "_gtk_window_set_default_size", referenced from:
      ns3::GtkConfigStore::ConfigureAttributes()      in gtk-config-store_1.o
      ns3::GtkConfigStore::ConfigureDefaults()      in gtk-config-store_1.o
  "_gtk_tree_model_get_iter_from_string", referenced from:
      ns3::cell_edited_callback_config_default(_GtkCellRendererText*, char*, char*, void*)in display-functions_1.o
      ns3::cell_edited_callback(_GtkCellRendererText*, char*, char*, void*)in display-functions_1.o
  "_gtk_tree_view_column_set_title", referenced from:
      ns3::create_view_config_default(_GtkTreeStore*)       in display-functions_1.o
      ns3::create_view_config_default(_GtkTreeStore*)       in display-functions_1.o
      ns3::create_view(_GtkTreeStore*)       in display-functions_1.o
      ns3::create_view(_GtkTreeStore*)       in display-functions_1.o
  "_gtk_widget_destroy", referenced from:
      ns3::GtkConfigStore::ConfigureAttributes()      in gtk-config-store_1.o
      ns3::GtkConfigStore::ConfigureDefaults()      in gtk-config-store_1.o
      ns3::load_clicked_default(_GtkButton*, void*)  in display-functions_1.o
      ns3::save_clicked_default(_GtkButton*, void*)  in display-functions_1.o
      ns3::load_clicked(_GtkButton*, void*)  in display-functions_1.o
      ns3::save_clicked(_GtkButton*, void*)  in display-functions_1.o
  "_gtk_tree_store_get_type", referenced from:
      ns3::clean_model_callback_config_default(_GtkTreeModel*, _GtkTreePath*, _GtkTreeIter*, void*)  in display-functions_1.o
      ns3::clean_model_callback(_GtkTreeModel*, _GtkTreePath*, _GtkTreeIter*, void*)  in display-functions_1.o
  "_g_object_set", referenced from:
      ns3::cell_data_function_col_1_config_default(_GtkTreeViewColumn*, _GtkCellRenderer*, _GtkTreeModel*, _GtkTreeIter*, void*)  in display-functions_1.o
      ns3::cell_data_function_col_1_config_default(_GtkTreeViewColumn*, _GtkCellRenderer*, _GtkTreeModel*, _GtkTreeIter*, void*)  in display-functions_1.o
      ns3::cell_data_function_col_1_config_default(_GtkTreeViewColumn*, _GtkCellRenderer*, _GtkTreeModel*, _GtkTreeIter*, void*)  in display-functions_1.o
      ns3::cell_data_function_col_1_config_default(_GtkTreeViewColumn*, _GtkCellRenderer*, _GtkTreeModel*, _GtkTreeIter*, void*)  in display-functions_1.o
      ns3::create_view_config_default(_GtkTreeStore*)       in display-functions_1.o
      ns3::create_view_config_default(_GtkTreeStore*)       in display-functions_1.o
      ns3::create_view(_GtkTreeStore*)       in display-functions_1.o
      ns3::create_view(_GtkTreeStore*)       in display-functions_1.o
      ns3::cell_data_function_col_0_config_default(_GtkTreeViewColumn*, _GtkCellRenderer*, _GtkTreeModel*, _GtkTreeIter*, void*)  in display-functions_1.o
      ns3::cell_data_function_col_0_config_default(_GtkTreeViewColumn*, _GtkCellRenderer*, _GtkTreeModel*, _GtkTreeIter*, void*)  in display-functions_1.o
      ns3::cell_data_function_col_0_config_default(_GtkTreeViewColumn*, _GtkCellRenderer*, _GtkTreeModel*, _GtkTreeIter*, void*)  in display-functions_1.o
      ns3::cell_data_function_col_0(_GtkTreeViewColumn*, _GtkCellRenderer*, _GtkTreeModel*, _GtkTreeIter*, void*)  in display-functions_1.o
      ns3::cell_data_function_col_0(_GtkTreeViewColumn*, _GtkCellRenderer*, _GtkTreeModel*, _GtkTreeIter*, void*)  in display-functions_1.o
      ns3::cell_data_function_col_0(_GtkTreeViewColumn*, _GtkCellRenderer*, _GtkTreeModel*, _GtkTreeIter*, void*)  in display-functions_1.o
      ns3::cell_data_function_col_0(_GtkTreeViewColumn*, _GtkCellRenderer*, _GtkTreeModel*, _GtkTreeIter*, void*)  in display-functions_1.o
      ns3::cell_data_function_col_0(_GtkTreeViewColumn*, _GtkCellRenderer*, _GtkTreeModel*, _GtkTreeIter*, void*)  in display-functions_1.o
      ns3::cell_data_function_col_0(_GtkTreeViewColumn*, _GtkCellRenderer*, _GtkTreeModel*, _GtkTreeIter*, void*)  in display-functions_1.o
      ns3::cell_data_function_col_1(_GtkTreeViewColumn*, _GtkCellRenderer*, _GtkTreeModel*, _GtkTreeIter*, void*)  in display-functions_1.o
      ns3::cell_data_function_col_1(_GtkTreeViewColumn*, _GtkCellRenderer*, _GtkTreeModel*, _GtkTreeIter*, void*)  in display-functions_1.o
      ns3::cell_data_function_col_1(_GtkTreeViewColumn*, _GtkCellRenderer*, _GtkTreeModel*, _GtkTreeIter*, void*)  in display-functions_1.o
      ns3::cell_data_function_col_1(_GtkTreeViewColumn*, _GtkCellRenderer*, _GtkTreeModel*, _GtkTreeIter*, void*)  in display-functions_1.o
  "_gtk_file_chooser_dialog_new", referenced from:
      ns3::load_clicked_default(_GtkButton*, void*)  in display-functions_1.o
      ns3::save_clicked_default(_GtkButton*, void*)  in display-functions_1.o
      ns3::load_clicked(_GtkButton*, void*)  in display-functions_1.o
      ns3::save_clicked(_GtkButton*, void*)  in display-functions_1.o
  "_gtk_tree_view_column_new", referenced from:
      ns3::create_view_config_default(_GtkTreeStore*)       in display-functions_1.o
      ns3::create_view_config_default(_GtkTreeStore*)       in display-functions_1.o
      ns3::create_view(_GtkTreeStore*)       in display-functions_1.o
      ns3::create_view(_GtkTreeStore*)       in display-functions_1.o
  "_gtk_tree_view_append_column", referenced from:
      ns3::create_view_config_default(_GtkTreeStore*)       in display-functions_1.o
      ns3::create_view_config_default(_GtkTreeStore*)       in display-functions_1.o
      ns3::create_view(_GtkTreeStore*)       in display-functions_1.o
      ns3::create_view(_GtkTreeStore*)       in display-functions_1.o
  "_gtk_tree_model_foreach", referenced from:
      ns3::GtkConfigStore::ConfigureAttributes()      in gtk-config-store_1.o
      ns3::GtkConfigStore::ConfigureDefaults()      in gtk-config-store_1.o
  "_gtk_tree_model_get_type", referenced from:
      ns3::GtkConfigStore::ConfigureAttributes()      in gtk-config-store_1.o
      ns3::GtkConfigStore::ConfigureDefaults()      in gtk-config-store_1.o
      ns3::clean_model_callback_config_default(_GtkTreeModel*, _GtkTreePath*, _GtkTreeIter*, void*)  in display-functions_1.o
      ns3::create_view_config_default(_GtkTreeStore*)       in display-functions_1.o
      ns3::create_view(_GtkTreeStore*)       in display-functions_1.o
      ns3::cell_edited_callback_config_default(_GtkCellRendererText*, char*, char*, void*)in display-functions_1.o
      ns3::clean_model_callback(_GtkTreeModel*, _GtkTreePath*, _GtkTreeIter*, void*)  in display-functions_1.o
      ns3::cell_edited_callback(_GtkCellRendererText*, char*, char*, void*)in display-functions_1.o
  "_gtk_init", referenced from:
      ns3::GtkConfigStore::ConfigureAttributes()      in gtk-config-store_1.o
      ns3::GtkConfigStore::ConfigureDefaults()      in gtk-config-store_1.o
  "_xmlNewTextReaderFilename", referenced from:
      ns3::XmlConfigLoad::Attributes()      in xml-config_1.o
      ns3::XmlConfigLoad::Global()     in xml-config_1.o
      ns3::XmlConfigLoad::Default()     in xml-config_1.o
  "_gtk_tree_store_append", referenced from:
      ns3::ModelCreator::DoStartVisitArrayItem(ns3::ObjectVectorValue const&, unsigned int, ns3::Ptr<ns3::Object>)in model-node-creator_1.o
      ns3::ModelCreator::Add(ns3::ModelNode*)    in model-node-creator_1.o
      ns3::ModelTypeidCreator::Add(ns3::ModelTypeid*)     in model-typeid-creator_1.o
  "_gtk_vbox_new", referenced from:
      ns3::GtkConfigStore::ConfigureAttributes()      in gtk-config-store_1.o
      ns3::GtkConfigStore::ConfigureDefaults()      in gtk-config-store_1.o
  "_gtk_tree_view_new", referenced from:
      ns3::create_view_config_default(_GtkTreeStore*)       in display-functions_1.o
      ns3::create_view(_GtkTreeStore*)       in display-functions_1.o
  "_gtk_main", referenced from:
      ns3::GtkConfigStore::ConfigureAttributes()      in gtk-config-store_1.o
      ns3::GtkConfigStore::ConfigureDefaults()      in gtk-config-store_1.o
  "_gtk_file_chooser_set_current_name", referenced from:
      ns3::save_clicked_default(_GtkButton*, void*)  in display-functions_1.o
      ns3::save_clicked(_GtkButton*, void*)  in display-functions_1.o
  "_gtk_widget_show_all", referenced from:
      ns3::GtkConfigStore::ConfigureAttributes()      in gtk-config-store_1.o
      ns3::GtkConfigStore::ConfigureDefaults()      in gtk-config-store_1.o
  "_xmlTextWriterEndDocument", referenced from:
      ns3::XmlConfigSave::~XmlConfigSave()in xml-config_1.o
      ns3::XmlConfigSave::~XmlConfigSave()in xml-config_1.o
      ns3::XmlConfigSave::~XmlConfigSave()in xml-config_1.o
  "_gtk_container_get_type", referenced from:
      ns3::GtkConfigStore::ConfigureAttributes()      in gtk-config-store_1.o
      ns3::GtkConfigStore::ConfigureAttributes()      in gtk-config-store_1.o
      ns3::GtkConfigStore::ConfigureDefaults()      in gtk-config-store_1.o
      ns3::GtkConfigStore::ConfigureDefaults()      in gtk-config-store_1.o
  "_gtk_tree_view_get_columns", referenced from:
      ns3::get_col_number_from_tree_view_column(_GtkTreeViewColumn*)       in display-functions_1.o
  "_gtk_hbox_new", referenced from:
      ns3::GtkConfigStore::ConfigureAttributes()      in gtk-config-store_1.o
      ns3::GtkConfigStore::ConfigureDefaults()      in gtk-config-store_1.o
  "_gtk_dialog_get_type", referenced from:
      ns3::load_clicked_default(_GtkButton*, void*)  in display-functions_1.o
      ns3::save_clicked_default(_GtkButton*, void*)  in display-functions_1.o
      ns3::load_clicked(_GtkButton*, void*)  in display-functions_1.o
      ns3::save_clicked(_GtkButton*, void*)  in display-functions_1.o
  "_g_return_if_fail_warning", referenced from:
      ns3::get_col_number_from_tree_view_column(_GtkTreeViewColumn*)       in display-functions_1.o
      ns3::get_col_number_from_tree_view_column(_GtkTreeViewColumn*)       in display-functions_1.o
  "_gtk_cell_renderer_text_new", referenced from:
      ns3::create_view_config_default(_GtkTreeStore*)       in display-functions_1.o
      ns3::create_view_config_default(_GtkTreeStore*)       in display-functions_1.o
      ns3::create_view(_GtkTreeStore*)       in display-functions_1.o
      ns3::create_view(_GtkTreeStore*)       in display-functions_1.o
ld: symbol(s) not found
collect2: ld returned 1 exit status
Waf: Leaving directory `/Users/lwood/Documents/ns3/ns-allinone-3.11/ns-3.11/build'
Build failed:  -> task failed (err #1): 
	{task: cxx_link attribute-iterator_1.o,config-store_1.o,attribute-default-iterator_1.o,file-config_1.o,raw-text-config_1.o,gtk-config-store_1.o,model-node-creator_1.o,model-typeid-creator_1.o,display-functions_1.o,xml-config_1.o -> libns3-config-store.dylib}
Traceback (most recent call last):
  File "./build.py", line 140, in <module>
    sys.exit(main(sys.argv))
  File "./build.py", line 131, in main
    build_ns3(config, build_examples, build_tests)
  File "./build.py", line 62, in build_ns3
    run_command(["python", "waf"])
  File "/Users/lwood/Documents/ns3/ns-allinone-3.11/util.py", line 24, in run_command
    raise CommandError("Command %r exited with code %i" % (argv, retval))
util.CommandError: Command ['python', 'waf'] exited with code 1
Comment 1 Tom Henderson 2011-08-13 10:44:23 EDT
moving discussion to bug 756

*** This bug has been marked as a duplicate of bug 756 ***
Comment 2 Lloyd Wood 2011-08-13 13:30:06 EDT
Tom,

as you wrote:

  There isn't any
  facility for automatically skipping optional libraries (such as labeling
  certain modules to "build if you can but skip if you run into problems")

That's a bug.

Either:
- it's a separate bug from Bug 746, which you decided was on configuring the build and which you wanted to mark resolved, so I opened this Bug 1245, in which case dup'ing bug 1245 to bug 746 would be wrong.
or
- if you're reopening 746 because it's not resolved because ns-3 can't build because it insists on trying to build unneeded components, I'm fine with keeping Bug 746 open.
Comment 3 Tom Henderson 2011-08-13 16:17:40 EDT
(In reply to comment #2)
> Tom,
> 
> as you wrote:
> 
>   There isn't any
>   facility for automatically skipping optional libraries (such as labeling
>   certain modules to "build if you can but skip if you run into problems")
> 
> That's a bug.

It's debatable whether this is a bug or an enhancement (this is for supporting systems with incomplete library installations), but there is no point arguing that out since I agree that we ought to try to improve the system as you suggested since Mac users will encounter this.

> 
> Either:
> - it's a separate bug from Bug 746, which you decided was on configuring the
> build and which you wanted to mark resolved, so I opened this Bug 1245, in
> which case dup'ing bug 1245 to bug 746 would be wrong.
> or
> - if you're reopening 746 because it's not resolved because ns-3 can't build
> because it insists on trying to build unneeded components, I'm fine with
> keeping Bug 746 open.

I kept 756 open, and renamed the title to accurately reflect the current topic, so I think it is safe to keep this closed as a duplicate.