GNOME Bugzilla – Bug 100034
gnomemm-1.2.3 doesn't build (procbar.cc)
Last modified: 2004-12-22 21:47:04 UTC
----- $ ./configure creating cache ./config.cache checking for a BSD compatible install... /usr/bin/install -c checking whether build environment is sane... yes checking whether make sets ${MAKE}... yes checking for working aclocal... found checking for working autoconf... found checking for working automake... found checking for working autoheader... found checking for working makeinfo... found checking whether to enable maintainer-specific portions of Makefiles... no checking for gcc... gcc checking whether the C compiler (gcc ) works... yes checking whether the C compiler (gcc ) is a cross-compiler... no checking whether we are using GNU C... yes checking whether gcc accepts -g... yes checking how to run the C preprocessor... gcc -E checking for flex... flex checking for flex... (cached) flex checking for yywrap in -lfl... yes checking lex output file root... lex.yy checking whether yytext is a pointer... yes checking for bison... bison -y checking whether make sets ${MAKE}... (cached) yes checking host system type... i686-pc-linux-gnu checking for Cygwin environment... no checking for mingw32 environment... no checking build system type... i686-pc-linux-gnu checking for ld used by GCC... /usr/bin/ld checking if the linker (/usr/bin/ld) is GNU ld... yes checking for /usr/bin/ld option to reload object files... -r checking for BSD-compatible nm... /usr/bin/nm -B checking whether ln -s works... yes checking how to recognise dependant libraries... pass_all checking for object suffix... o checking for executable suffix... no checking command to parse /usr/bin/nm -B output... ok checking for dlfcn.h... yes checking for ranlib... ranlib checking for strip... strip checking for objdir... .libs checking for gcc option to produce PIC... -fPIC checking if gcc PIC flag -fPIC works... yes checking if gcc static flag -static works... yes checking if gcc supports -c -o file.o... yes checking if gcc supports -c -o file.lo... yes checking if gcc supports -fno-rtti -fno-exceptions... yes checking whether the linker (/usr/bin/ld) supports shared libraries... yes checking how to hardcode library paths into programs... immediate checking whether stripping libraries is possible... yes checking dynamic linker characteristics... GNU/Linux ld.so checking if libtool supports shared libraries... yes checking whether -lc should be explicitly linked in... no creating libtool checking for gm4... no checking for m4... m4 checking whether m4 is GNU m4... yes checking for perl5... no checking for perl... perl checking whether make is GNU Make... yes checking for gtk-config... /usr/bin/gtk-config checking for GTK - version >= 1.2.7... yes checking for gnome-config... /usr/bin/gnome-config checking if /usr/bin/gnome-config works... yes checking for orbit-config... /usr/bin/orbit-config checking for orbit-idl... /usr/bin/orbit-idl checking for working ORBit environment... yes checking for gnorba libraries... yes checking if html documentation and manual pages are generated... no checking for c++... c++ checking whether the C++ compiler (c++ ) works... yes checking whether the C++ compiler (c++ ) is a cross-compiler... no checking whether we are using GNU C++... yes checking whether c++ accepts -g... yes checking what warning flags to pass to the C++ compiler... -Wall -Wno-unused checking what language compliance flags to pass to the C++ compiler... checking for sigc-config... /usr/bin/sigc-config checking for libsigc++ - version >= 1.0.3... 1.0.3 checking if libsigc++ sane... yes checking for gtkmm-config... /usr/local/bin/gtkmm-config checking for GTK-- - version >= 1.2.5... yes updating cache ./config.cache creating ./config.status creating Makefile creating gnome--.spec creating src/gnomemmConf.sh creating src/Makefile creating src/build_sources/Makefile creating src/gnome--/Makefile creating src/gnome--/private/Makefile creating examples/Makefile creating examples/examples.conf creating docgen/Makefile creating docs/Makefile creating docs/gnome/Makefile creating scripts/Makefile creating config.h $ make [...] /bin/sh ../../libtool --mode=compile c++ -DHAVE_CONFIG_H -I. -I. -I../.. -DG_LOG_DOMAIN=\"Gnome--\" -I. -I./.. -I.. -I../../src -I../../src -I../../src/gtk-- -I../../gdk-- -I/usr/local/lib/gtkmm/include -I/usr/local/include -I/usr/include/gtk-1.2 -I/usr/include/glib-1.2 -I/usr/lib/glib/include -I/usr/X11R6/include -I/usr/lib/sigc++/include `gnome-config gnomeui --cflags` -I/usr/include/gnome-1.0 -DNEED_GNOMESUPPORT_H -I/usr/lib/gnome-libs/include -I/usr/include/gtk-1.2 -I/usr/include/glib-1.2 -I/usr/lib/glib/include -I/usr/X11R6/include -g -O2 -Wall -Wno-unused -c procbar.cc c++ -DHAVE_CONFIG_H -I. -I. -I../.. -DG_LOG_DOMAIN=\"Gnome--\" -I. -I./.. -I.. -I../../src -I../../src -I../../src/gtk-- -I../../gdk-- -I/usr/local/lib/gtkmm/include -I/usr/local/include -I/usr/include/gtk-1.2 -I/usr/include/glib-1.2 -I/usr/lib/glib/include -I/usr/X11R6/include -I/usr/lib/sigc++/include -I/usr/include/gnome-1.0 -DNEED_GNOMESUPPORT_H -I/usr/lib/gnome-libs/include -I/usr/include/gtk-1.2 -I/usr/include/glib-1.2 -I/usr/lib/glib/include -I/usr/X11R6/include -I/usr/include/gnome-1.0 -DNEED_GNOMESUPPORT_H -I/usr/lib/gnome-libs/include -I/usr/include/gtk-1.2 -I/usr/include/glib-1.2 -I/usr/lib/glib/include -I/usr/X11R6/include -g -O2 -Wall -Wno-unused -c procbar.cc -fPIC -DPIC -o procbar.lo procbar.cc: In method `Gnome::ProcBar::ProcBar (const Gtk::Label &, const vector<Gdk_Color *, allocator<Gdk_Color *> > &, gint (*) ())': procbar.cc:26: cannot convert `gint (*) (void *)' to `gint (*) ()' for argument `5' to `gnome_proc_bar_construct (GnomeProcBar *, GtkWidget *, int, GdkColor *, gint (*) ())' make[4]: *** [procbar.lo] Error 1 make[4]: Leaving directory `/mnt/home/redhat/agt/src/orig/gnomemm-1.2.3/src/gnome--' make[3]: *** [all-recursive] Error 1 make[3]: Leaving directory `/mnt/home/redhat/agt/src/orig/gnomemm-1.2.3/src/gnome--' make[2]: *** [all-recursive] Error 1 make[2]: Leaving directory `/mnt/home/redhat/agt/src/orig/gnomemm-1.2.3/src' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/mnt/home/redhat/agt/src/orig/gnomemm-1.2.3' make: *** [all-recursive-am] Error 2 ----- Please ask me for more information if necessary.
$ rpm -q -a | grep gnome-libs gnome-libs-devel-1.4.1.2.90-14 gnome-libs-1.4.1.2.90-14 $ cat /usr/include/gnome-1.0/libgnomeui/gnome-procbar.h [...] void gnome_proc_bar_construct (GnomeProcBar *pb, GtkWidget *label, gint n, GdkColor *colors, gint (*cb)()); [...] $ grep type_correctcallback src/procbar.gen_h | head -1 typedef gint (* type_correctcallback)(gpointer);
The following patch seems enough to build gnomemm-1.2.3 then gabber-0.8.7, at least with gcc-2.96 (aka Redhat's gcc): ********** diff -ur gnomemm-1.2.3.orig/src/procbar.gen_h gnomemm-1.2.3/src/procbar.gen_h --- gnomemm-1.2.3.orig/src/procbar.gen_h Tue Jul 16 14:11:55 2002 +++ gnomemm-1.2.3/src/procbar.gen_h Sun Dec 1 13:21:46 2002 @@ -82,7 +82,7 @@ //The callback signature is wrong but we shouldn't change it in a stable API, //though I think that gnome-libs did. - typedef gint (* type_correctcallback)(gpointer); + typedef gint (* type_correctcallback)(); gnome_proc_bar_construct(gtkobj(), GTK_WIDGET(const_cast<GtkLabel*>(label.gtkobj())), colors.size(), **********
Please upgrade your gnome-libs or downgrade your gnomemm: http://bugzilla.gnome.org/show_bug.cgi?id=87877
For the record, gnome-libs broke the gnome_procbar_construct API in gnome-libs 1.4.1.6.