[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: possible freetype transition; improved library handling needed for all C/C++ packages



On Thu, Nov 24, 2005 at 02:43:14PM +0100, Peter Eisentraut wrote:
> Steve Langasek wrote:
> > * Use Debian's libtool.
> 
> kmldonkey links with the following libraries: -lkdeui -lkio.  As shipped,
> libtool expands that to every library under the sun.  The new libtool
> indeed reduces this to /usr/lib/libkdeui.so /usr/lib/libkio.so and a few
> system libraries/objects, which is then greeted by ld with hundreds of
> error messages of the kind:
> 
> /usr/share/qt3/include/qstring.h:847: undefined reference to `QString::shared_null'
> /usr/share/qt3/include/qstring.h:848: undefined reference to `QStringData::deleteSelf()'

kmldonkey seems to have alot (26?) includes of qstring.h, so to
me this doesn't looks like a bug in libtool but rather in your
package not linking to all the libraries it should be.  It just
used to work, which is not an excuse for not having a build
dependency on it or linking to it.

> Both libkdeui and libkio reference (as shown by ldd) libqt-mt (which
> I suppose is where these symbols should be).

So you probably should add a build dependency to libqt3-mt-dev,
and add a -lqt-mt

> The error messages in the rekall build are of the sort
> 
> .../rekall-2.2.3-2/db/mysql/kb_mysql.cpp:595: undefined reference to `i18n(char const*)'

Which is defined in /usr/include/kde/klocale.h, so that would be
part of kdelibs, and seems you need to link to -lkdecore for
that, which you don't seem to link atleast for that.

(Also see libs/common/kb_classes.h:408)

> Have other maintainers of Qt/KDE-related packages
> perhaps experienced this?

I'm not sure many people have actually tried to get things right,
since it "just works".  I hope more people actually look at their
packages, and maybe ask for help if they can't figure it out
themself.


Kurt



Reply to: