Bug 2359

Summary: Need to have a newer version of GObject-introspection to continue compilation of Rhythmbox.
Product: Mageia Reporter: Kristoffer Grundström <lovaren>
Component: New RPM package requestAssignee: Mageia Bug Squad <bugsquad>
Status: RESOLVED WONTFIX QA Contact:
Severity: normal    
Priority: Normal CC: dmorganec
Version: 1   
Target Milestone: ---   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Source RPM: gobject-introspection CVE:
Status comment:

Description Kristoffer Grundström 2011-08-01 23:28:41 CEST
Description of problem: Need a newer version of GObject-introspection to continue a compilation of Rhythmbox.

This is the whole output from downloading the source-code & trying to compile:

[kristoffer@localhost ~]$ git clone http://git.gnome.org/browse/rhythmbox
Cloning into rhythmbox...
remote: Counting objects: 55930, done.
remote: Compressing objects: 100% (12152/12152), done.
remote: Total 55930 (delta 45508), reused 53681 (delta 43561)
Receiving objects: 100% (55930/55930), 30.17 MiB | 494 KiB/s, done.
Resolving deltas: 100% (45508/45508), done.
[kristoffer@localhost ~]$ cd rhythmbox/
[kristoffer@localhost rhythmbox (master)]$ ls
AUTHORS             COPYING          Makefile.am     rhythmbox.pc.in
autogen.sh*         data/            metadata/       rhythmdb/
backends/           doc/             NEWS            shell/
bindings/           DOCUMENTERS      omf.make        sources/
ChangeLog           HACKING          plugins/        tests/
ChangeLog0.6        help/            po/             THANKS
ChangeLog0.7        INSTALL.quick    podcast/        tools/
ChangeLog0.7.old    INTERNALS        README          widgets/
ChangeLog0.8        lib/             README.daap     xmldocs.make
ChangeLog.old       macros/          remote/
ChangeLog.pre-0.12  MAINTAINERS      rhythmbox.doap
configure.ac        MAINTAINERS.old  rhythmbox.h
[kristoffer@localhost rhythmbox (master)]$ sh autogen.sh
/usr/bin/gnome-autogen.sh
checking for autoconf >= 2.53...
  testing autoconf2.50... not found.
  testing autoconf... found 2.68
checking for automake >= 1.7...
  testing automake-1.11... found 1.11.1
checking for libtool >= 1.4.3...
  testing libtoolize... found 2.4
checking for glib-gettext >= 2.2.0...
  testing glib-gettextize... found 2.28.6
checking for intltool >= 0.25...
  testing intltoolize... found 0.41.1
checking for pkg-config >= 0.14.0...
  testing pkg-config... found 0.25
checking for gtk-doc >= 1.0...
  testing gtkdocize... found 1.17
checking for gnome-doc-utils >= 0.4.2...
  testing gnome-doc-prepare... found 0.20.5
checking for gnome-common >= 2.3.0...
  testing gnome-doc-common... found 2.28.0
