web-dev-qa-db-ja.com

ソースから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がインストールされていることを確認しました。これにはKAuthorizedが含まれています: https://packages.ubuntu.com/ xenial/AMD64/libkf5config-dev/filelist

2
stdcerr

Xenial Xerus 16.04でkdesvnをコンパイルすることはできますが、確かにいくつかの作業が必要であり、ダウンロードしてインストールするための非常に多くの依存関係があります。以下に完全な方法を示し、これに従ってください。Xenialの下でkdesvnの作業コピーを作成する必要があります。

このアプリケーションのコンパイルはかなり困難であり、kdesvnの古いバージョンにはまともなPPAがあることに注意してください。以下のこの回答の「メモ」セクションの詳細。

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システムで正常に動作しています。

enter image description here

また、独自のシステムでも実行する必要があります!!

注:

  • kdesvnをコンパイルするのではなく、単にPPAを使用することに満足している場合は、次の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
    
2
andrew.46