KF5 include problems on the build.kde.org?

Friedrich W. H. Kossebau kossebau at kde.org
Sat Jan 4 14:04:58 UTC 2014


Hi,

I am currently struggling to have the KF5 port of Okteta not only build 
locally (what it does fine), but also on KDE's build server:
could anybody hint to me why on the build server the file KLocalizedString is 
not found for include on building of the static lib kastencoretestio:

>From http://build.kde.org/job/okteta_master_qt5/8/console :

--- 8< ---
13:23:17 
/srv/jenkins/workspace/okteta_master_qt5/libs/kasten/core/tests/testdocumentfileloadthread.cpp:28:28: 
fatal error: KLocalizedString: No such file or directory
--- 8< ---

libs/kasten/core/tests/CMakeLists.txt has this:
--- 8< ---
set( kastencoretestio_LIB_SRCS
  testdocumentfileloadthread.cpp
  [...]
)

add_library( kastencoretestio  STATIC ${kastencoretestio_LIB_SRCS} )
target_link_libraries( kastencoretestio LINK_PUBLIC Qt5::Core )
target_link_libraries( kastencoretestio LINK_PRIVATE KF5::I18n KF5::CoreAddons 
Qt5::Core )
--- 8< ---


Locally I see no problem with the problem, and the setup seems proper:
The file KLocalizedString is inside the KI18n include dir as expected, and 
also the KDE4 variant is outside the used includes dirs.

$ ls /home/koder/System/kf5/include/KF5/KI18n
ki18n_export.h  KLocalizedString  klocalizedstring.h  KuitMarkup  kuitmarkup.h  
KuitSetup  kuitsetup.h
$ find /usr/include/ -name KLocalizedString
/usr/include/KDE/KLocalizedString


$ VERBOSE=1 make

[  0%] Building CXX object 
libs/kasten/core/tests/CMakeFiles/kastencoretestio.dir/testdocumentfileloadthread.cpp.o
cd 
/home/koder/Kode/kdegit/KDE/kdesdk/build.debug/okteta.kf5/libs/kasten/core/tests 
&& /usr/bin/c++   -DKCOREADDONS_LIB -DQT_CORE_LIB -
DQT_DISABLE_DEPRECATED_BEFORE=0 -DQT_NO_CAST_FROM_ASCII -
DQT_NO_CAST_FROM_BYTEARRAY -DQT_NO_CAST_TO_ASCII -DQT_USE_QSTRINGBUILDER -
D_BSD_SOURCE -D_GNU_SOURCE -D_LARGEFILE64_SOURCE -D_XOPEN_SOURCE=500 -
std=c++0x -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 -
Werror=return-type -fvisibility=hidden -fvisibility-inlines-hidden -Wall -
std=c++0x -fno-rtti -g3 -fno-inline -fPIC -
I/home/koder/Kode/kdegit/KDE/kdesdk/build.debug/okteta.kf5/libs/kasten/core/tests 
-I/home/koder/Kode/kdegit/KDE/kdesdk/okteta.kf5/libs/kasten/core/tests -
I/home/koder/Kode/kdegit/KDE/kdesdk/okteta.kf5/libs/kasten/core/entity -
I/home/koder/Kode/kdegit/KDE/kdesdk/okteta.kf5/libs/kasten/core/document -
I/home/koder/Kode/kdegit/KDE/kdesdk/okteta.kf5/libs/kasten/core/io -
I/home/koder/Kode/kdegit/KDE/kdesdk/okteta.kf5/libs/kasten/core/io/filesystem 
-I/home/koder/Kode/kdegit/KDE/kdesdk/okteta.kf5/libs/kasten/core/system -
I/home/koder/Kode/kdegit/KDE/kdesdk/build.debug/okteta.kf5/libs/kasten/core/tests/.. 
-I/home/koder/Kode/kdegit/KDE/kdesdk/okteta.kf5/libs/kasten/core/tests/../.. -
I/home/koder/Kode/kdegit/KDE/kdesdk/okteta.kf5/libs/kasten/core/tests/.. -
isystem /home/koder/Kode/qt/qt5/qtbase/include -isystem 
/home/koder/Kode/qt/qt5/qtbase/include/QtCore -isystem 
/home/koder/Kode/qt/qt5/qtbase/mkspecs/linux-g++ -
I/home/koder/System/kf5/include/KF5/KI18n -I/home/koder/System/kf5/include/KF5 
-I/home/koder/System/kf5/include/KF5/KCoreAddons    -o 
CMakeFiles/kastencoretestio.dir/testdocumentfileloadthread.cpp.o -c 
/home/koder/Kode/kdegit/KDE/kdesdk/okteta.kf5/libs/kasten/core/tests/testdocumentfileloadthread.cpp


It is especially strange because with other libs that also include 
KLocalizedString there is no problem before in the same build. E.g. oktetacore 
has in core/CMakeLists.txt:
--- 8< ---
add_library( ${oktetacore_LIB} SHARED ${oktetacore_LIB_OBJS} )
target_link_libraries( ${oktetacore_LIB} LINK_PUBLIC Qt5::Core )
target_link_libraries( ${oktetacore_LIB} LINK_PRIVATE
  KF5::I18n
  KF5::KDE4Support
  KF5::Codecs   #needed for codecs
)
--- 8< ---

and you can see in the log
--- 8< ---
13:23:20 [ 24%] Built target oktetacore
--- 8< ---


What could be different on the buildserver? What is wrong in the 
CMakeLists.txt perhaps?
And does Okteta (branch: kf5-port) build for you locally?

Cheers
Friedrich



More information about the Kde-frameworks-devel mailing list