Unable to compile gui: undefined references to various libs

Hi.

I once got a building error on gtk2_ardour/ardour-3.0 due to undefined references and guessed it was transient, but

I still encounter the issue a few days later on. I joined a rough log of the building process on a fresh, up-to-date checkout of the 3.0 branch. Is it I miss some libs or a bug? I guess I got everything mentionned on http://ardour.org/building, but oversight may be lurking here :slight_smile:

$ svn up
À la révision 5296.

$ scons
[...]
g++ -o gtk2_ardour/ardour-3.0 -O3 -fomit-frame-pointer -ffast-math -fstrength-reduce -pipe -DARCH_X86 -mmmx -march=i686 -msse -mfpmath=sse -DUSE_XMMINTRIN -DBUILD_SSE_OPTIMIZATIONS -Wl,--export-dynamic -pthread gtk2_ardour/about.o gtk2_ardour/actions.o gtk2_ardour/add_midi_cc_track_dialog.o gtk2_ardour/add_route_dialog.o gtk2_ardour/analysis_window.o gtk2_ardour/ardour_dialog.o gtk2_ardour/ardour_ui.o gtk2_ardour/ardour_ui2.o gtk2_ardour/ardour_ui_dependents.o gtk2_ardour/ardour_ui_dialogs.o gtk2_ardour/ardour_ui_ed.o gtk2_ardour/ardour_ui_mixer.o gtk2_ardour/ardour_ui_options.o gtk2_ardour/audio_clock.o gtk2_ardour/audio_region_editor.o gtk2_ardour/audio_region_view.o gtk2_ardour/audio_streamview.o gtk2_ardour/audio_time_axis.o gtk2_ardour/automation_controller.o gtk2_ardour/automation_line.o gtk2_ardour/automation_region_view.o gtk2_ardour/automation_streamview.o gtk2_ardour/automation_time_axis.o gtk2_ardour/axis_view.o gtk2_ardour/bundle_manager.o gtk2_ardour/canvas-flag.o gtk2_ardour/canvas-note-event.o gtk2_ardour/canvas-note.o gtk2_ardour/canvas-program-change.o gtk2_ardour/canvas-simpleline.o gtk2_ardour/canvas-simplerect.o gtk2_ardour/canvas-sysex.o gtk2_ardour/canvas-waveview.o gtk2_ardour/control_point.o gtk2_ardour/control_point_dialog.o gtk2_ardour/crossfade_edit.o gtk2_ardour/crossfade_view.o gtk2_ardour/curvetest.o gtk2_ardour/diamond.o gtk2_ardour/editing.o gtk2_ardour/editor.o gtk2_ardour/editor_actions.o gtk2_ardour/editor_audio_import.o gtk2_ardour/editor_audiotrack.o gtk2_ardour/editor_canvas.o gtk2_ardour/editor_canvas_events.o gtk2_ardour/editor_cursors.o gtk2_ardour/editor_drag.o gtk2_ardour/editor_edit_groups.o gtk2_ardour/editor_export_audio.o gtk2_ardour/editor_hscroller.o gtk2_ardour/editor_keyboard.o gtk2_ardour/editor_keys.o gtk2_ardour/editor_markers.o gtk2_ardour/editor_mixer.o gtk2_ardour/editor_mouse.o gtk2_ardour/editor_nudge.o gtk2_ardour/editor_ops.o gtk2_ardour/editor_region_list.o gtk2_ardour/editor_route_list.o gtk2_ardour/editor_rulers.o gtk2_ardour/editor_scrub.o gtk2_ardour/editor_selection.o gtk2_ardour/editor_selection_list.o gtk2_ardour/editor_summary.o gtk2_ardour/editor_tempodisplay.o gtk2_ardour/editor_timefx.o gtk2_ardour/engine_dialog.o gtk2_ardour/enums.o gtk2_ardour/export_channel_selector.o gtk2_ardour/export_dialog.o gtk2_ardour/export_file_notebook.o gtk2_ardour/export_filename_selector.o gtk2_ardour/export_format_dialog.o gtk2_ardour/export_format_selector.o gtk2_ardour/export_preset_selector.o gtk2_ardour/export_timespan_selector.o gtk2_ardour/fft.o gtk2_ardour/fft_graph.o gtk2_ardour/fft_result.o gtk2_ardour/gain_meter.o gtk2_ardour/generic_pluginui.o gtk2_ardour/ghostregion.o gtk2_ardour/global_port_matrix.o gtk2_ardour/gtk-custom-hruler.o gtk2_ardour/gtk-custom-ruler.o gtk2_ardour/io_selector.o gtk2_ardour/keyboard.o gtk2_ardour/keyeditor.o gtk2_ardour/latency_gui.o gtk2_ardour/level_meter.o gtk2_ardour/lineset.o gtk2_ardour/location_ui.o gtk2_ardour/main.o gtk2_ardour/marker.o gtk2_ardour/midi_channel_selector.o gtk2_ardour/midi_port_dialog.o gtk2_ardour/midi_region_view.o gtk2_ardour/midi_scroomer.o gtk2_ardour/midi_streamview.o gtk2_ardour/midi_time_axis.o gtk2_ardour/mixer_strip.o gtk2_ardour/mixer_ui.o gtk2_ardour/nag.o gtk2_ardour/option_editor.o gtk2_ardour/opts.o gtk2_ardour/panner.o gtk2_ardour/panner2d.o gtk2_ardour/panner_ui.o gtk2_ardour/piano_roll_header.o gtk2_ardour/playlist_selector.o gtk2_ardour/plugin_eq_gui.o gtk2_ardour/plugin_selector.o gtk2_ardour/plugin_ui.o gtk2_ardour/port_group.o gtk2_ardour/port_matrix.o gtk2_ardour/port_matrix_body.o gtk2_ardour/port_matrix_column_labels.o gtk2_ardour/port_matrix_component.o gtk2_ardour/port_matrix_grid.o gtk2_ardour/port_matrix_labels.o gtk2_ardour/port_matrix_row_labels.o gtk2_ardour/processor_box.o gtk2_ardour/prompter.o gtk2_ardour/public_editor.o gtk2_ardour/rc_option_editor.o gtk2_ardour/region_gain_line.o gtk2_ardour/region_selection.o gtk2_ardour/region_view.o gtk2_ardour/return_ui.o gtk2_ardour/rhythm_ferret.o gtk2_ardour/route_params_ui.o gtk2_ardour/route_processor_selection.o gtk2_ardour/route_time_axis.o gtk2_ardour/route_ui.o gtk2_ardour/selection.o gtk2_ardour/send_ui.o gtk2_ardour/session_import_dialog.o gtk2_ardour/session_metadata_dialog.o gtk2_ardour/session_option_editor.o gtk2_ardour/sfdb_ui.o gtk2_ardour/simpleline.o gtk2_ardour/simplerect.o gtk2_ardour/splash.o gtk2_ardour/startup.o gtk2_ardour/streamview.o gtk2_ardour/strip_silence_dialog.o gtk2_ardour/tape_region_view.o gtk2_ardour/tempo_dialog.o gtk2_ardour/tempo_lines.o gtk2_ardour/theme_manager.o gtk2_ardour/time_axis_view.o gtk2_ardour/time_axis_view_item.o gtk2_ardour/time_fx_dialog.o gtk2_ardour/time_selection.o gtk2_ardour/ui_config.o gtk2_ardour/utils.o gtk2_ardour/version.o gtk2_ardour/waveview.o gtk2_ardour/x11.o -Llibs/pbd -Llibs/gtkmm2/gtk -Llibs/surfaces/control_protocol -Llibs/gtkmm2/pango -Llibs/midi++2 -Llibs/ardour -Llibs/gtkmm2/atk -Llibs/sigc++2 -Llibs/cairomm -Llibs/glibmm2 -Llibs/evoral/src/libsmf -Llibs/rubberband -Llibs/taglib -Llibs/vamp-sdk -Llibs/evoral -Llibs/gtkmm2ext -Llibs/gtkmm2/gdk -Llibs/libgnomecanvasmm -L/usr/local/lib -lardour -lardour_cp -lasound -latkmm -lcairomm -lfftw3 -lm -lfftw3f -lm -lfreetype -lz -lgdkmm2 -lgobject-2.0 -lgmodule-2.0 -lgthread-2.0 -lrt -lglib-2.0 -lglibmm2 -lgtk-x11-2.0 -lgdk-x11-2.0 -latk-1.0 -lpangoft2-1.0 -lgdk_pixbuf-2.0 -lm -lpangocairo-1.0 -lgio-2.0 -lcairo -lpango-1.0 -lfreetype -lz -lfontconfig -lgobject-2.0 -lgmodule-2.0 -lglib-2.0 -lgtkmm2 -lgtkmm2ext -ljack -lpthread -lrt -lgnomecanvas-2 -lart_lgpl_2 -lgtk-x11-2.0 -lgdk-x11-2.0 -latk-1.0 -lpangoft2-1.0 -lgdk_pixbuf-2.0 -lm -lpangocairo-1.0 -lgio-2.0 -lcairo -lpango-1.0 -lfreetype -lz -lfontconfig -lgobject-2.0 -lgmodule-2.0 -lglib-2.0 -lgnomecanvasmm -llrdf -lmidi++ -lsmf -levoral -lpangomm -lpbd -lsamplerate -lsigc++2 -lsndfile -ltaglib -ljack -lvamphostsdk -lvampsdk -lxml2 -lxslt -lxml2 -lrubberband
gtk2_ardour/add_route_dialog.o: In function `AddRouteDialog::group_changed()':
add_route_dialog.cc:(.text+0xa6f): undefined reference to `RouteGroupDialog::RouteGroupDialog(ARDOUR::RouteGroup*, Gtk::StockID const&)'
add_route_dialog.cc:(.text+0xa7f): undefined reference to `RouteGroupDialog::do_run()'
gtk2_ardour/editor.o: In function `Editor::idle_resize()':
editor.cc:(.text+0x627): undefined reference to `CairoWidget::set_dirty()'
editor.cc:(.text+0x651): undefined reference to `TrackSelection::contains(TimeAxisView const*) const'
gtk2_ardour/editor.o: In function `Editor::add_to_idle_resize(TimeAxisView*, int)':
editor.cc:(.text+0x71a): undefined reference to `TrackSelection::contains(TimeAxisView const*) const'
gtk2_ardour/editor.o: In function `Editor::get_regions_for_action(RegionSelection&, bool)':
editor.cc:(.text+0x1f711): undefined reference to `TrackSelection::add(std::list<TimeAxisView*, std::allocator > const&)'
gtk2_ardour/editor.o: In function `Editor::connect_to_session(ARDOUR::Session*)':
editor.cc:(.text+0x27c11): undefined reference to `GroupTabs::set_session(ARDOUR::Session*)'
gtk2_ardour/editor.o: In function `Editor::Editor()':
editor.cc:(.text+0x3669c): undefined reference to `EditorGroupTabs::EditorGroupTabs(Editor*)'
editor.cc:(.text+0x37459): undefined reference to `Gtkmm2ext::CellRendererPixbufToggle::CellRendererPixbufToggle()'
editor.cc:(.text+0x37487): undefined reference to `Gtkmm2ext::CellRendererPixbufToggle::set_active_pixbuf(Glib::RefPtr)'
editor.cc:(.text+0x374c7): undefined reference to `Gtkmm2ext::CellRendererPixbufToggle::set_inactive_pixbuf(Glib::RefPtr)'
editor.cc:(.text+0x37575): undefined reference to `Gtkmm2ext::CellRendererPixbufToggle::signal_toggled()'
editor.cc:(.text+0x375f0): undefined reference to `Gtkmm2ext::CellRendererPixbufToggle::property_active()'
gtk2_ardour/editor.o: In function `Editor::Editor()':
editor.cc:(.text+0x4366a): undefined reference to `EditorGroupTabs::EditorGroupTabs(Editor*)'
editor.cc:(.text+0x44403): undefined reference to `Gtkmm2ext::CellRendererPixbufToggle::CellRendererPixbufToggle()'
editor.cc:(.text+0x44431): undefined reference to `Gtkmm2ext::CellRendererPixbufToggle::set_active_pixbuf(Glib::RefPtr)'
editor.cc:(.text+0x44471): undefined reference to `Gtkmm2ext::CellRendererPixbufToggle::set_inactive_pixbuf(Glib::RefPtr)'
editor.cc:(.text+0x4451f): undefined reference to `Gtkmm2ext::CellRendererPixbufToggle::signal_toggled()'
editor.cc:(.text+0x4459a): undefined reference to `Gtkmm2ext::CellRendererPixbufToggle::property_active()'
gtk2_ardour/editor.o: In function `Editor::streamview_height_changed()':
editor.cc:(.text+0x58f): undefined reference to `CairoWidget::set_dirty()'
gtk2_ardour/editor.o: In function `Editor::region_view_added(RegionView*)':
editor.cc:(.text+0x5af): undefined reference to `CairoWidget::set_dirty()'
gtk2_ardour/editor_edit_groups.o: In function `Editor::edit_route_group(ARDOUR::RouteGroup*)':
editor_edit_groups.cc:(.text+0x1c9): undefined reference to `RouteGroupDialog::RouteGroupDialog(ARDOUR::RouteGroup*, Gtk::StockID const&)'
editor_edit_groups.cc:(.text+0x1d9): undefined reference to `RouteGroupDialog::do_run()'
gtk2_ardour/editor_edit_groups.o: In function `Editor::new_route_group()':
editor_edit_groups.cc:(.text+0x459): undefined reference to `RouteGroupDialog::RouteGroupDialog(ARDOUR::RouteGroup*, Gtk::StockID const&)'
editor_edit_groups.cc:(.text+0x469): undefined reference to `RouteGroupDialog::do_run()'
gtk2_ardour/editor_edit_groups.o: In function `Editor::add_route_group(ARDOUR::RouteGroup*)':
editor_edit_groups.cc:(.text+0xa24): undefined reference to `CairoWidget::set_dirty()'
gtk2_ardour/editor_edit_groups.o: In function `Editor::new_route_group_from_selection()':
editor_edit_groups.cc:(.text+0xbd1): undefined reference to `RouteGroupDialog::RouteGroupDialog(ARDOUR::RouteGroup*, Gtk::StockID const&)'
editor_edit_groups.cc:(.text+0xbe5): undefined reference to `RouteGroupDialog::do_run()'
gtk2_ardour/editor_edit_groups.o: In function `Editor::new_route_group_from_rec_enabled()':
editor_edit_groups.cc:(.text+0xe6b): undefined reference to `RouteGroupDialog::RouteGroupDialog(ARDOUR::RouteGroup*, Gtk::StockID const&)'
editor_edit_groups.cc:(.text+0xe7f): undefined reference to `RouteGroupDialog::do_run()'
gtk2_ardour/editor_edit_groups.o: In function `Editor::new_route_group_from_soloed()':
editor_edit_groups.cc:(.text+0x11cb): undefined reference to `RouteGroupDialog::RouteGroupDialog(ARDOUR::RouteGroup*, Gtk::StockID const&)'
editor_edit_groups.cc:(.text+0x11df): undefined reference to `RouteGroupDialog::do_run()'
gtk2_ardour/editor_edit_groups.o: In function `Editor::group_flags_changed(void*, ARDOUR::RouteGroup*)':
editor_edit_groups.cc:(.text+0x175a): undefined reference to `CairoWidget::set_dirty()'
gtk2_ardour/editor_ops.o: In function `Editor::fit_tracks(TrackSelection&)':
editor_ops.cc:(.text+0x364c): undefined reference to `TrackSelection::contains(TimeAxisView const*) const'
editor_ops.cc:(.text+0x36b9): undefined reference to `TrackSelection::contains(TimeAxisView const*) const'
gtk2_ardour/editor_route_list.o: In function `Editor::sync_track_view_list_and_route_list()':
editor_route_list.cc:(.text+0xa14): undefined reference to `CairoWidget::set_dirty()'
editor_route_list.cc:(.text+0xa29): undefined reference to `CairoWidget::set_dirty()'
gtk2_ardour/editor_route_list.o: In function `Editor::handle_new_route(std::list<boost::shared_ptr, std::allocator<boost::shared_ptr > >&)':
editor_route_list.cc:(.text+0x313b): undefined reference to `CairoWidget::set_dirty()'
gtk2_ardour/editor_summary.o: In function `EditorSummary::EditorSummary(Editor*)':
editor_summary.cc:(.text+0x8c3): undefined reference to `CairoWidget::CairoWidget()'
gtk2_ardour/editor_summary.o: In function `EditorSummary::EditorSummary(Editor*)':
editor_summary.cc:(.text+0x978): undefined reference to `CairoWidget::CairoWidget()'
gtk2_ardour/editor_summary.o: In function `EditorSummary::on_expose_event(_GdkEventExpose*)':
editor_summary.cc:(.text+0x11ad): undefined reference to `CairoWidget::on_expose_event(_GdkEventExpose*)'
gtk2_ardour/editor_summary.o: In function `EditorSummary::set_session(ARDOUR::Session*)':
editor_summary.cc:(.text+0x144f): undefined reference to `CairoWidget::set_dirty()'
editor_summary.cc:(.text+0x14f8): undefined reference to `CairoWidget::set_dirty()'
editor_summary.cc:(.text+0x159d): undefined reference to `CairoWidget::set_dirty()'
editor_summary.cc:(.text+0x1642): undefined reference to `CairoWidget::set_dirty()'
editor_summary.cc:(.text+0x174f): undefined reference to `CairoWidget::set_dirty()'
gtk2_ardour/editor_summary.o: In function `EditorSummary::~EditorSummary()':
editor_summary.cc:(.text._ZN13EditorSummaryD1Ev[EditorSummary::~EditorSummary()]+0x52): undefined reference to `CairoWidget::~CairoWidget()'
gtk2_ardour/editor_summary.o: In function `EditorSummary::~EditorSummary()':
editor_summary.cc:(.text._ZN13EditorSummaryD0Ev[EditorSummary::~EditorSummary()]+0x52): undefined reference to `CairoWidget::~CairoWidget()'
gtk2_ardour/editor_summary.o:(.rodata._ZTV13EditorSummary[vtable for EditorSummary]+0x3c): undefined reference to `CairoWidget::on_size_allocate(Gdk::Rectangle&)'
gtk2_ardour/editor_summary.o:(.rodata._ZTC13EditorSummary0_11CairoWidget[vtable for EditorSummary]+0xc): undefined reference to `typeinfo for CairoWidget'
gtk2_ardour/editor_summary.o:(.rodata._ZTC13EditorSummary0_11CairoWidget[vtable for EditorSummary]+0x10): undefined reference to `CairoWidget::~CairoWidget()'
gtk2_ardour/editor_summary.o:(.rodata._ZTC13EditorSummary0_11CairoWidget[vtable for EditorSummary]+0x14): undefined reference to `CairoWidget::~CairoWidget()'
gtk2_ardour/editor_summary.o:(.rodata._ZTC13EditorSummary0_11CairoWidget[vtable for EditorSummary]+0x3c): undefined reference to `CairoWidget::on_size_allocate(Gdk::Rectangle&)'
gtk2_ardour/editor_summary.o:(.rodata._ZTC13EditorSummary0_11CairoWidget[vtable for EditorSummary]+0x80): undefined reference to `CairoWidget::on_expose_event(_GdkEventExpose*)'
gtk2_ardour/editor_summary.o:(.rodata._ZTC13EditorSummary0_11CairoWidget[vtable for EditorSummary]+0x148): undefined reference to `typeinfo for CairoWidget'
gtk2_ardour/editor_summary.o:(.rodata._ZTC13EditorSummary0_11CairoWidget[vtable for EditorSummary]+0x14c): undefined reference to `non-virtual thunk to CairoWidget::~CairoWidget()'
gtk2_ardour/editor_summary.o:(.rodata._ZTC13EditorSummary0_11CairoWidget[vtable for EditorSummary]+0x150): undefined reference to `non-virtual thunk to CairoWidget::~CairoWidget()'
gtk2_ardour/editor_summary.o:(.rodata._ZTC13EditorSummary0_11CairoWidget[vtable for EditorSummary]+0x174): undefined reference to `typeinfo for CairoWidget'
gtk2_ardour/editor_summary.o:(.rodata._ZTC13EditorSummary0_11CairoWidget[vtable for EditorSummary]+0x178): undefined reference to `virtual thunk to CairoWidget::~CairoWidget()'
gtk2_ardour/editor_summary.o:(.rodata._ZTC13EditorSummary0_11CairoWidget[vtable for EditorSummary]+0x17c): undefined reference to `virtual thunk to CairoWidget::~CairoWidget()'
gtk2_ardour/editor_summary.o:(.rodata._ZTI13EditorSummary[typeinfo for EditorSummary]+0x8): undefined reference to `typeinfo for CairoWidget'
gtk2_ardour/mixer_strip.o: In function `MixerStrip::select_route_group(_GdkEventButton*)':
mixer_strip.cc:(.text+0x753): undefined reference to `RouteGroupMenu::RouteGroupMenu(ARDOUR::Session&, ARDOUR::RouteGroup::Property)'
gtk2_ardour/mixer_ui.o: In function `Mixer_UI::group_flags_changed(void*, ARDOUR::RouteGroup*)':
mixer_ui.cc:(.text+0xaf4): undefined reference to `CairoWidget::set_dirty()'
gtk2_ardour/mixer_ui.o: In function `Mixer_UI::redisplay_track_list()':
mixer_ui.cc:(.text+0x4c7a): undefined reference to `CairoWidget::set_dirty()'
gtk2_ardour/mixer_ui.o: In function `Mixer_UI::Mixer_UI()':
mixer_ui.cc:(.text+0x9500): undefined reference to `MixerGroupTabs::MixerGroupTabs(Mixer_UI*)'
gtk2_ardour/mixer_ui.o: In function `Mixer_UI::connect_to_session(ARDOUR::Session*)':
mixer_ui.cc:(.text+0xc637): undefined reference to `GroupTabs::set_session(ARDOUR::Session*)'
gtk2_ardour/mixer_ui.o: In function `Mixer_UI::Mixer_UI()':
mixer_ui.cc:(.text+0xcf9e): undefined reference to `MixerGroupTabs::MixerGroupTabs(Mixer_UI*)'
gtk2_ardour/mixer_ui.o: In function `Mixer_UI::strip_width_changed()':
mixer_ui.cc:(.text+0x3bf): undefined reference to `CairoWidget::set_dirty()'
gtk2_ardour/route_time_axis.o: In function `RouteTimeAxisView::edit_click(_GdkEventButton*)':
route_time_axis.cc:(.text+0x1e70): undefined reference to `RouteGroupMenu::rebuild(ARDOUR::RouteGroup*)'
gtk2_ardour/route_time_axis.o: In function `RouteTimeAxisView::RouteTimeAxisView(PublicEditor&, ARDOUR::Session&, boost::shared_ptr, Gnome::Canvas::Canvas&)':
route_time_axis.cc:(.text+0x146d9): undefined reference to `RouteGroupMenu::RouteGroupMenu(ARDOUR::Session&, ARDOUR::RouteGroup::Property)'
gtk2_ardour/route_time_axis.o: In function `RouteTimeAxisView::RouteTimeAxisView(PublicEditor&, ARDOUR::Session&, boost::shared_ptr, Gnome::Canvas::Canvas&)':
route_time_axis.cc:(.text+0x1765d): undefined reference to `RouteGroupMenu::RouteGroupMenu(ARDOUR::Session&, ARDOUR::RouteGroup::Property)'
gtk2_ardour/selection.o: In function `Selection::add(std::list<TimeAxisView*, std::allocator > const&)':
selection.cc:(.text+0x142a): undefined reference to `TrackSelection::add(std::list<TimeAxisView*, std::allocator > const&)'
collect2: ld a retourné 1 code d'état d'exécution
scons: *** [gtk2_ardour/ardour-3.0] Error 1
scons: building terminated because of errors.

