GNOME Bugzilla – Bug 732764
The latest rhythmbox needs atleast libglib 2.34
Last modified: 2014-07-06 07:01:44 UTC
The configure.ac file in rhythmbox root dir is as follows: GTK_REQS=3.6.0 GLIB_REQS=2.32.0 PKG_CHECK_MODULES(RHYTHMBOX, \ glib-2.0 >= $GLIB_REQS \ gio-2.0 >= $GLIB_REQS \ gio-unix-2.0 >= $GLIB_REQS \ ... ... json-glib-1.0) However, the latest rhythmbox doesn't compile on 'debian wheezy', even after a local install of GTK 3.6.0 ( which required a minimum of Glib 2.33.1 ). This is because, the function "g_mount_get_symbolic_icon" in file sources/rb-device-source.c as shown below: 361: icon = g_mount_get_symbolic_icon (mount); ... ... 365: icon = g_volume_get_symbolic_icon (volume); is available only since version Glib 2.34, as stated in the following link: https://developer.gnome.org/gio/2.33/GMount.html#g-mount-get-symbolic-icon Hence, compilation fails due to declaration errors ( -Wall -Werror ).
The exact error encountered during 'make' is as follows: rb-device-source.c: In function 'rb_device_source_set_display_details': rb-device-source.c:361:3: error: implicit declaration of function 'g_mount_get_symbolic_icon' [-Werror=implicit-function-declaration] rb-device-source.c:361:3: error: nested extern declaration of 'g_mount_get_symbolic_icon' [-Werror=nested-externs] rb-device-source.c:361:8: error: assignment makes pointer from integer without a cast [-Werror] rb-device-source.c:365:3: error: implicit declaration of function 'g_volume_get_symbolic_icon' [-Werror=implicit-function-declaration] rb-device-source.c:365:3: error: nested extern declaration of 'g_volume_get_symbolic_icon' [-Werror=nested-externs] rb-device-source.c:365:8: error: assignment makes pointer from integer without a cast [-Werror] cc1: all warnings being treated as errors
vrishab@debian:~/Packages/source/gnome/glib$ ls -l total 136824 drwxr-xr-x 13 vrishab vrishab 4096 Jul 4 02:55 glib-2.33.1 -rw-r--r-- 1 vrishab vrishab 68700160 Jul 4 02:50 glib-2.33.1.tar drwxr-xr-x 13 vrishab vrishab 4096 Jul 5 17:55 glib-2.34.0 -rw-r--r-- 1 vrishab vrishab 71249920 Jul 5 17:52 glib-2.34.0.tara vrishab@debian:~/Packages/source/gnome/glib$ grep "g_volume_get_symbolic_icon" -Rl . ./glib-2.34.0/gio/gio.symbols ./glib-2.34.0/gio/gvolume.h ./glib-2.34.0/gio/gvolume.c ./glib-2.34.0/docs/reference/gio/gio-sections.txt ./glib-2.34.0/docs/reference/gio/html/api-index-full.html ./glib-2.34.0/docs/reference/gio/html/api-index-2-34.html ./glib-2.34.0/docs/reference/gio/html/gio.devhelp2 ./glib-2.34.0/docs/reference/gio/html/GVolume.html ./glib-2.34.0.tar The above command shows that "g_volume_get_symbolic_icon" is found only in 2.34.x and not in 2.33.x ( or any version below that )
fixed in commit c83d56e
Thanks !!