我正在运行没有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
答案1
在 Xenial Xerus 16.04 下编译 kdesvn 是可行的,但肯定需要做一些工作,并且需要下载和安装大量依赖项。我在下面给出了完整的方法,按照此方法操作,您应该可以在 Xenial 下获得(就像我一样)kdesvn 的工作副本。
请注意,编译此应用程序相当困难,并且有一个适用于旧版本的 PPA kdesvn
。详细信息请参阅下面此答案的“注释”部分。
1. 添加所需的 PPA
需要一些更新的 kde 库,这个相当大的 PPA 包含您需要的库:
sudo add-apt-repository ppa:kubuntu-ppa/backports
sudo apt-get update
2.添加依赖项
以下是单个命令,只需复制并粘贴到终端窗口即可:
sudo apt-get install \
cmake debhelper extra-cmake-modules gettext libkf5bookmarks-dev \
libkf5config-dev libkf5configwidgets-dev libkf5coreaddons-dev \
libkf5dbusaddons-dev libkf5doctools-dev libkf5i18n-dev \
libkf5iconthemes-dev libkf5itemviews-dev libkf5kio-dev \
libkf5notifications-dev libkf5parts-dev libkf5service-dev \
libkf5texteditor-dev libkf5wallet-dev libkf5widgetsaddons-dev \
libsvn-dev pkg-kde-tools qtbase5-dev build-essential checkinstall
3.下载并编译最新的kdesvn
我们可以使用最新版本的 kdesvn,它将通过以下命令下载、编译和安装:单一命令:
mkdir $HOME/kdesvn_build && cd $HOME/kdesvn_build && \
wget https://download.kde.org/stable/kdesvn/2.0.0/kdesvn-2.0.0.tar.xz && \
tar xvf kdesvn-2.0.0.tar.xz && cd kdesvn-2.0.0 && \
sed -i_bak 's/Exec=kdesvn -caption "%c" %u/Exec=kdesvn/' src/org.kde.kdesvn.desktop && \
mkdir build && cd build && cmake -DCMAKE_INSTALL_PREFIX=/usr .. && make && \
sudo checkinstall -D --install=yes --fstrans=no --pakdir "$HOME/kdesvn_build" \
--pkgname kdesvn --backup=no --deldoc=yes --deldesc=yes --delspec=yes --default \
--pkgversion "2.0.0"
sed
请注意对源代码桌面文件的细微调整,如果kdesvn
没有该调整,应用程序将无法从图形启动器运行。
4. 运行kdesvn:
一切在我的 Xenial 系统上运行良好,如下面的屏幕截图所示:
并且也应该在您自己的系统上运行!!
笔记:
如果您乐意简单地使用 PPA 而不是编译,
kdesvn
您可以使用以下 PPA 获取稍旧的版本(1.7.0):sudo add-apt-repository ppa:dominik-stadler/dsta-xenial-ppa sudo apt-get update && sudo apt-get install kdesvn
这在我的 Xenial 系统上完美可用......
如果您对最终结果满意,则可以安全地完全删除构建目录:
rm -rfv $HOME/kdesvn_build