Checking for required M4 macros...
Checking for forbidden M4 macros...
Processing ./configure.ac
Running libtoolize...
libtoolize: putting auxiliary files in `.'.
libtoolize: copying file `./ltmain.sh'
libtoolize: putting macros in AC_CONFIG_MACRO_DIR, `macros'.
libtoolize: copying file `macros/libtool.m4'
libtoolize: copying file `macros/ltoptions.m4'
libtoolize: copying file `macros/ltsugar.m4'
libtoolize: copying file `macros/ltversion.m4'
libtoolize: copying file `macros/lt~obsolete.m4'
libtoolize: Consider adding `-I macros' to ACLOCAL_AMFLAGS in Makefile.am.
Running glib-gettextize... Ignore non-fatal messages.
Copying file mkinstalldirs
Copying file po/Makefile.in.in

Please add the files
  codeset.m4 gettext.m4 glibc21.m4 iconv.m4 isc-posix.m4 lcmessage.m4
  progtest.m4
from the /usr/share/aclocal directory to your autoconf macro directory
or directly to your aclocal.m4 file.
You will also need config.guess and config.sub, which you can get from
ftp://ftp.gnu.org/pub/gnu/config/.

Running intltoolize...
Running gtkdocize...
Running gnome-doc-common...
Running gnome-doc-prepare...
You should add the contents of '/usr/share/aclocal/gnome-doc-utils.m4' to 'aclocal.m4'.
Putting files in AC_CONFIG_MACRO_DIR, 'macros'.
Running aclocal-1.11...
configure.ac:384: warning: AC_LANG_CONFTEST: no AC_LANG_SOURCE call detected in body
../../lib/autoconf/lang.m4:194: AC_LANG_CONFTEST is expanded from...
../../lib/autoconf/general.m4:2591: _AC_COMPILE_IFELSE is expanded from...
../../lib/autoconf/general.m4:2607: AC_COMPILE_IFELSE is expanded from...
configure.ac:384: the top level
Running autoconf...
configure.ac:384: warning: AC_LANG_CONFTEST: no AC_LANG_SOURCE call detected in body
../../lib/autoconf/lang.m4:194: AC_LANG_CONFTEST is expanded from...
../../lib/autoconf/general.m4:2591: _AC_COMPILE_IFELSE is expanded from...
../../lib/autoconf/general.m4:2607: AC_COMPILE_IFELSE is expanded from...
configure.ac:384: the top level
Running autoheader...
configure.ac:384: warning: AC_LANG_CONFTEST: no AC_LANG_SOURCE call detected in body
../../lib/autoconf/lang.m4:194: AC_LANG_CONFTEST is expanded from...
../../lib/autoconf/general.m4:2591: _AC_COMPILE_IFELSE is expanded from...
../../lib/autoconf/general.m4:2607: AC_COMPILE_IFELSE is expanded from...
configure.ac:384: the top level
Running automake-1.11...
configure.ac:384: warning: AC_LANG_CONFTEST: no AC_LANG_SOURCE call detected in body
../../lib/autoconf/lang.m4:194: AC_LANG_CONFTEST is expanded from...
../../lib/autoconf/general.m4:2591: _AC_COMPILE_IFELSE is expanded from...
../../lib/autoconf/general.m4:2607: AC_COMPILE_IFELSE is expanded from...
configure.ac:384: the top level
configure.ac:41: installing `./config.guess'
configure.ac:41: installing `./config.sub'
configure.ac:8: installing `./install-sh'
configure.ac:8: installing `./missing'
backends/Makefile.am: installing `./depcomp'
plugins/artdisplay/Makefile.am:5: installing `./py-compile'
remote/dbus/Makefile.am:3: variable `rhythmbox_client_SOURCES' is defined but no program or
remote/dbus/Makefile.am:3: library has `rhythmbox_client' as canonical name (possible typo)
remote/dbus/Makefile.am:4: variable `rhythmbox_client_LDADD' is defined but no program or
remote/dbus/Makefile.am:4: library has `rhythmbox_client' as canonical name (possible typo)
Makefile.am: installing `./INSTALL'
Running ./configure --enable-maintainer-mode --enable-uninstalled-build ...
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /bin/mkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking whether to enable maintainer-specific portions of Makefiles... yes
./configure: line 3416: syntax error near unexpected token `$GOBJECT_INTROSPECTION_REQS'
./configure: line 3416: `GOBJECT_INTROSPECTION_REQUIRE($GOBJECT_INTROSPECTION_REQS)'

Note that gobject-introspection IS installed.

urpmi gobject-introspection gives me: Package gobject-introspection-0.10.7-2.mga1.x86_64 is already installed

Compiling a new gobject-introspection-version fails & shows me this output:

[kristoffer@localhost ~]$ cd gobject-introspection/
[kristoffer@localhost gobject-introspection (master)]$ ls
acinclude.m4       CONTRIBUTORS   examples/                                  m4/                       Makefile-giscanner.am   TODO
AUTHORS            COPYING        gir/                                       MAINTAINERS               Makefile.introspection  tools/
autogen.sh*        COPYING.GPL    girepository/                              Makefile.am               Makefile-tools.am
ChangeLog          COPYING.LGPL   giscanner/                                 Makefile-cmph.am          misc/
ChangeLog.pre-git  COPYING.lib    gobject-introspection-1.0.pc.in            Makefile-examples.am      NEWS
common.mk          COPYING.tools  gobject-introspection-no-export-1.0.pc.in  Makefile-gir.am           README
configure.ac       docs/          HACKING                                    Makefile-girepository.am  tests/
[kristoffer@localhost gobject-introspection (master)]$ sh autogen.sh
checking for autoconf >= 2.53...
  testing autoconf2.50... not found.
  testing autoconf... found 2.68
