reduced link interface: some link breakage possible
neundorf at kde.org
Tue Dec 16 20:54:11 GMT 2008
On Monday 15 December 2008, Albert Astals Cid wrote:
> A Dilluns 15 Desembre 2008, Alexander Neundorf va escriure:
> > Hi,
> > I just committed a patch which enables the reduced link interface for
> > shared libraries unconditionally for all libs created using
> > KDE4_ADD_LIBRARY().
> > So if you suddenly get some undefined symbols when linking, this may very
> > well be the reason.
> > What to do then ?
> > 1.) Don't panic !
> > 2.) You are probably using symbols from some library which you don't
> > link to directly, but which was dragged in via one of the other libraries
> > you link to, and these "dragged in" libraries have now been mostly
> > removed. In this case, add these missing libraries explicitely to the
> > TARGET_LINK_LIBRARIES() command.
> > (because: less dependencies for packages, faster startup, some advantages
> > in keeping binary compatiblity).
> > 3.) If that doesn't help, ask on kde-core-devel or kde-buildsystem.
> > I know it's late in the release cycle, but it wasn't possible earlier,
> > and we can't wait any longer with this, so we have to go through this
> > now.
> Just a questions about this.
> Is that reduced link interface a default cmake thing or something we have
> created in KDE?
It has been added to cmake I think at least partly because we (KDE) wanted to
> If the latter i want to express my concern into not using the default cmake
> commands but KDE custom ones as that makes the people that really known the
> system decrease.
You can be sure that I do my best to stay as close to plain cmake as possible
(some people who sent patches for helper macros can confirm).
Here in this case there is nothing KDE specific involved.
I have to put up a page somewhere (I guess techbase), which documents the
changes in the buildsystem with CMake 2.6.2 compared to 2.4.5 (i.e. KDE 4.0
and 4.1). Everything which was working with 4.0 and 4.1 should still work, if
not it's a bug and will be fixed.
More information about the kde-core-devel