[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#797644: kdelibs5-dev: kopete FTBFS: No rule to make target '/usr/lib/libsoprano.so', needed by 'kopete/kopete'



Package: kdelibs5-dev
Version: 4:4.14.10-3
Severity: serious
Justification: kopete fails to build from source (but built successfully in the past)
Control: affects -1 kopete

X-Debbugs-Cc set to kopete@packages.debian.org since it is known to be
affected.

While building kopete to verify that a proposed upload for libmsn
successfully carries out the libstdc++ transition, I encountered this
build error:

cd kopete && /usr/bin/c++   -DKDE4_CMAKE_TOPLEVEL_DIR_LENGTH=24 -DKDE_DEPRECATED_WARNINGS -DQT_NO_CAST_TO_ASCII -DQT_NO_STL -DQT_USE_FAST_CONCATENATION -DQT_USE_FAST_OPERATOR_PLUS -D_BSD_SOURCE -D_DEFAULT_SOURCE -D_REENTRANT -D_XOPEN_SOURCE=500 -g -O2 -fstack-protector-strong -Wformat -Werror=format-security -D_FORTIFY_SOURCE=2 -D_FORTIFY_SOURCE=2  -Wnon-virtual-dtor -Wno-long-long -Wundef -Wcast-align -Wchar-subscripts -Wall -W -Wpointer-arith -Wformat-security -fno-exceptions -DQT_NO_EXCEPTIONS -fno-check-new -fno-common -Woverloaded-virtual -fno-threadsafe-statics -fvisibility=hidden -Werror=return-type -fvisibility-inlines-hidden -DNDEBUG -DQT_NO_DEBUG -I. -I../../kopete -I../../libkopete -I../libkopete -I../../libkopete/ui -I../../libkopete/private -I../../libkopete/contactlist -I../../libkopete/tasks -I../../kopete/addaccountwizard -Iaddaccountwizard -I../../kopete/statusmenu -Istatusmenu -I../../kopete/identity -Iidentity -I../../kopete/contactlist -Icontactlist -I../../kopete/config/plugins -I/usr/include/KDE -I/usr/include/qt4/KDE -I/usr/include/qt4 -I/usr/include/qt4/phonon -I/usr/include/qt4/QtXmlPatterns -I/usr/include/qt4/QtXml -I/usr/include/qt4/QtUiTools -I/usr/include/qt4/QtTest -I/usr/include/qt4/QtSvg -I/usr/include/qt4/QtSql -I/usr/include/qt4/QtScriptTools -I/usr/include/qt4/QtScript -I/usr/include/qt4/QtNetwork -I/usr/include/qt4/QtHelp -I/usr/include/qt4/QtDesigner -I/usr/include/qt4/QtDeclarative -I/usr/include/qt4/QtDBus -I/usr/include/qt4/Qt3Support -I/usr/include/qt4/QtGui -I/usr/include/qt4/QtCore -I/usr/include/qt4/Qt -I/usr/share/qt4/mkspecs/default -I/usr/include/qimageblitz    -D_GNU_SOURCE -D_LARGEFILE64_SOURCE -o CMakeFiles/kopete_bin.dir/kopeteadaptor.o -c kopeteadaptor.cpp
make[4]: *** No rule to make target '/usr/lib/libsoprano.so', needed by 'kopete/kopete'.  Stop.

This appears to be because KDeclarative's CMake glue mentions that library:

% ack libsoprano /usr/lib
/usr/lib/cmake/KDeclarative/KDeclarativeLibraryTargets-debian.cmake
12:  IMPORTED_LINK_INTERFACE_LIBRARIES_DEBIAN "kdeui;/usr/lib/libsoprano.so"

If a particular -dev package requires linking with some other library,
it should depend on that library's -dev package (the same principle
as depending on the -dev packages of the libraries mentioned in a
pkg-config .pc file).

There is an additional, more minor bug here, which could perhaps be fixed
at the same time: that cmake file mentions libsoprano by its fully qualified
path, so kopete would also FTBFS in a similar way if libsoprano was moved
from /usr/lib to /usr/lib/${DEB_HOST_MULTIARCH}. If I'm understanding
correctly, the CMake glue should ideally list system libraries by the
name that would follow the "-l" linker argument, for example "kdeui;soprano",
in the same way that pkg-config would normally result in
"-lkdeui -lsoprano". Please clone a separate bug for this if it is
confirmed but not trivial to fix.

Regards,
    S


Reply to: