Bug#339666: kdepim fails to build
Package: kmail
Version: 4:3.4.2-2
Severity: important
Justification: fails to build from source
Hi,
The kdepim suite fails to build from source for me.
I'm using g++-4.0, version 4.0.2-4, and building with:
fakeroot apt-get -b source kmail
There are two failures. First is when compiling
kdepim-3.4.2/build-tree/kdepim-3.4.2/kitchensync/libksync/syncentry.cpp:
g++
[blah]
-c /home/zak/kmail/kdepim-3.4.2/build-tree/kdepim-3.4.2/kitchensync/libksync/syncentry.cpp -fPIC -DPIC -o .libs/syncentry.o
/home/zak/kmail/kdepim-3.4.2/build-tree/kdepim-3.4.2/kitchensync/libksync/merger.h:
In member function 'M* KSync::Merger::otherMerger(KSync::SyncEntry*)':
/home/zak/kmail/kdepim-3.4.2/build-tree/kdepim-3.4.2/kitchensync/libksync/merger.h:106:
error: invalid use of undefined type 'struct KSync::Syncee'
/home/zak/kmail/kdepim-3.4.2/build-tree/kdepim-3.4.2/kitchensync/libksync/syncentry.h:35:
error: forward declaration of 'struct KSync::Syncee'
/home/zak/kmail/kdepim-3.4.2/build-tree/kdepim-3.4.2/kitchensync/libksync/merger.h:108:
error: invalid use of undefined type 'struct KSync::Syncee'
/home/zak/kmail/kdepim-3.4.2/build-tree/kdepim-3.4.2/kitchensync/libksync/syncentry.h:35:
error: forward declaration of 'struct KSync::Syncee'
make[5]: *** [syncentry.lo] Error 1
make[5]: Leaving directory
[blah]
Build command ‘cd kdepim-3.4.2 && dpkg-buildpackage -b -uc’ failed.
E: Child process failed
Once you fix that (see below), you get a second compile error:
g++
[blah]
-c /home/zak/kdepim-3.4.2/build-tree/kdepim-3.4.2/kresources/egroupware/kabc_resourcexmlrpc.cpp -fPIC -DPIC -o .libs/kabc_resourcexmlrpc.o
/usr/include/kde/kresources/manager.h:59: warning: 'class
KRES::ManagerNotifier' has virtual functions but non-virtual destructor
/home/zak/kdepim-3.4.2/build-tree/kdepim-3.4.2/kresources/egroupware/xmlrpciface.h:
In member function 'void KXMLRPC::Server::call(const QString&, const QValueList<T>&, QObject*, const char*, QObject*, const char*, const QVariant&)':
/home/zak/kdepim-3.4.2/build-tree/kdepim-3.4.2/kresources/egroupware/xmlrpciface.h:162:
error: no matching function for call to 'KXMLRPC::Server::call(const QString&, QValueList<QVariant>&, const QVariant&)'
/home/zak/kdepim-3.4.2/build-tree/kdepim-3.4.2/kresources/egroupware/xmlrpciface.h:101:
note: candidates are: void KXMLRPC::Server::call(const QString&, const QValueList<QVariant>&, QObject*, const char*, QObject*, const char*, const QVariant&)
[blah, more candidates]
make[4]: *** [kabc_resourcexmlrpc.lo] Error 1
make[4]: Leaving directory
[...]
Build command ‘cd kdepim-3.4.2 && dpkg-buildpackage -b -uc’ failed.
E: Child process failed
>From there on, it works. To be honest, I'm a little confused as to how
this ever built successfully for anyone, because the source is simply
wrong in both cases. I found a patch that made it work for me:
http://websvn.kde.org/branches/KDE/3.5/kdepim/kitchensync/libksync/merger.h?rev=472471&r1=438982&r2=472471
I put this (and my fix for KDE bug 106716, which is why I was doing this
build in the first place) into debian/patches:
zak@ymir:~$ ls kmail/kdepim-3.4.2/debian/patches/9*.patch
kmail/kdepim-3.4.2/debian/patches/90-kitchensync-missing-header.patch
kmail/kdepim-3.4.2/debian/patches/91-kresources-bad-rpc-call.patch
kmail/kdepim-3.4.2/debian/patches/92-kmail-crash-on-maildir-precommand-fail.patch
zak@ymir:~$ cat kmail/kdepim-3.4.2/debian/patches/9*.patch
--- kitchensync/libksync/merger.h.orig 2005-11-17 19:55:36.000000000 +0000
+++ kitchensync/libksync/merger.h 2005-11-17 19:55:46.000000000 +0000
@@ -23,6 +23,7 @@
#define KITCHENSYNC_KSYNC_MERGER_H
#include "syncentry.h"
+#include "syncee.h"
#include <qbitarray.h>
#include <qstring.h>
*** kresources/egroupware/xmlrpciface.h 2005/07/26 18:54:59 438982
--- kresources/egroupware/xmlrpciface.h 2005/10/20 21:00:59 472471
***************
*** 159,165 ****
for ( ; it != end; ++it )
args << QVariant( *it );
! return call( method, args, id );
}
#endif
--- 159,165 ----
for ( ; it != end; ++it )
args << QVariant( *it );
! return call( method, args, faultObj, faultSlot, msgObj, messageSlot, id );
}
#endif
--- kmail/kmacctmaildir.cpp.orig 2005-11-17 20:10:27.000000000 +0000
+++ kmail/kmacctmaildir.cpp 2005-11-17 20:11:03.000000000 +0000
@@ -119,6 +119,8 @@
{
kdDebug(5006) << "cannot run precommand " << precommand() << endl;
checkDone( hasNewMail, CheckError );
+ BroadcastStatus::instance()->setStatusMsg( i18n( "Transmission failed." ));
+ return;
}
mailFolder.setAutoCreateIndex(FALSE);
And it built just fine (and doesn't crash when the precommand fails on a Maildir, woohoo).
PS: Choice of kmail as the binary package for this bug was just because
I was trying to build kmail at the time...but then seeing as all kdepim
stuff goes to the same team, I guess it doesn't matter.
-- System Information:
Debian Release: testing/unstable
APT prefers testing
APT policy: (990, 'testing'), (500, 'unstable')
Architecture: i386 (i686)
Shell: /bin/sh linked to /bin/bash
Kernel: Linux 2.6.14-zak
Locale: LANG=en_GB.UTF-8, LC_CTYPE=en_GB.UTF-8 (charmap=UTF-8)
Versions of packages kmail depends on:
ii kdebase-kio-plugins 4:3.4.2-4 core I/O slaves for KDE
ii kdelibs4c2 4:3.4.2-4 core libraries for all KDE applica
ii kdepim-kio-plugins 4:3.4.2-2 KDE pim I/O Slaves
ii libart-2.0-2 2.3.17-1 Library of functions for 2D graphi
ii libaudio2 1.7-3 The Network Audio System (NAS). (s
ii libc6 2.3.5-6 GNU C Library: Shared libraries an
ii libfontconfig1 2.3.2-1 generic font configuration library
ii libfreetype6 2.1.7-2.4 FreeType 2 font engine, shared lib
ii libgcc1 1:4.0.2-4 GCC support library
ii libice6 6.8.2.dfsg.1-7 Inter-Client Exchange library
ii libidn11 0.5.18-1 GNU libidn library, implementation
ii libjpeg62 6b-10 The Independent JPEG Group's JPEG
ii libkcal2b 4:3.4.2-2 KDE calendaring library
ii libkdepim1a 4:3.4.2-2 KDE PIM library
ii libkleopatra0a 4:3.4.2-2 KDE GnuPG interface libraries
ii libkmime2 4:3.4.2-2 KDE MIME interface library
ii libkpimidentities1 4:3.4.2-2 KDE PIM user identity information
ii libksieve0 4:3.4.2-2 KDE mail/news message filtering li
ii libmimelib1c2 4:3.4.2-2 KDE mime library
ii libpng12-0 1.2.8rel-5 PNG library - runtime
ii libqt3-mt 3:3.3.5-1 Qt GUI Library (Threaded runtime v
ii libsm6 6.8.2.dfsg.1-7 X Window System Session Management
ii libstdc++6 4.0.2-4 The GNU Standard C++ Library v3
ii libx11-6 6.8.2.dfsg.1-7 X Window System protocol client li
ii libxcursor1 1.1.3-1 X cursor management library
ii libxext6 6.8.2.dfsg.1-7 X Window System miscellaneous exte
ii libxft2 2.1.7-1 FreeType-based font drawing librar
ii libxi6 6.8.2.dfsg.1-7 X Window System Input extension li
ii libxinerama1 6.8.2.dfsg.1-7 X Window System multi-head display
ii libxrandr2 6.8.2.dfsg.1-7 X Window System Resize, Rotate and
ii libxrender1 1:0.9.0-2 X Rendering Extension client libra
ii libxt6 6.8.2.dfsg.1-7 X Toolkit Intrinsics
ii perl 5.8.7-7 Larry Wall's Practical Extraction
ii xlibs 6.8.2.dfsg.1-7 X Window System client libraries m
ii zlib1g 1:1.2.3-4 compression library - runtime
Versions of packages kmail recommends:
ii kdebase-kio-plugins 4:3.4.2-4 core I/O slaves for KDE
ii kdepim-kio-plugins 4:3.4.2-2 KDE pim I/O Slaves
ii procmail 3.22-11 Versatile e-mail processor
-- no debconf information
Reply to: