GNOME Bugzilla – Bug 140127
gcc 3.4.0 (prerelease): compilation error in gtk-demo
Last modified: 2004-12-22 21:47:04 UTC
During the run of "make" for gtkmm I get: /home/mirco/all_new/include/glibmm-2.4/glibmm/containerhandle_shared.h: In static member function `static Glib::RefPtr<T_CppObject> Glib::Container_Helpers::TypeTraits<Glib::RefPtr<T_CppObject> >::to_cpp_type(typename T::BaseObjectType*) [with T = Gdk::Display]': /home/mirco/all_new/include/glibmm-2.4/glibmm/slisthandle.h:229: instantiated from `typename Glib::Container_Helpers::SListHandleIterator<Tr>::value_type Glib::Container_Helpers::SListHandleIterator<Tr>::operator*() const [with Tr = Glib::Container_Helpers::TypeTraits<Glib::RefPtr<Gdk::Display> >]' /home/mirco/gcc-3.4.0/lib/gcc/i686-pc-linux-gnu/3.4.0/../../../../include/c++/3.4.0/bits/stl_list.h:1132: instantiated from `void __gnu_norm::list<_Tp, _Alloc>::_M_insert_dispatch(__gnu_norm::_List_iterator<_Tp>, _InputIterator, _InputIterator, __false_type) [with _InputIterator = Glib::Container_Helpers::SListHandleIterator<Glib::Container_Helpers::TypeTraits<Glib::RefPtr<Gdk::Display> > >, _Tp = Glib::RefPtr<Gdk::Display>, _Alloc = std::allocator<Glib::RefPtr<Gdk::Display> >]' /home/mirco/gcc-3.4.0/lib/gcc/i686-pc-linux-gnu/3.4.0/../../../../include/c++/3.4.0/bits/stl_list.h:845: instantiated from `void __gnu_norm::list<_Tp, _Alloc>::insert(__gnu_norm::_List_iterator<_Tp>, _InputIterator, _InputIterator) [with _InputIterator = Glib::Container_Helpers::SListHandleIterator<Glib::Container_Helpers::TypeTraits<Glib::RefPtr<Gdk::Display> > >, _Tp = Glib::RefPtr<Gdk::Display>, _Alloc = std::allocator<Glib::RefPtr<Gdk::Display> >]' /home/mirco/gcc-3.4.0/lib/gcc/i686-pc-linux-gnu/3.4.0/../../../../include/c++/3.4.0/bits/stl_list.h:524: instantiated from `__gnu_norm::list<_Tp, _Alloc>::list(_InputIterator, _InputIterator, const typename __gnu_norm::_List_base<_Tp, _Alloc>::allocator_type&) [with _InputIterator = Glib::Container_Helpers::SListHandleIterator<Glib::Container_Helpers::TypeTraits<Glib::RefPtr<Gdk::Display> > >, _Tp = Glib::RefPtr<Gdk::Display>, _Alloc = std::allocator<Glib::RefPtr<Gdk::Display> >]' /home/mirco/all_new/include/glibmm-2.4/glibmm/slisthandle.h:351: instantiated from `Glib::SListHandle<T, Tr>::operator __gnu_norm::list<U, std::allocator<_Tp1> >() const [with U = Glib::RefPtr<Gdk::Display>, T = Glib::RefPtr<Gdk::Display>, Tr = Glib::Container_Helpers::TypeTraits<Glib::RefPtr<Gdk::Display> >]' example_change_display.cc:219: instantiated from here /home/mirco/all_new/include/glibmm-2.4/glibmm/containerhandle_shared.h:205: error: cannot convert `GdkDisplay*' to `GObject*' for argument `1' to `Glib::RefPtr<Glib::Object> Glib::wrap(GObject*, bool)' make: *** [example_change_display.o] Error 1 while "make" tries to build the gtk-demo binary. If I skip the demos directory of the gtkmm directory structure "make" and "make install" finish successfully. Furthermore all the stuff in the examples directoy built and run just fine. For building everything I'm using gcc 3.4.0 (20040322 prerelease) and these official (stable) library versions: atk-1.6.0 glib-2.4.0 glibmm-2.4.0 gtk+-2.4.0 gtkmm-2.4.0 pango-1.4.0 I hope this information will suffice.
This is fixed in glibmm in cvs. Thanks.