[Digikam-devel] build failure with current 5.x git

Eric Valette eric.valette at free.fr
Sun Nov 15 11:36:01 GMT 2015


On 15/11/2015 05:57, Gilles Caulier wrote:

>     Automatic moc for target facesenginedemo
>     [ 90%] Built target facesenginedemo_automoc
>     [ 90%] Linking CXX executable facesenginedemo
>     /usr/bin/ld: ../../app/libdigikamcore.so.5.0.0: référence au symbole
>     non défini «_ZNK16KLocalizedString4subsERK7QStringi5QChar»
>     //usr/lib/x86_64-linux-gnu/libKF5I18n.so.5: error adding symbols:
>     DSO missing from command line
>     collect2: error: ld returned 1 exit status
>     core/tests/facesengine/CMakeFiles/facesenginedemo.dir/build.make:271: recipe
>     for target 'core/tests/facesengine/facesenginedemo' failed
>     make[2]: *** [core/tests/facesengine/facesenginedemo] Error 1
>     make[2]: Target
>     'core/tests/facesengine/CMakeFiles/facesenginedemo.dir/build' not
>     remade because of errors.
>     CMakeFiles/Makefile2:14376: recipe for target
>     'core/tests/facesengine/CMakeFiles/facesenginedemo.dir/all' failed
>     make[1]: ***
>     [core/tests/facesengine/CMakeFiles/facesenginedemo.dir/all] Error 2
>
>     c++filt _ZNK16KLocalizedString4subsERK7QStringi5QChar
>     KLocalizedString::subs(QString const&, int, QChar) const
>
>
> Linking failure with KDE 5 i18b component for localization of strings.
> Something is broken in your system...

valette at tri-yann4:~/local/src/digikam/build$ find . -name 
libdigikamcore.so.5.0.0
./core/app/libdigikamcore.so.5.0.0
valette at tri-yann4:~/local/src/digikam/build$ nm 
./core/app/libdigikamcore.so.5.0.0 | grep 
_ZNK16KLocalizedString4subsERK7QStringi5QChar
                  U _ZNK16KLocalizedString4subsERK7QStringi5QChar

So libdigikamcore.so.5.0.0 depends on ki18n-5.15.0. I recompiled it from 
source and reinstalled to be sure the symbol is there :

valette at tri-yann4:~/local/src/ki18n-5.15.0$ find . -name libKF5I18n.so.5
./obj-x86_64-linux-gnu/src/libKF5I18n.so.5
./debian/tmp/usr/lib/x86_64-linux-gnu/libKF5I18n.so.5
./debian/libkf5i18n5/usr/lib/x86_64-linux-gnu/libKF5I18n.so.5
valette at tri-yann4:~/local/src/ki18n-5.15.0$ nm 
obj-x86_64-linux-gnu/src/libKF5I18n.so.5 | grep 
_ZNK16KLocalizedString4subsERK7QStringi5QChar
0000000000009880 T _ZNK16KLocalizedString4subsERK7QStringi5QChar

So the library has the symbol.

The question I have is how is it correctly pulled via the link command? 
Is see QT librarries but no KDE libs...

PS : I'm a total newby on QT/KDE cmake build system so forgive me if the 
question is stupid...

--eric






More information about the Digikam-devel mailing list