Same here.

It seems to be related to the installed GTKMM Version: http://tracker.ardour.org/view.php?id=2699

You can try compiling with SYSTEMLIBS=1 (I think).
This is not the recommended way but until it’s fixed in the 3.0-tree it might be the only way.

No, it’s not. I am compiling it with SYSLIBS=1, but the fault still appears.

The whole building system is being shifted to waf, so the scons files are pretty behind in being updated. Maybe you shift to waf, too :slight_smile:

Yep, I will think about this.

Maybe i will give it a try this weekend…

Edit: I updated the mantis bug.

Thanks for the hint.

These are the needed changes:

Index: gtk2_ardour/SConscript

— gtk2_ardour/SConscript (Revision 5300)
+++ gtk2_ardour/SConscript (Arbeitskopie)
@@ -126,6 +126,7 @@
automation_time_axis.cc
axis_view.cc
bundle_manager.cc
+cairo_widget.cc
canvas-flag.cc
canvas-note-event.cc
canvas-note.cc
@@ -152,6 +153,7 @@
editor_edit_groups.cc
editor_export_audio.cc
editor_hscroller.cc
+editor_group_tabs.cc
editor_keyboard.cc
editor_keys.cc
editor_markers.cc
@@ -185,6 +187,7 @@
generic_pluginui.cc
ghostregion.cc
global_port_matrix.cc
+group_tabs.cc
gtk-custom-hruler.c
gtk-custom-ruler.c
io_selector.cc
@@ -202,6 +205,7 @@
midi_scroomer.cc
midi_streamview.cc
midi_time_axis.cc
+mixer_group_tabs.cc
mixer_strip.cc
mixer_ui.cc
nag.cc
@@ -236,6 +240,8 @@
route_processor_selection.cc
route_time_axis.cc
route_ui.cc
+route_group_dialog.cc
+route_group_menu.cc
selection.cc
send_ui.cc
session_import_dialog.cc
@@ -256,6 +262,7 @@
time_axis_view_item.cc
time_fx_dialog.cc
time_selection.cc
+track_selection.cc
ui_config.cc
utils.cc
version.cc
Index: libs/gtkmm2ext/SConscript

— libs/gtkmm2ext/SConscript (Revision 5300)
+++ libs/gtkmm2ext/SConscript (Arbeitskopie)
@@ -62,6 +62,7 @@
utils.cc
version.cc
window_title.cc
+cell_renderer_pixbuf_toggle.cc
“”")

gtkosx_files=Split("""

This is a very simple of case of not updated SConscripts/SConstructs.

To have CellRendererPixbufToggle, add

cell_renderer_pixbuf_toggle.cc

to libs/gtkmm2ext/Sconstruct. All your other undefines are missing entries in gtk2_ardour/SConstruct.

But if you are not able to find this out in a matter of minutes yourself, you definitely should not hassle with SVN versions, unless you are told so to do…