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