After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 682404 - FTBS grilo plugin in latest git r7d5be17
FTBS grilo plugin in latest git r7d5be17
Status: RESOLVED FIXED
Product: rhythmbox
Classification: Other
Component: Plugins (other)
unspecified
Other Linux
: Normal normal
: ---
Assigned To: RhythmBox Maintainers
RhythmBox Maintainers
: 682484 (view as bug list)
Depends on:
Blocks:
 
 
Reported: 2012-08-21 22:59 UTC by Greg Miller
Modified: 2012-08-22 22:21 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Greg Miller 2012-08-21 22:59:43 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.
Comment 1 Jonathan Matthew 2012-08-21 23:02:17 UTC
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.
Comment 2 Greg Miller 2012-08-22 17:17:00 UTC
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.
Comment 3 Jonathan Matthew 2012-08-22 21:01:35 UTC
*** Bug 682484 has been marked as a duplicate of this bug. ***