我如何从其源代码构建 KDE Dolphin?

How can I build KDE Dolphin from its source code?

我正在使用 Ubuntu 15.04 x64。

我从 git://anongit.kde.org/dolphin 克隆了 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 框架库。但我似乎找不到在我的电脑上安装它们的方法。我应该如何从源代码构建 Dolphin 以用于开发目的?

使用kdesrc-build构建Dolphin它的依赖项:https://community.kde.org/Frameworks/Building

设置好,运行kdesrc-build --include-dependencies dolphin

不幸的是,对于 Ubuntu 15.04,KDE 框架库尚不可用(只能通过 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 install libkf5*-dev kirigami2-dev