无法从源代码编译 kdesvn

无法从源代码编译 kdesvn

我正在运行没有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安装后,它包含KAuthorizedhttps://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
    

相关内容