reduced link interface: some link breakage possible

Boudewijn Rempt boud at valdyas.org
Tue Dec 16 14:16:59 CET 2008


On Mon, 15 Dec 2008, Alexander Neundorf wrote:

> 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.
> 
> Hope that not too much breaks,

Could this be the reason for the following error in KOffice:

Linking CXX executable TestStorage.app/Contents/MacOS/TestStorage
Undefined symbols:
  "QApplication::QApplication(int&, char**, bool, int)", referenced from:
      _main in TestStorage.o
  "QApplication::~QApplication()", referenced from:
      _main in TestStorage.o
      _main in TestStorage.o
ld: symbol(s) not found
collect2: ld returned 1 exit status
make[2]: *** [libs/store/tests/TestStorage.app/Contents/MacOS/TestStorage] Error 1
make[1]: *** [libs/store/tests/CMakeFiles/TestStorage.dir/all] Error 2
make: *** [all] Error 2

(OSX, gcc 4.3, everything trunk from this morning)

Boudewijn



More information about the Kde-buildsystem mailing list