Hi,

On Mon, Dec 19, 2005 at 02:24:10AM +0100, Michael Biebl wrote:
> Aurelien Jarno wrote:
> > Package: kdesvn
> > Version: 0.6.2-1
> > Severity: important
> > 
> > Hello,
> > 
> > 
> > The current version of kdesvn fails to build on
> > GNU/kFreeBSD, because of outdated libtool.
> > 
> > The version of libtool in kdesvn is too old to correctly 
> > support Debian GNU/k*BSD.
> > 
> > Here is how to update the libtool in your package:
> >   cp -f /usr/share/libtool/libtool.m4 admin/libtool.m4.in
> >   cp -f /usr/share/libtool/ltmain.sh admin/ltmain.sh
> >   cp -f /usr/share/misc/config.guess admin/config.guess
> >   cp -f /usr/share/misc/config.sub admin/config.sub
> > 
> >   (alternatively you can update the admin/ directory from the latest
> >    KDE SVN [1] instead).
> >   
> >   make -f admin/Makefile.common
> > 
> > Note that using libtool.m4 from the Debian package is prefered, because
> > it prunes the package dependencies, as explain by Steve Langasek [2].
> > 
> 
> Well, using
> 
> cp -f /usr/share/libtool/libtool.m4 admin/libtool.m4.in
> cp -f /usr/share/libtool/ltmain.sh admin/ltmain.sh
> cp -f /usr/share/misc/config.guess admin/config.guess
> cp -f /usr/share/misc/config.sub admin/config.sub
> make -f admin/Makefile.common
> 
> causes the build to fail with many undefined references failures. It
> seems that -lqt-mt is completely removed from the link flags. Not so
> good for a KDE application :-/
> Do you know if this is known bug of the Debian libtool?
> 
Well, this is not a bug, but rather a feature of the Debian libtool.
Sorry I haven't seen the problem because this feature is not yet enabled
on kfreebsd-i386 (there is a bug report against libtool to enable it),
but I am able to reproduce your problems on Debian GNU/Linux.

In short this feature only links the binary with the libraries given in
argument, whereas the official libtool also links the binary with all
libraries need by the libraries given in argument. In your case,
libkparts is pulling libqt-mt, libkdecore and libkdeui.

This is to reduce the number of dependencies of a package. Theoretically
it should be possible to write a KDE apps that does not need to be
linked to libqt-mt at build time, but that will use libqt-mt at runtime.
See the latest mail of Steve Langasek on debian-devel-announce for more 
information.

Also for kdesvn, please find attached a patch to fix the problem you
found. It explicitly link the binary with libqt-mt, kdecore and kdeui.
When build try to compare the dependencies before and after the
relibtoolization, you will see that there are far less dependencies, and
that will help the future transitions.

Thanks,
Aurelien

-- 
  .''`.  Aurelien Jarno             | GPG: 1024D/F1BCDB73
 : :' :  Debian developer           | Electrical Engineer
 `. `'   [EMAIL PROTECTED]         | [EMAIL PROTECTED]
   `-    people.debian.org/~aurel32 | www.aurel32.net
--- kdesvn-0.6.2.orig/src/Makefile.am
+++ kdesvn-0.6.2/src/Makefile.am
@@ -56,7 +56,7 @@
 libkdesvnpart_la_LDFLAGS = -module $(KDE_PLUGIN) $(all_libraries)
 libkdesvnpart_la_LIBADD = $(top_builddir)/src/svnfrontend/libsvnfrontend.la \
        $(top_builddir)/src/svncpp/libsvnwrapper.la 
$(top_builddir)/src/helpers/libhelper.la $(SVN_LIBS) $(NEON_LIBS) \
-       $(APR_LIBS) $(LIB_KPARTS) $(LIB_KFILE)
+       $(APR_LIBS) $(LIB_QT) $(LIB_KDECORE) $(LIB_KDEUI) $(LIB_KPARTS) 
$(LIB_KFILE)
 
 # this is where the desktop file will go
 partdesktopdir   = $(kde_servicesdir)

Reply via email to