Linking of teamwork/boost
apaku at gmx.de
Thu Apr 10 07:30:14 UTC 2008
On 10.04.08 08:29:47, Vladimir Prus wrote:
> On Thursday 10 April 2008 02:28:58 Aleix wrote:
> > On 4/10/08, David Nolden <zwabel at googlemail.com> wrote:
> > > 2008/4/8, Andreas Pakulat <apaku at gmx.de>:
> > > > this is mostly for David: Do you recall wether doing a static link of
> > > > the boost libs in debug mode improves the size of the plugin/shared
> > > > libs? I've just found out how to force cmake to use the static versions,
> > > > so this might be a way to reduce linking/loading time a lot...
> > >
> > > I think the sizes are the same, except that now with dynamic linking,
> > > the whole size is split into 5 sharable libraries.
> > >
> > > There is another problem however, I think that's a result of the
> > > shared-lib thing:
> > > Teamwork doesn't work any more. KDevelop crashes whenever a message is
> > > received in some dynamic_cast. Maybe we can have a look into that at
> > > the hackathon. :)
> > >
> > > What do you mean by "force cmake to use the static version". You mean
> > > that he problem that forced us to make the libraries dynamic(something
> > > with amd64) is solved?
> > I don't really know the problem deeply, but recently I had the same
> > problem (when trying to link a static library to a plasmoid,
> > libanalitza to the kalgebra plasmoid actually) and it was not possible
> > on amd64.
> I might be talking nonsense, but on x64, any code that eventually ends in a
> shared library, must be compiled with -fPIC. Which sometimes mean that static
> libraries must be compiled with -fPIC. Now clue if that's the reason and why
> tell cmake about this.
Right, that allows to link this on amd64. However linking a static lib
into a shared library (as opposed to linking a static lib into an
executable) is not possible on all Platforms KDE supports and thus is
not allowed in KDE code. If you need details I suggest to talk to
Thiago, he knows quite a bit of the details.
Reply hazy, ask again later.
More information about the KDevelop-devel