GNOME Bugzilla – Bug 586934
ia64 HP-UX 11.31 (and earlier) aCC cannot compile gtkmm
Last modified: 2012-03-13 09:25:01 UTC
gtkmm-2.10.11 was compilable with ia64 HP-UX 11.23 and 11.31, although I have never successfully compiled any releasa of gtkmm on a PA-RISC HP-UX box (11.00, 11.11, 11.23 or 11.31. This part of gtkmm/treeview.h (around line 2385): //Some compilers (IRIX MipsPro) don't like us to give the pointer to a template function directly to sigc::ptr_fun(): typedef void (*type_func)(const Glib::ustring&, const Glib::ustring&, int, const Glib::RefPtr<Gtk::TreeModel>&); type_func func = &(_auto_store_on_cellrenderer_text_edited_string<ColumnType>); sigc::slot<void, const Glib::ustring&, const Glib::ustring&, int, const Glib::RefPtr<Gtk::TreeModel>&> theslot = sigc::ptr_fun(func); causes the ia64 aCC on HP-UX 11.31 to barf thus: "../../gtk/gtkmm/treeview.h", line 2385: error #2449: more than one instance of overloaded function "_auto_store_on_cellrenderer_text_edited_string" matches the required type type_func func = &(_auto_store_on_cellrenderer_text_edited_string<ColumnType>); ^ detected during: instantiation of "void Gtk::TreeView_Private::_connect_auto_store_editable_signa l_handler(Gtk::TreeView *, Gtk::CellRenderer *, const Gtk::TreeModelColumn<ColumnType> &) [with ColumnType=Glib::ustring]" at line 2088 instantiation of "int Gtk::TreeView::append_column_editable(const Glib::ustring &, const Gtk::TreeModelColumn<ColumnType> &) [with ColumnType=Glib::ustring]" at line 64 of "listviewtext.cc"
the irix 6.5 C++ compiler also chokes on the same line of code: cc-1428 CC: ERROR File = ../../gtk/gtkmm/treeview.h, Line = 2385 More than one instance of overloaded function "_auto_store_on_cellrenderer_text_edited_string" matches the required type. type_func func = &(_auto_store_on_cellrenderer_text_edited_string<ColumnType>); ^ A template was detected during header processing. instantiation of "void Gtk::TreeView_Private::_connect_auto_store_editable_signa l_handler(Gtk::TreeView *, Gtk::CellRenderer *, const Gtk::TreeModelColumn<Glib::ustring> &)" at line 2088 instantiation of "int Gtk::TreeView::append_column_editable(const Glib::ustring &, const Gtk::TreeModelColumn<Glib::ustring> &)" at line 64 of "listviewtext.cc"
I can't guess what the problem might be. It's really hard to fix these things without access to the compiler.
(In reply to comment #2) > I can't guess what the problem might be. It's really hard to fix these things > without access to the compiler. Agreed. I can probably arrange to have a temporary account set up for you on the relevant machines, or if you'd prefer I'll happily run any test code, or apply any patches you suggest and report back with the results.
Created attachment 192789 [details] [review] workaround - be explicit about which possibly overloaded function use. We encountered this problem again when looking at gtkmm-2.22.0, this patch appears to solve the compiler error.
I pushed this in this commit: http://git.gnome.org/browse/gtkmm/commit/?id=c5dd88f3d06173caeb34ede5e6a691aa5ae16219