Как я могу собрать KDE Dolphin из его исходного кода?
Я использую Ubuntu 15.04 x64.
Я клонировал репозиторий Dolphin из git: //anongit.kde.org/dolphin. Затем я приступил к созданию каталога:
mkdir build
cd build
cmake ..
Но когда я запускаю команду CMake, я получаю:
-- The C compiler identification is GNU 4.9.2
-- The CXX compiler identification is GNU 4.9.2
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Looking for __GLIBC__
-- Looking for __GLIBC__ - found
-- Performing Test _OFFT_IS_64BIT
-- Performing Test _OFFT_IS_64BIT - Success
CMake Warning at /usr/share/ECM/find-modules/FindKF5.cmake:77 (find_package):
Could not find a package configuration file provided by "KF5DocTools"
(requested version 5.16.0) with any of the following names:
KF5DocToolsConfig.cmake
kf5doctools-config.cmake
Add the installation prefix of "KF5DocTools" to CMAKE_PREFIX_PATH or set
"KF5DocTools_DIR" to a directory containing one of the above files. If
"KF5DocTools" provides a separate development package or SDK, be sure it
has been installed.
Call Stack (most recent call first):
CMakeLists.txt:50 (find_package)
-- Could NOT find KF5DocTools: found neither KF5DocToolsConfig.cmake nor kf5doctools-config.cmake
CMake Warning at /usr/share/ECM/find-modules/FindKF5.cmake:77 (find_package):
Could not find a package configuration file provided by "KF5Init"
(requested version 5.16.0) with any of the following names:
KF5InitConfig.cmake
kf5init-config.cmake
Add the installation prefix of "KF5Init" to CMAKE_PREFIX_PATH or set
"KF5Init_DIR" to a directory containing one of the above files. If
"KF5Init" provides a separate development package or SDK, be sure it has
been installed.
Call Stack (most recent call first):
CMakeLists.txt:50 (find_package)
-- Could NOT find KF5Init: found neither KF5InitConfig.cmake nor kf5init-config.cmake
CMake Warning at /usr/share/ECM/find-modules/FindKF5.cmake:77 (find_package):
Could not find a package configuration file provided by "KF5KCMUtils"
(requested version 5.16.0) with any of the following names:
KF5KCMUtilsConfig.cmake
kf5kcmutils-config.cmake
Add the installation prefix of "KF5KCMUtils" to CMAKE_PREFIX_PATH or set
"KF5KCMUtils_DIR" to a directory containing one of the above files. If
"KF5KCMUtils" provides a separate development package or SDK, be sure it
has been installed.
Call Stack (most recent call first):
CMakeLists.txt:50 (find_package)
-- Could NOT find KF5KCMUtils: found neither KF5KCMUtilsConfig.cmake nor kf5kcmutils-config.cmake
CMake Warning at /usr/share/ECM/find-modules/FindKF5.cmake:77 (find_package):
Could not find a package configuration file provided by "KF5NewStuff"
(requested version 5.16.0) with any of the following names:
KF5NewStuffConfig.cmake
kf5newstuff-config.cmake
Add the installation prefix of "KF5NewStuff" to CMAKE_PREFIX_PATH or set
"KF5NewStuff_DIR" to a directory containing one of the above files. If
"KF5NewStuff" provides a separate development package or SDK, be sure it
has been installed.
Call Stack (most recent call first):
CMakeLists.txt:50 (find_package)
-- Could NOT find KF5NewStuff: found neither KF5NewStuffConfig.cmake nor kf5newstuff-config.cmake
CMake Warning at /usr/share/ECM/find-modules/FindKF5.cmake:77 (find_package):
Could not find a package configuration file provided by "KF5CoreAddons"
(requested version 5.16.0) with any of the following names:
KF5CoreAddonsConfig.cmake
kf5coreaddons-config.cmake
Add the installation prefix of "KF5CoreAddons" to CMAKE_PREFIX_PATH or set
"KF5CoreAddons_DIR" to a directory containing one of the above files. If
"KF5CoreAddons" provides a separate development package or SDK, be sure it
has been installed.
Call Stack (most recent call first):
CMakeLists.txt:50 (find_package)
-- Could NOT find KF5CoreAddons: found neither KF5CoreAddonsConfig.cmake nor kf5coreaddons-config.cmake
CMake Warning at /usr/share/ECM/find-modules/FindKF5.cmake:77 (find_package):
Could not find a package configuration file provided by "KF5I18n"
(requested version 5.16.0) with any of the following names:
KF5I18nConfig.cmake
kf5i18n-config.cmake
Add the installation prefix of "KF5I18n" to CMAKE_PREFIX_PATH or set
"KF5I18n_DIR" to a directory containing one of the above files. If
"KF5I18n" provides a separate development package or SDK, be sure it has
been installed.
Call Stack (most recent call first):
CMakeLists.txt:50 (find_package)
-- Could NOT find KF5I18n: found neither KF5I18nConfig.cmake nor kf5i18n-config.cmake
CMake Warning at /usr/share/ECM/find-modules/FindKF5.cmake:77 (find_package):
Could not find a package configuration file provided by "KF5DBusAddons"
(requested version 5.16.0) with any of the following names:
KF5DBusAddonsConfig.cmake
kf5dbusaddons-config.cmake
Add the installation prefix of "KF5DBusAddons" to CMAKE_PREFIX_PATH or set
"KF5DBusAddons_DIR" to a directory containing one of the above files. If
"KF5DBusAddons" provides a separate development package or SDK, be sure it
has been installed.
Call Stack (most recent call first):
CMakeLists.txt:50 (find_package)
-- Could NOT find KF5DBusAddons: found neither KF5DBusAddonsConfig.cmake nor kf5dbusaddons-config.cmake
CMake Warning at /usr/share/ECM/find-modules/FindKF5.cmake:77 (find_package):
Could not find a package configuration file provided by "KF5Bookmarks"
(requested version 5.16.0) with any of the following names:
KF5BookmarksConfig.cmake
kf5bookmarks-config.cmake
Add the installation prefix of "KF5Bookmarks" to CMAKE_PREFIX_PATH or set
"KF5Bookmarks_DIR" to a directory containing one of the above files. If
"KF5Bookmarks" provides a separate development package or SDK, be sure it
has been installed.
Call Stack (most recent call first):
CMakeLists.txt:50 (find_package)
-- Could NOT find KF5Bookmarks: found neither KF5BookmarksConfig.cmake nor kf5bookmarks-config.cmake
CMake Warning at /usr/share/ECM/find-modules/FindKF5.cmake:77 (find_package):
Could not find a package configuration file provided by "KF5Config"
(requested version 5.16.0) with any of the following names:
KF5ConfigConfig.cmake
kf5config-config.cmake
Add the installation prefix of "KF5Config" to CMAKE_PREFIX_PATH or set
"KF5Config_DIR" to a directory containing one of the above files. If
"KF5Config" provides a separate development package or SDK, be sure it has
been installed.
Call Stack (most recent call first):
CMakeLists.txt:50 (find_package)
-- Could NOT find KF5Config: found neither KF5ConfigConfig.cmake nor kf5config-config.cmake
CMake Warning at /usr/share/ECM/find-modules/FindKF5.cmake:77 (find_package):
Could not find a package configuration file provided by "KF5KIO" (requested
version 5.16.0) with any of the following names:
KF5KIOConfig.cmake
kf5kio-config.cmake
Add the installation prefix of "KF5KIO" to CMAKE_PREFIX_PATH or set
"KF5KIO_DIR" to a directory containing one of the above files. If "KF5KIO"
provides a separate development package or SDK, be sure it has been
installed.
Call Stack (most recent call first):
CMakeLists.txt:50 (find_package)
-- Could NOT find KF5KIO: found neither KF5KIOConfig.cmake nor kf5kio-config.cmake
CMake Warning at /usr/share/ECM/find-modules/FindKF5.cmake:77 (find_package):
Could not find a package configuration file provided by "KF5Parts"
(requested version 5.16.0) with any of the following names:
KF5PartsConfig.cmake
kf5parts-config.cmake
Add the installation prefix of "KF5Parts" to CMAKE_PREFIX_PATH or set
"KF5Parts_DIR" to a directory containing one of the above files. If
"KF5Parts" provides a separate development package or SDK, be sure it has
been installed.
Call Stack (most recent call first):
CMakeLists.txt:50 (find_package)
-- Could NOT find KF5Parts: found neither KF5PartsConfig.cmake nor kf5parts-config.cmake
CMake Warning at /usr/share/ECM/find-modules/FindKF5.cmake:77 (find_package):
Could not find a package configuration file provided by "KF5Solid"
(requested version 5.16.0) with any of the following names:
KF5SolidConfig.cmake
kf5solid-config.cmake
Add the installation prefix of "KF5Solid" to CMAKE_PREFIX_PATH or set
"KF5Solid_DIR" to a directory containing one of the above files. If
"KF5Solid" provides a separate development package or SDK, be sure it has
been installed.
Call Stack (most recent call first):
CMakeLists.txt:50 (find_package)
-- Could NOT find KF5Solid: found neither KF5SolidConfig.cmake nor kf5solid-config.cmake
CMake Warning at /usr/share/ECM/find-modules/FindKF5.cmake:77 (find_package):
Could not find a package configuration file provided by "KF5IconThemes"
(requested version 5.16.0) with any of the following names:
KF5IconThemesConfig.cmake
kf5iconthemes-config.cmake
Add the installation prefix of "KF5IconThemes" to CMAKE_PREFIX_PATH or set
"KF5IconThemes_DIR" to a directory containing one of the above files. If
"KF5IconThemes" provides a separate development package or SDK, be sure it
has been installed.
Call Stack (most recent call first):
CMakeLists.txt:50 (find_package)
-- Could NOT find KF5IconThemes: found neither KF5IconThemesConfig.cmake nor kf5iconthemes-config.cmake
CMake Warning at /usr/share/ECM/find-modules/FindKF5.cmake:77 (find_package):
Could not find a package configuration file provided by "KF5Completion"
(requested version 5.16.0) with any of the following names:
KF5CompletionConfig.cmake
kf5completion-config.cmake
Add the installation prefix of "KF5Completion" to CMAKE_PREFIX_PATH or set
"KF5Completion_DIR" to a directory containing one of the above files. If
"KF5Completion" provides a separate development package or SDK, be sure it
has been installed.
Call Stack (most recent call first):
CMakeLists.txt:50 (find_package)
-- Could NOT find KF5Completion: found neither KF5CompletionConfig.cmake nor kf5completion-config.cmake
CMake Warning at /usr/share/ECM/find-modules/FindKF5.cmake:77 (find_package):
Could not find a package configuration file provided by "KF5TextWidgets"
(requested version 5.16.0) with any of the following names:
KF5TextWidgetsConfig.cmake
kf5textwidgets-config.cmake
Add the installation prefix of "KF5TextWidgets" to CMAKE_PREFIX_PATH or set
"KF5TextWidgets_DIR" to a directory containing one of the above files. If
"KF5TextWidgets" provides a separate development package or SDK, be sure it
has been installed.
Call Stack (most recent call first):
CMakeLists.txt:50 (find_package)
-- Could NOT find KF5TextWidgets: found neither KF5TextWidgetsConfig.cmake nor kf5textwidgets-config.cmake
CMake Warning at /usr/share/ECM/find-modules/FindKF5.cmake:77 (find_package):
Could not find a package configuration file provided by "KF5WindowSystem"
(requested version 5.16.0) with any of the following names:
KF5WindowSystemConfig.cmake
kf5windowsystem-config.cmake
Add the installation prefix of "KF5WindowSystem" to CMAKE_PREFIX_PATH or
set "KF5WindowSystem_DIR" to a directory containing one of the above files.
If "KF5WindowSystem" provides a separate development package or SDK, be
sure it has been installed.
Call Stack (most recent call first):
CMakeLists.txt:50 (find_package)
-- Could NOT find KF5WindowSystem: found neither KF5WindowSystemConfig.cmake nor kf5windowsystem-config.cmake
CMake Warning at /usr/share/ECM/find-modules/FindKF5.cmake:77 (find_package):
Could not find a package configuration file provided by "KF5Notifications"
(requested version 5.16.0) with any of the following names:
KF5NotificationsConfig.cmake
kf5notifications-config.cmake
Add the installation prefix of "KF5Notifications" to CMAKE_PREFIX_PATH or
set "KF5Notifications_DIR" to a directory containing one of the above
files. If "KF5Notifications" provides a separate development package or
SDK, be sure it has been installed.
Call Stack (most recent call first):
CMakeLists.txt:50 (find_package)
-- Could NOT find KF5Notifications: found neither KF5NotificationsConfig.cmake nor kf5notifications-config.cmake
CMake Warning at /usr/share/ECM/find-modules/FindKF5.cmake:77 (find_package):
Could not find a package configuration file provided by "KF5Crash"
(requested version 5.16.0) with any of the following names:
KF5CrashConfig.cmake
kf5crash-config.cmake
Add the installation prefix of "KF5Crash" to CMAKE_PREFIX_PATH or set
"KF5Crash_DIR" to a directory containing one of the above files. If
"KF5Crash" provides a separate development package or SDK, be sure it has
been installed.
Call Stack (most recent call first):
CMakeLists.txt:50 (find_package)
-- Could NOT find KF5Crash: found neither KF5CrashConfig.cmake nor kf5crash-config.cmake
CMake Error at /usr/share/cmake-3.0/Modules/FindPackageHandleStandardArgs.cmake:136 (message):
Could NOT find KF5 (missing: DocTools Init KCMUtils NewStuff CoreAddons
I18n DBusAddons Bookmarks Config KIO Parts Solid IconThemes Completion
TextWidgets WindowSystem Notifications Crash) (Required is at least version
"5.16.0")
Call Stack (most recent call first):
/usr/share/cmake-3.0/Modules/FindPackageHandleStandardArgs.cmake:343 (_FPHSA_FAILURE_MESSAGE)
/usr/share/ECM/find-modules/FindKF5.cmake:113 (find_package_handle_standard_args)
CMakeLists.txt:50 (find_package)
-- Configuring incomplete, errors occurred!
See also "/home/nic/kde/dolphin/build/CMakeFiles/CMakeOutput.log".
Похоже, я скучаю по KDE Framework Libs. Но я не могу найти способ установить их на свой компьютер. Как мне начать собирать Dolphin из его исходного кода для целей разработки?
1 ответ
Использование kdesrc-build
построить Dolphin и его зависимости: https://community.kde.org/Frameworks/Building
Настройте это и запустите kdesrc-build --include-dependencies dolphin
К сожалению, для Ubuntu 15.04 библиотеки KDE Frameworks пока недоступны (только через PPA).
Для всех, кто хочет исправить ошибки CMake следующего типа:
Could not find a package configuration file provided by "KF5DocTools"
Could not find a package configuration file provided by "KF5Init"
Could not find a package configuration file provided by "KF5KCMUtils"
...
Эти и подобные ошибки, содержащие "KF5…", указывают на то, что CMake не может найти пакеты с файлами заголовков KDE5. В Ubuntu их можно установить с помощью:
sudo apt libkf5*-dev kirigami2-dev