我正在运行没有kdesvn
软件包的 Ubuntu 16.04。我想kdesvn
从源代码编译,cmake
安装所有依赖项后一切正常,但编译卡在:
[ 78%] Building CXX object src/svnfrontend/CMakeFiles/svnfrontend.dir/maintreewidget.cpp.o
/home/ron/src/kdesvn/src/svnfrontend/maintreewidget.cpp: In member function ‘void MainTreeWidget::enableActions()’:
/home/ron/src/kdesvn/src/svnfrontend/maintreewidget.cpp:826:46: error: ‘authorizeAction’ is not a member of ‘KAuthorized’
enableAction(QStringLiteral("openwith"), KAuthorized::authorizeAction("openwith") && single && !single_dir);
^
src/svnfrontend/CMakeFiles/svnfrontend.dir/build.make:850: recipe for target 'src/svnfrontend/CMakeFiles/svnfrontend.dir/maintreewidget.cpp.o' failed
make[2]: *** [src/svnfrontend/CMakeFiles/svnfrontend.dir/maintreewidget.cpp.o] Error 1
CMakeFiles/Makefile2:764: recipe for target 'src/svnfrontend/CMakeFiles/svnfrontend.dir/all' failed
make[1]: *** [src/svnfrontend/CMakeFiles/svnfrontend.dir/all] Error 2
Makefile:138: recipe for target 'all' failed
make: *** [all] Error 2
为什么会这样,我该如何解决?
我已经验证libkf5config-dev已安装,它包含KAuthorized
:https ://packages.ubuntu.com/xenial/amd64/libkf5config-dev/filelist
可以在 Xenial Xerus 16.04 下编译 kdesvn,但肯定有一些工作要做,并且需要下载和安装大量的依赖项。我在下面给出了完整的方法,按照这个,你应该(就像我一样)在 Xenial 下实现 kdesvn 的工作副本。
请注意,编译此应用程序相当费力,并且对于旧版本的
kdesvn
. 下面这个答案的“注释”部分中的详细信息。1. 添加所需的 PPA
需要一些更新的 kde 库,这个相当大的 PPA 包含您需要的库:
2.添加依赖
以下是单个命令,只需复制并粘贴到终端窗口中即可:
3.下载并编译最新的kdesvn
我们可以使用最新版本的 kdesvn,它将使用以下单个命令下载、编译和安装:
请注意对源代码桌面文件的小
sed
调整,kdesvn
否则应用程序将无法从图形启动器运行。4.运行kdesvn:
在我的 Xenial 系统上运行良好,如下图所示:
并且应该在您自己的系统上运行!
笔记:
如果您乐于简单地使用 PPA 而不是编译
kdesvn
,则可以使用以下 PPA 获得稍旧的版本(1.7.0):这在我的 Xenial 系统上完全可用....
如果您对最终结果感到满意,则可以安全地完全删除构建目录: