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