GNOME Bugzilla – Bug 682404
FTBS grilo plugin in latest git r7d5be17
Last modified: 2012-08-22 22:21:42 UTC
Having installed grilo 0.2 necessary to built the grilo plugin (to enable shared media including uPnP support), the grilo-rb plugin fails to compile. Making all in grilo make[3]: Entering directory `/srv/git/rhythmbox/plugins/grilo' CC libgrilo_la-rb-grilo-plugin.lo rb-grilo-plugin.c: In function 'grilo_source_added_cb': rb-grilo-plugin.c:112:2: error: implicit declaration of function 'GRL_IS_MEDIA_SOURCE' [-Werror=implicit-function-declaration] rb-grilo-plugin.c:112:2: error: nested extern declaration of 'GRL_IS_MEDIA_SOURCE' [-Werror=nested-externs] rb-grilo-plugin.c:114:3: error: implicit declaration of function 'grl_media_plugin_get_name' [-Werror=implicit-function-declaration] rb-grilo-plugin.c:114:3: error: nested extern declaration of 'grl_media_plugin_get_name' [-Werror=nested-externs] rb-grilo-plugin.c:114:3: error: format '%s' expects argument of type 'char *', but argument 6 has type 'int' [-Werror=format] rb-grilo-plugin.c:120:3: error: implicit declaration of function 'grl_media_plugin_get_id' [-Werror=implicit-function-declaration] rb-grilo-plugin.c:120:3: error: nested extern declaration of 'grl_media_plugin_get_id' [-Werror=nested-externs] rb-grilo-plugin.c:120:3: error: passing argument 2 of 'g_str_equal' makes pointer from integer without a cast [-Werror] In file included from /usr/include/glib-2.0/glib.h:52:0, from rb-grilo-plugin.c:30: /usr/include/glib-2.0/glib/ghash.h:124:10: note: expected 'gconstpointer' but argument is of type 'int' rb-grilo-plugin.c:121:4: error: format '%s' expects argument of type 'char *', but argument 6 has type 'int' [-Werror=format] rb-grilo-plugin.c:127:2: error: format '%s' expects argument of type 'char *', but argument 6 has type 'int' [-Werror=format] rb-grilo-plugin.c:129:2: error: implicit declaration of function 'GRL_MEDIA_SOURCE' [-Werror=implicit-function-declaration] rb-grilo-plugin.c:129:2: error: nested extern declaration of 'GRL_MEDIA_SOURCE' [-Werror=nested-externs] rb-grilo-plugin.c:129:2: error: passing argument 2 of 'rb_grilo_source_new' makes pointer from integer without a cast [-Werror] In file included from rb-grilo-plugin.c:42:0: rb-grilo-source.h:74:13: note: expected 'struct GrlSource *' but argument is of type 'int' rb-grilo-plugin.c: In function 'impl_activate': rb-grilo-plugin.c:182:2: error: implicit declaration of function 'grl_plugin_registry_get_default' [-Werror=implicit-function-declaration] rb-grilo-plugin.c:182:2: error: nested extern declaration of 'grl_plugin_registry_get_default' [-Werror=nested-externs] rb-grilo-plugin.c:182:15: error: assignment makes pointer from integer without a cast [-Werror] rb-grilo-plugin.c:184:2: error: implicit declaration of function 'grl_plugin_registry_load_all' [-Werror=implicit-function-declaration] rb-grilo-plugin.c:184:2: error: nested extern declaration of 'grl_plugin_registry_load_all' [-Werror=nested-externs] cc1: all warnings being treated as errors make[3]: *** [libgrilo_la-rb-grilo-plugin.lo] Error 1 make[3]: Leaving directory `/srv/git/rhythmbox/plugins/grilo' make[2]: *** [all-recursive] Error 1 make[2]: Leaving directory `/srv/git/rhythmbox/plugins' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/srv/git/rhythmbox' make: *** [all] Error 2 Removing the -Werror from CFLAGS in the grilo plugin Makefile results in compilation but reveals an awful lot of warnings that need to be resolved to clean up the code. CC libgrilo_la-rb-grilo-plugin.lo rb-grilo-plugin.c: In function 'grilo_source_added_cb': rb-grilo-plugin.c:112:2: warning: implicit declaration of function 'GRL_IS_MEDIA_SOURCE' [-Wimplicit-function-declaration] rb-grilo-plugin.c:112:2: warning: nested extern declaration of 'GRL_IS_MEDIA_SOURCE' [-Wnested-externs] rb-grilo-plugin.c:114:3: warning: implicit declaration of function 'grl_media_plugin_get_name' [-Wimplicit-function-declaration] rb-grilo-plugin.c:114:3: warning: nested extern declaration of 'grl_media_plugin_get_name' [-Wnested-externs] rb-grilo-plugin.c:114:3: warning: format '%s' expects argument of type 'char *', but argument 6 has type 'int' [-Wformat] rb-grilo-plugin.c:120:3: warning: implicit declaration of function 'grl_media_plugin_get_id' [-Wimplicit-function-declaration] rb-grilo-plugin.c:120:3: warning: nested extern declaration of 'grl_media_plugin_get_id' [-Wnested-externs] rb-grilo-plugin.c:120:3: warning: passing argument 2 of 'g_str_equal' makes pointer from integer without a cast [enabled by default] In file included from /usr/include/glib-2.0/glib.h:52:0, from rb-grilo-plugin.c:30: /usr/include/glib-2.0/glib/ghash.h:124:10: note: expected 'gconstpointer' but argument is of type 'int' rb-grilo-plugin.c:121:4: warning: format '%s' expects argument of type 'char *', but argument 6 has type 'int' [-Wformat] rb-grilo-plugin.c:127:2: warning: format '%s' expects argument of type 'char *', but argument 6 has type 'int' [-Wformat] rb-grilo-plugin.c:129:2: warning: implicit declaration of function 'GRL_MEDIA_SOURCE' [-Wimplicit-function-declaration] rb-grilo-plugin.c:129:2: warning: nested extern declaration of 'GRL_MEDIA_SOURCE' [-Wnested-externs] rb-grilo-plugin.c:129:2: warning: passing argument 2 of 'rb_grilo_source_new' makes pointer from integer without a cast [enabled by default] In file included from rb-grilo-plugin.c:42:0: rb-grilo-source.h:74:13: note: expected 'struct GrlSource *' but argument is of type 'int' rb-grilo-plugin.c: In function 'impl_activate': rb-grilo-plugin.c:182:2: warning: implicit declaration of function 'grl_plugin_registry_get_default' [-Wimplicit-function-declaration] rb-grilo-plugin.c:182:2: warning: nested extern declaration of 'grl_plugin_registry_get_default' [-Wnested-externs] rb-grilo-plugin.c:182:15: warning: assignment makes pointer from integer without a cast [enabled by default] rb-grilo-plugin.c:184:2: warning: implicit declaration of function 'grl_plugin_registry_load_all' [-Wimplicit-function-declaration] rb-grilo-plugin.c:184:2: warning: nested extern declaration of 'grl_plugin_registry_load_all' [-Wnested-externs] CC libgrilo_la-rb-grilo-source.lo rb-grilo-source.c: In function 'rb_grilo_source_constructed': rb-grilo-source.c:289:2: warning: implicit declaration of function 'grl_metadata_source_supported_keys' [-Wimplicit-function-declaration] rb-grilo-source.c:289:2: warning: nested extern declaration of 'grl_metadata_source_supported_keys' [-Wnested-externs] rb-grilo-source.c:289:2: warning: implicit declaration of function 'GRL_METADATA_SOURCE' [-Wimplicit-function-declaration] rb-grilo-source.c:289:2: warning: nested extern declaration of 'GRL_METADATA_SOURCE' [-Wnested-externs] rb-grilo-source.c:289:14: warning: assignment makes pointer from integer without a cast [enabled by default] rb-grilo-source.c:368:2: warning: implicit declaration of function 'grl_metadata_source_supported_operations' [-Wimplicit-function-declaration] rb-grilo-source.c:368:2: warning: nested extern declaration of 'grl_metadata_source_supported_operations' [-Wnested-externs] rb-grilo-source.c: In function 'rb_grilo_source_new': rb-grilo-source.c:417:2: warning: implicit declaration of function 'grl_media_plugin_get_id' [-Wimplicit-function-declaration] rb-grilo-source.c:417:2: warning: nested extern declaration of 'grl_media_plugin_get_id' [-Wnested-externs] rb-grilo-source.c:417:2: warning: implicit declaration of function 'GRL_MEDIA_PLUGIN' [-Wimplicit-function-declaration] rb-grilo-source.c:417:2: warning: nested extern declaration of 'GRL_MEDIA_PLUGIN' [-Wnested-externs] rb-grilo-source.c:417:2: warning: format '%s' expects argument of type 'char *', but argument 2 has type 'int' [-Wformat] rb-grilo-source.c:434:11: warning: implicit declaration of function 'grl_metadata_source_get_name' [-Wimplicit-function-declaration] rb-grilo-source.c:434:11: warning: nested extern declaration of 'grl_metadata_source_get_name' [-Wnested-externs] rb-grilo-source.c: In function 'grilo_browse_cb': rb-grilo-source.c:654:3: warning: format '%s' expects argument of type 'char *', but argument 6 has type 'int' [-Wformat] rb-grilo-source.c: In function 'browse_next': rb-grilo-source.c:744:2: warning: format '%s' expects argument of type 'char *', but argument 6 has type 'int' [-Wformat] rb-grilo-source.c:748:2: warning: implicit declaration of function 'grl_media_source_browse' [-Wimplicit-function-declaration] rb-grilo-source.c:748:2: warning: nested extern declaration of 'grl_media_source_browse' [-Wnested-externs] rb-grilo-source.c: In function 'start_browse': rb-grilo-source.c:761:2: warning: format '%s' expects argument of type 'char *', but argument 6 has type 'int' [-Wformat] rb-grilo-source.c: In function 'grilo_media_browse_cb': rb-grilo-source.c:795:3: warning: format '%s' expects argument of type 'char *', but argument 6 has type 'int' [-Wformat] rb-grilo-source.c: In function 'media_browse_next': rb-grilo-source.c:861:2: warning: format '%s' expects argument of type 'char *', but argument 6 has type 'int' [-Wformat] rb-grilo-source.c:878:4: warning: implicit declaration of function 'grl_media_source_search' [-Wimplicit-function-declaration] rb-grilo-source.c:878:4: warning: nested extern declaration of 'grl_media_source_search' [-Wnested-externs] rb-grilo-source.c: In function 'start_media_browse': rb-grilo-source.c:892:2: warning: format '%s' expects argument of type 'char *', but argument 6 has type 'int' [-Wformat] CCLD libgrilo.la /usr/bin/intltool-merge ../../po grilo.plugin.in grilo.plugin -d -u -c ../../po/.intltool-merge-cache Found cached translation database Merging translations into grilo.plugin.
Have you rerun ./configure or autogen.sh? If you prevously built the code using grilo 0.1 in this tree it's probably still using the grilo 0.1 headers.
Today to make things unambigously clear ... rm -fr rhythmbox/ git clone git://git.gnome.org/rhythmbox /srv/git/rhythmbox Cloning into '/srv/git/rhythmbox'... remote: Counting objects: 58790, done. remote: Compressing objects: 100% (14903/14903), done. remote: Total 58790 (delta 47760), reused 53714 (delta 43658) Receiving objects: 100% (58790/58790), 31.66 MiB | 119 KiB/s, done. Resolving deltas: 100% (47760/47760), done. cd rhythmbox git reflog 214fe12 HEAD@{0}: clone: from git://git.gnome.org/rhythmbox In file configure.ac AC_MSG_CHECKING(for more warnings, including -Werror) if test "$GCC" = "yes" -a "$set_more_warnings" != "no"; then AC_MSG_RESULT(yes) WARN_CFLAGS="\ -Wcomment -Wformat -Wnonnull -Wimplicit-int -Wimplicit \ -Wmain -Wmissing-braces -Wparentheses -Wsequence-point \ -Wreturn-type -Wswitch -Wtrigraphs -Wunused-function \ -Wunused-label -Wunused-value \ -Wchar-subscripts -Wmissing-declarations -Wmissing-prototypes \ -Wnested-externs -Wpointer-arith \ -Wcast-align -Wformat-security -Wall \ -Werror -Wno-deprecated-declarations -std=gnu89" if echo "$CFLAGS" | grep -q -- '-O' && echo "$CFLAGS" | grep -q -v -- '-O0'; then WARN_CFLAGS="-Wuninitialized $WARN_CFLAGS" fi sh autogen.sh /usr/bin/gnome-autogen.sh checking for autoconf >= 2.53... testing autoconf2.50... not found. testing autoconf... found 2.69 checking for automake >= 1.7... testing automake-1.11... found 1.11.6 checking for libtool >= 1.5... testing libtoolize... found 2.4.2 checking for glib-gettext >= 2.2.0... testing glib-gettextize... found 2.32.3 checking for intltool >= 0.30... testing intltoolize... found 0.50.2 checking for pkg-config >= 0.14.0... testing pkg-config... found 0.26 checking for gtk-doc >= 1.0... testing gtkdocize... found 1.18 checking for gnome-doc-utils >= 0.4.2... testing gnome-doc-prepare... found 0.20.10 checking for gnome-common >= 2.3.0... testing gnome-doc-common... found 3.4.0.1 Checking for required M4 macros... Checking for forbidden M4 macros... **Warning**: I am going to run `configure' with no arguments. If you wish to pass any to it, please specify them on the `autogen.sh' command line. Processing ./configure.ac ... checking for GRILO... yes ... **** If grilo 0.2 was not installed and available, configure would HALT at this **** point because of the rule in configure.ac **** **** PKG_CHECK_MODULES(GRILO, grilo-0.2 >= $GRILO_REQS, have_grilo=yes, have_grilo=no) ... configure: Rhythmbox was configured with the following options: configure: ** Tree database is enabled configure: ** Multimedia keys support is enabled configure: ** MusicBrainz support is enabled configure: ** iPod integration enabled configure: ** MTP integration enabled configure: ** CD burning support enabled configure: ** DAAP (music sharing) support is enabled configure: ** libnotify support is enabled configure: ** WebKit support is enabled configure: ** GUdev support enabled configure: ** Python plugin support enabled configure: Vala plugin support disabled configure: ** gnome-keyring support enabled configure: ** FM radio support enabled configure: ** iTunes detection browser plugin (for podcasts) enabled configure: ** Visualizer plugin enabled configure: End options Now type `make' to compile rhythmbox make V=1 ... libtool: compile: gcc -DHAVE_CONFIG_H -I. -I../.. -DGNOMELOCALEDIR=\"/usr/local/share/locale\" -DG_LOG_DOMAIN=\"Rhythmbox\" -I../.. -I../../lib -I../../rhythmdb -I../../widgets -I../../sources -I../../plugins -I../../shell -I../../metadata -DPIXMAP_DIR=\"/usr/local/share/pixmaps\" -DSHARE_DIR=\"/usr/local/share/rhythmbox\" -DDATADIR=\"/usr/local/share\" -pthread -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/usr/include/gtk-3.0 -I/usr/include/pango-1.0 -I/usr/include/gio-unix-2.0/ -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/freetype2 -I/usr/include/pixman-1 -I/usr/include/libpng12 -I/usr/include/libsoup-2.4 -I/usr/include/libxml2 -I/usr/include/libsoup-gnome-2.4 -I/usr/include/json-glib-1.0 -I/usr/include/gobject-introspection-1.0 -I/usr/include/libpeas-1.0 -pthread -I/usr/local/include/gstreamer-0.10 -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/usr/include/libxml2 -Wuninitialized -Wcomment -Wformat -Wnonnull -Wimplicit-int -Wimplicit -Wmain -Wmissing-braces -Wparentheses -Wsequence-point -Wreturn-type -Wswitch -Wtrigraphs -Wunused-function -Wunused-label -Wunused-value -Wchar-subscripts -Wmissing-declarations -Wmissing-prototypes -Wnested-externs -Wpointer-arith -Wcast-align -Wformat-security -Wall -Werror -Wno-deprecated-declarations -std=gnu89 -pthread -I/usr/local/include/grilo-0.2 -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/usr/include/libxml2 -D_BSD_SOURCE -g -O2 -MT libgrilo_la-rb-grilo-plugin.lo -MD -MP -MF .deps/libgrilo_la-rb-grilo-plugin.Tpo -c rb-grilo-plugin.c -fPIC -DPIC -o .libs/libgrilo_la-rb-grilo-plugin.o rb-grilo-plugin.c: In function 'grilo_source_added_cb': rb-grilo-plugin.c:112:2: error: implicit declaration of function 'GRL_IS_MEDIA_SOURCE' [-Werror=implicit-function-declaration] rb-grilo-plugin.c:112:2: error: nested extern declaration of 'GRL_IS_MEDIA_SOURCE' [-Werror=nested-externs] rb-grilo-plugin.c:114:3: error: implicit declaration of function 'grl_media_plugin_get_name' [-Werror=implicit-function-declaration] rb-grilo-plugin.c:114:3: error: nested extern declaration of 'grl_media_plugin_get_name' [-Werror=nested-externs] rb-grilo-plugin.c:114:3: error: format '%s' expects argument of type 'char *', but argument 6 has type 'int' [-Werror=format] rb-grilo-plugin.c:120:3: error: implicit declaration of function 'grl_media_plugin_get_id' [-Werror=implicit-function-declaration] rb-grilo-plugin.c:120:3: error: nested extern declaration of 'grl_media_plugin_get_id' [-Werror=nested-externs] rb-grilo-plugin.c:120:3: error: passing argument 2 of 'g_str_equal' makes pointer from integer without a cast [-Werror] In file included from /usr/include/glib-2.0/glib.h:52:0, from rb-grilo-plugin.c:30: /usr/include/glib-2.0/glib/ghash.h:124:10: note: expected 'gconstpointer' but argument is of type 'int' rb-grilo-plugin.c:121:4: error: format '%s' expects argument of type 'char *', but argument 6 has type 'int' [-Werror=format] rb-grilo-plugin.c:127:2: error: format '%s' expects argument of type 'char *', but argument 6 has type 'int' [-Werror=format] rb-grilo-plugin.c:129:2: error: implicit declaration of function 'GRL_MEDIA_SOURCE' [-Werror=implicit-function-declaration] rb-grilo-plugin.c:129:2: error: nested extern declaration of 'GRL_MEDIA_SOURCE' [-Werror=nested-externs] rb-grilo-plugin.c:129:2: error: passing argument 2 of 'rb_grilo_source_new' makes pointer from integer without a cast [-Werror] In file included from rb-grilo-plugin.c:42:0: rb-grilo-source.h:74:13: note: expected 'struct GrlSource *' but argument is of type 'int' rb-grilo-plugin.c: In function 'impl_activate': rb-grilo-plugin.c:182:2: error: implicit declaration of function 'grl_plugin_registry_get_default' [-Werror=implicit-function-declaration] rb-grilo-plugin.c:182:2: error: nested extern declaration of 'grl_plugin_registry_get_default' [-Werror=nested-externs] rb-grilo-plugin.c:182:15: error: assignment makes pointer from integer without a cast [-Werror] rb-grilo-plugin.c:184:2: error: implicit declaration of function 'grl_plugin_registry_load_all' [-Werror=implicit-function-declaration] rb-grilo-plugin.c:184:2: error: nested extern declaration of 'grl_plugin_registry_load_all' [-Werror=nested-externs] cc1: all warnings being treated as errors make[3]: *** [libgrilo_la-rb-grilo-plugin.lo] Error 1 make[3]: Leaving directory `/srv/git/rhythmbox/plugins/grilo' make[2]: *** [all-recursive] Error 1 make[2]: Leaving directory `/srv/git/rhythmbox/plugins' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/srv/git/rhythmbox' make: *** [all] Error 2 So as you can see in the above, the version of grilo that is causing the warning is clearly coming from -I/usr/local/include/grilo-0.2 which is the only include directory pertaining to grilo in the include list. However these warnings for grilo are ultimately FATAL, because even though the grilo plugin does compile successfully if the warnings are suppressed, the grilo plugin contains unresolved symbols for grl_plugin_get_name and GRL_METADATA_SOURCE as reported in BUG #682484 at https://bugzilla.gnome.org/show_bug.cgi?id=682484 and the grilo rb-plugin will not load, and standard shared media functionality including upnp is absent from the running rhythmbox. The failure to compile because of these warnings is in fact a sign of a deeper malaise in the grilo rb-plugin code.
*** Bug 682484 has been marked as a duplicate of this bug. ***