checking for automake >= 1.9...
  testing automake-1.11... found 1.11.1
checking for libtool >= 1.4.3...
  testing libtoolize... found 2.4
checking for pkg-config >= 0.14.0...
  testing pkg-config... found 0.25
checking for gtk-doc >= 1.10...
  testing gtkdocize... found 1.17
checking for gnome-common >= 2.3.0...
  testing gnome-doc-common... found 2.28.0
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
Running libtoolize...
libtoolize: putting auxiliary files in `.'.
libtoolize: copying file `./ltmain.sh'
libtoolize: putting macros in AC_CONFIG_MACRO_DIR, `m4'.
libtoolize: copying file `m4/libtool.m4'
libtoolize: copying file `m4/ltoptions.m4'
libtoolize: copying file `m4/ltsugar.m4'
libtoolize: copying file `m4/ltversion.m4'
libtoolize: copying file `m4/lt~obsolete.m4'
Running gtkdocize...
Running gnome-doc-common...
Running aclocal-1.11...
Running autoconf...
Running autoheader...
Running automake-1.11...
configure.ac:38: installing `./compile'
configure.ac:23: installing `./config.guess'
configure.ac:23: installing `./config.sub'
configure.ac:13: installing `./install-sh'
configure.ac:13: installing `./missing'
tests/Makefile.am: installing `./depcomp'
configure.ac: installing `./ylwrap'
Makefile-giscanner.am:29: installing `./py-compile'
Makefile.am:20:   `Makefile-giscanner.am' included from here
Running ./configure --enable-maintainer-mode ...
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /bin/mkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking whether to enable maintainer-specific portions of Makefiles... yes
checking build system type... x86_64-unknown-linux-gnu
checking host system type... x86_64-unknown-linux-gnu
checking for Win32... no
checking for gcc... gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables... 
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking for style of include used by make... GNU
checking dependency style of gcc... gcc3
checking whether gcc and cc understand -c and -o together... yes
checking how to print strings... printf
checking for a sed that does not truncate output... /bin/sed
checking for grep that handles long lines and -e... /bin/grep
checking for egrep... /bin/grep -E
checking for fgrep... /bin/grep -F
checking for ld used by gcc... /usr/bin/ld
checking if the linker (/usr/bin/ld) is GNU ld... yes
checking for BSD- or MS-compatible name lister (nm)... /usr/bin/nm -B
checking the name lister (/usr/bin/nm -B) interface... BSD nm
checking whether ln -s works... yes
checking the maximum length of command line arguments... 1572864
checking whether the shell understands some XSI constructs... yes
checking whether the shell understands "+="... yes
checking how to convert x86_64-unknown-linux-gnu file names to x86_64-unknown-linux-gnu format... func_convert_file_noop
checking how to convert x86_64-unknown-linux-gnu file names to toolchain format... func_convert_file_noop
checking for /usr/bin/ld option to reload object files... -r
checking for objdump... objdump
checking how to recognize dependent libraries... pass_all
checking for dlltool... no
checking how to associate runtime and link libraries... printf %s\n
checking for ar... ar
checking for archiver @FILE support... @
checking for strip... strip
checking for ranlib... ranlib
checking command to parse /usr/bin/nm -B output from gcc object... ok
checking for sysroot... no
checking for mt... no
checking if : is a manifest tool... no
checking how to run the C preprocessor... gcc -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking for dlfcn.h... yes
checking for objdir... .libs
checking if gcc supports -fno-rtti -fno-exceptions... no
checking for gcc option to produce PIC... -fPIC -DPIC
checking if gcc PIC flag -fPIC -DPIC works... yes
checking if gcc static flag -static works... no
checking if gcc supports -c -o file.o... yes
checking if gcc supports -c -o file.o... (cached) yes
checking whether the gcc linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yes
checking whether -lc should be explicitly linked in... no
checking dynamic linker characteristics... GNU/Linux ld.so
checking how to hardcode library paths into programs... immediate
checking whether stripping libraries is possible... yes
checking if libtool supports shared libraries... yes
checking whether to build shared libraries... yes
checking whether to build static libraries... yes
checking for pkg-config... /usr/bin/pkg-config
checking pkg-config is at least version 0.9.0... yes
checking for flex... flex
checking lex output file root... lex.yy
checking lex library... -lfl
checking whether yytext is a pointer... yes
checking for bison... bison -y
checking for dlopen in -ldl... yes
checking for the suffix of shared libraries... .so
checking for GLIB... no
configure: error: Package requirements (glib-2.0 >= 2.29.7) were not met:

Requested 'glib-2.0 >= 2.29.7' but version of GLib is 2.28.6

Consider adjusting the PKG_CONFIG_PATH environment variable if you
installed software in a non-standard prefix.

Alternatively, you may set the environment variables GLIB_CFLAGS
and GLIB_LIBS to avoid the need to call pkg-config.
See the pkg-config man page for more details.

I have installed all needed glib-related packages including the devel-ones.

Steps to Reproduce:
1. Open Terminal-window.
2. Make sure that gobject-introspection is installed. As root type urpmi gobject-introspection & press Enter & wait until it's finished installing. 
3. As normal user type git clone http://git.gnome.org/browse/rhythmbox & press Enter & wait until it's finished.
4. Type cd rhythmbox/ & press Enter.
5. Type sh autogen.sh & wait til you get the same error as me at the bottom.
Comment 1 John Balcaen 2011-08-02 01:10:13 CEST
you're probably not up to date because the glib version used in cauldron  is 2.29.14 while you seems to have 2.28.6 installed
cf 
urpmq --sources lib64glib2.0-devel                                                                                                                       
ftp://10.0.0.7/Public/pub/linux/Mageia/distrib/cauldron/x86_64/media/core/release/lib64glib2.0-devel-2.29.14-1.mga2.x86_64.rpm 
And we do have glib 2.29.8 (so higher than the require here since 3 Jul @ least cf

* Sun Jul  3 2011 dmorgan <dmorgan> 2.29.8-1.mga2                                                                                                                                       
+ Revision: 117631                                                                                                                                                                      
- Fix file list                                                                                                                                                                         
- Fix buildrequires                                                                                                                                                                     
- New version 2.29.8

Status: NEW => RESOLVED
CC: (none) => balcaen.john
Resolution: (none) => INVALID

Comment 2 Kristoffer Grundström 2011-08-02 01:17:20 CEST
Sorry, I chose the wrong dist-version. This is meant against 1.

Version: Cauldron => 1

Comment 3 Kristoffer Grundström 2011-08-02 01:17:39 CEST
So therefor reopening.

Status: RESOLVED => REOPENED
Resolution: INVALID => (none)

Comment 4 D Morgan 2011-08-02 01:20:59 CEST
we won't do this update on mageia 1.
and we won't add unstable versions in mageia 1 just because you try to compile a trunk version of some softwares. If you do so, or you compile your own version of gobject-introspection or you use cauldron.

Status: REOPENED => RESOLVED
CC: (none) => dmorganec
Resolution: (none) => WONTFIX

Comment 5 Kristoffer Grundström 2011-08-02 01:27:50 CEST
OK, then tell me how I can compile & build Rhythmbox using git-code because you won't do it?
Comment 6 John Balcaen 2011-08-02 01:44:38 CEST
As said before you need to backport yourself all the necessary packages (glib2.0 & more) if you want to run them on mageia 1
The easy way is simply to switch to Mageia cauldron where rhythmbox is already git based...
Comment 7 Kristoffer Grundström 2011-08-02 01:50:58 CEST
Well, I tried installing Cauldron using a VM, but it froze/stopped working as I tried to log into Gnome.
Comment 8 Kristoffer Grundström 2011-08-14 23:51:23 CEST
Experiencing the same issue in Mageia 1 for i586 in kernel 2.6.38.8-desktop-4.mga
John Balcaen 2011-08-15 01:16:33 CEST

CC: balcaen.john => (none)