LinuxQuestions.org
Download your favorite Linux distribution at LQ ISO.
Go Back   LinuxQuestions.org > Forums > Linux Forums > Linux - Distributions > Mandriva
User Name
Password
Mandriva This Forum is for the discussion of Mandriva (Mandrake) Linux.

Notices

Reply
 
LinkBack Search this Thread
Old 12-16-2008, 10:20 AM   #1
prasadbrg
LQ Newbie
 
Registered: Nov 2003
Posts: 27

Rep: Reputation: 15
Question glibmm2.4 2.18.0 bug during Ingen compilation - no patch fix for Mandriva?


Hello everyone,
I've been trying to install Ingen from svn on Mandriva 2009.0, according to the instructions given in the install documentation page . After installing all the dependencies listed, I did the following, as per the instructions:
Code:
svn co http://svn.drobilla.net/lad/trunk drobilla-lad
cd drobilla-lad
./waf --help
./waf configure --enable-whatever-options-you-want
./waf
The build stopped with these errors on step 191 (of 283):
Code:
...
[190/283] cxx: ingen/src/gui/Configuration.cpp -> build/default/ingen/src/gui/Configuration_1.o 
[191/283] cxx: ingen/src/gui/ConnectWindow.cpp -> build/default/ingen/src/gui/ConnectWindow_1.o
In file included from /usr/include/giomm-2.4/giomm/file.h:39,
                 from /usr/include/giomm-2.4/giomm/mount.h:29,
                 from /usr/include/giomm-2.4/giomm/drive.h:28,
                 from /usr/include/giomm-2.4/giomm.h:30,
                 from /usr/include/gtkmm-2.4/gtkmm.h:30,
                 from /usr/include/libgnomecanvasmm-2.6/libgnomecanvasmm.h:29,
                 from ../ingen/src/gui/App.hpp:26,
                 from ../ingen/src/gui/ConnectWindow.cpp:43:
/usr/include/giomm-2.4/giomm/error.h:72: error: expected identifier before numeric constant
/usr/include/giomm-2.4/giomm/error.h:72: error: expected `}' before numeric constant
/usr/include/giomm-2.4/giomm/error.h:72: error: expected unqualified-id before numeric constant
/usr/include/giomm-2.4/giomm/error.h:78: error: expected `)' before ‘error_code’
/usr/include/giomm-2.4/giomm/error.h:79: error: expected `)' before ‘*’ token
/usr/include/giomm-2.4/giomm/error.h:80: error: ‘Code’ does not name a type
/usr/include/giomm-2.4/giomm/error.h:83: error: expected unqualified-id before ‘private’
/usr/include/giomm-2.4/giomm/error.h:92: error: ‘friend’ used outside of class
/usr/include/giomm-2.4/giomm/error.h:97: error: expected declaration before ‘}’token
Build failed
 -> task failed (err #1):
        {task: cxx ConnectWindow.cpp -> ConnectWindow_1.o}
Upon googling, I found that identical errors have been reported here, as a bug in the glibmm2.4 2.18.0 package, which I have installed on my system:
Code:
[root@localhost drobilla-lad]# rpm -qa |grep glibmm
libglibmm2.4_1-2.18.0-1mdv2009.0
libglibmm2.4-devel-2.18.0-1mdv2009.0
The above bug report lists patch fixes for Fedora and Debian. I did not find any fix for Mandriva.
I would be grateful if anybody could show me how to work around this bug for Mandriva.
Thanks in advance!
Cheers,
Guru
 
Old 12-16-2008, 01:43 PM   #2
knudfl
LQ 5k Club
 
Registered: Jan 2008
Location: Copenhagen, DK
Distribution: pclos2013.07, Slack14.1 DebWheezy, +50+ other Linux OS, for test only.
Posts: 13,196

Rep: Reputation: 2373Reputation: 2373Reputation: 2373Reputation: 2373Reputation: 2373Reputation: 2373Reputation: 2373Reputation: 2373Reputation: 2373Reputation: 2373Reputation: 2373
The patch for glibmm-2.18.0
http://cvs.fedoraproject.org/viewvc/...-2_18_0-3_fc10

To use it : recompile glibmm-2.18.0 with the patch.

( Uninstall the current 2 packages, if you can. )

Preferable find the libglibmm src.rpm from Mandriva,
and build with # 'rpmbuild', include the patch in
the spec file.
....
 
Old 12-17-2008, 05:28 AM   #3
prasadbrg
LQ Newbie
 
Registered: Nov 2003
Posts: 27

Original Poster
Rep: Reputation: 15
Thanks, knudfl, for the prompt response.
I'm in the process of compiling the glibmm2.4 package with the patch. I've never done this before, so I spent some time reading up about it from here. Quite a learning experience! Hope it works in the end.
By the way, I didn't find a libglibmm package, the only one in the /SRPMS/Main/release/ folder was the package glibmm2.4-2.18.0-1mdv2009.0.src.rpm. I'm applying the patch to this package..
I will let you know how it goes....
Thanks once again,
Guru

P.S. Confirmed - it does generate the libraries, -devel libraries and static-devel libraries as separate rpms. This is from a pre-patch test build. Will apply the patch now.
 
Old 12-17-2008, 09:00 AM   #4
prasadbrg
LQ Newbie
 
Registered: Nov 2003
Posts: 27

Original Poster
Rep: Reputation: 15
Unhappy Patch did not work

I applied the patch exactly as described in this page. I bzipped the patch and placed it in the SOURCES directory. I then edited the spec file, to include the following two lines at the appropriate places:
Code:
Patch0:		glibmm-2.18.0-gio-header-fix.patch.bz2
....
%patch -p1
then did rpmbuild -ba --clean glibmm2.4*.spec. There were no errors reported in the build, and 5 rpms were created in the RPMS/i586 directory.
Then, as root, I removed the two packages (libglibmm2.4 and libglibmm2.4-devel) using urpme, and then did
Code:
urpmi rpm/RPMS/i586/libglibmm2.4_1-2.18.0-1mdv2009.0.i586.rpm rpm/RPMS/i586/libglibmm2.4-devel-2.18.0-1mdv2009.0.i586.rpm
I confirmed that the rebuilt rpms were indeed installed, by doing
Code:
rpm -q --changelog libglibmm2.4_1
rpm -q --changelog libglibmm2.4-devel
and for both packages, the first entry was exactly what I had put in.

However, while compiling Ingen as described above, I got the same errors at the same place again!

I have no clue as to how to proceed further. Any help would be appreciated!

Cheers,
Guru


P.S. Here is the spec file, upto the changelog:
Code:
%define version 2.18.0
%define release %mkrel 1

%define pkgname	glibmm
%define api_version 2.4
%define major 1
%define libname_orig %mklibname %{pkgname} %{api_version}
%define libname %mklibname %{pkgname} %{api_version} %{major}
%define libnamedev %mklibname -d %{pkgname} %{api_version}
%define libnamestaticdev %mklibname -s -d %{pkgname} %{api_version}

Name:		%{pkgname}%{api_version}
Summary:	C++ interface for glib
Version:	%{version}
Release:	%{release}
License:	LGPLv2+
Group:		System/Libraries
URL:		http://gtkmm.sourceforge.net/
BuildRoot:	%{_tmppath}/%{name}-%{version}-%{release}-buildroot
Source:		http://ftp.gnome.org/pub/GNOME/sources/%{pkgname}/%{pkgname}-%{version}.tar.bz2
Patch0:		glibmm-2.18.0-gio-header-fix.patch.bz2
BuildRequires:	glib2-devel >= 2.17.4
BuildRequires:	libsigc++2.0-devel
BuildRequires:	doxygen libxslt-proc

%description
Gtkmm provides a C++ interface to the GTK+ GUI library.
%{pkgname} originally belongs to gtkmm, but is now separated,
for use with non-GUI software written in C++.


%package	-n %{libname}
Summary:	C++ interface for glib
Group:		System/Libraries
Provides:	%{libname_orig} = %{version}-%{release}
Provides:	%{pkgname}%{api_version} = %{version}-%{release}

%description	-n %{libname}
Gtkmm provides a C++ interface to the GTK+ GUI library.
%{pkgname} originally belongs to gtkmm, but is now separated,
for use with non-GUI software written in C++.

This package contains the library needed to run programs dynamically
linked with %{pkgname}.


%package	-n %{libnamedev}
Summary:	Headers and development files of %{pkgname}
Group:		Development/GNOME and GTK+
Requires:	%{libname} = %{version}
Provides:	%{pkgname}%{api_version}-devel = %{version}-%{release}
Provides:	%{libname_orig}-devel = %{version}-%{release}
Obsoletes: %mklibname -d %{pkgname} %{api_version} 1

%description	-n %{libnamedev}
This package contains the headers and development files that are needed,
when trying to develop or compile applications which need %{pkgname}.


%package	-n %{libnamestaticdev}
Summary:	Static libraries of %{pkgname}
Group:		Development/GNOME and GTK+
Requires:	%{libnamedev} = %{version}
Provides:	%{libname_orig}-static-devel = %{version}-%{release}
Obsoletes: %mklibname -s -d %{pkgname} %{api_version} 1

%description	-n %{libnamestaticdev}
Gtkmm provides a C++ interface to the GTK+ GUI library.
%{pkgname} originally belongs to gtkmm, but is now separated,
for use with non-GUI software written in C++.

This package contains the static libraries of %{pkgname}.


%package	doc
Summary:	Glibmm documentation
Group:		Books/Other

%description	doc
Gtkmm provides a C++ interface to the GTK+ GUI library.
%{pkgname} originally belongs to gtkmm, but is now separated,
for use with non-GUI software written in C++.

This package contains all API documentation for %{pkgname}.

%prep
%setup -q -n %{pkgname}-%{version}
%patch -p1

%build
# mdk does not have libtool 1.5 yet
%define __libtoolize /bin/true
%configure2_5x --enable-static --enable-shared
%make

# make check does nothing

%install
rm -rf %{buildroot}
%makeinstall_std
find %buildroot -name \*.la|xargs chmod 644

%if %mdkversion < 200900
%post -n %{libname} -p /sbin/ldconfig
%endif
%if %mdkversion < 200900
%postun -n %{libname} -p /sbin/ldconfig
%endif

%clean
rm -rf %{buildroot}

%files -n %{libname}
%defattr(-, root, root)
%doc COPYING NEWS README
%{_libdir}/libglibmm*%{api_version}.so.%{major}*
%{_libdir}/libgiomm*%{api_version}.so.%{major}*

%files -n %{libnamedev}
%defattr(-, root, root)
%doc AUTHORS ChangeLog
%{_includedir}/*
%attr(644,root,root) %{_libdir}/*.la
%{_libdir}/*.so
%{_libdir}/giomm-%api_version
%{_libdir}/glibmm-%{api_version}
%{_libdir}/pkgconfig/*.pc
%{_datadir}/aclocal/*.m4
%_datadir/devhelp/books/glibmm-2.4

%files -n %{libnamestaticdev}
%defattr(-, root, root)
%{_libdir}/*.a

%files doc
%defattr(-, root, root)
%doc %{_datadir}/doc/glibmm-%{api_version}




%changelog
 
Old 12-19-2008, 02:10 PM   #5
knudfl
LQ 5k Club
 
Registered: Jan 2008
Location: Copenhagen, DK
Distribution: pclos2013.07, Slack14.1 DebWheezy, +50+ other Linux OS, for test only.
Posts: 13,196

Rep: Reputation: 2373Reputation: 2373Reputation: 2373Reputation: 2373Reputation: 2373Reputation: 2373Reputation: 2373Reputation: 2373Reputation: 2373Reputation: 2373Reputation: 2373
I'd guess, your packages did not install, when having
the same release number. ??
( # 'rpm -Uvh <package.rpm> will return some text.)
Suggest : change 1 to 2 (or your choice) in line 2,
the spec file, I think it's that number, and use
'rpmbuild' again.

But to be sure I just did it in a different way :
Using 'glibmm2.4_2.18.1.orig.tar.gz' ( and the patch
[glibmm2.4_2.18.1-1.diff.gz] ) from
http://packages.debian.org/experimen...libmm-2.4-1c2a

and also patched with 'glibmm-2.18.0-gio-header-fix.patch'
from Fedora.

Then configured with the same options as the spec file and
installed with make install .. and 'drobilla-lad' (Ingen)
was build with no errors.
....

Last edited by knudfl; 12-19-2008 at 02:13 PM.
 
Old 12-19-2008, 10:36 PM   #6
prasadbrg
LQ Newbie
 
Registered: Nov 2003
Posts: 27

Original Poster
Rep: Reputation: 15
Thanks, knudfl, for the reply!
You've put in a lot of effort to find a solution for this issue... that's very kind of you. I am exploring both the solutions, and will get back to you with the results.
Cheers,
Guru
 
Old 12-19-2008, 11:29 PM   #7
Drakeo
Senior Member
 
Registered: Jan 2008
Location: Urbana IL
Distribution: Slackware, Slacko,
Posts: 2,364
Blog Entries: 3

Rep: Reputation: 169Reputation: 169
well I do this always happens to me when I want to compile some cool gnome enviroment programs glibmm is only part of the picture. I gave up and just installed a gnome environment and got away from that. mandriva has the gnome environment do you use it.and if you do down load the devel stuff.
sorry this is not much help but the mandriva dependency stuff is a big pain some times.
I wish you luck.
 
  


Reply


Thread Tools Search this Thread
Search this Thread:

Advanced Search

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off
Trackbacks are Off
Pingbacks are On
Refbacks are Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
can not install antthing due to a bug how do i fix that in mandriva pin07 Linux - Newbie 1 12-21-2007 12:45 PM
how to do the Patch update and bug fix in AS 3.0? sathyguy Linux - Enterprise 3 08-31-2006 06:44 AM
Bug Fix Ctp. Obvious Linux - Newbie 5 08-02-2004 06:58 AM
Bug fix update for 10.0 akihandyman Mandriva 3 07-14-2004 04:13 PM
kernel compilation - bug? NarutoKun Fedora 2 01-22-2004 08:33 AM


All times are GMT -5. The time now is 10:42 PM.

Main Menu
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
identi.ca: @linuxquestions
Facebook: linuxquestions Google+: linuxquestions
Open Source Consulting | Domain Registration