Falha ao compilar o kdesvn a partir da fonte

2

Estou executando o Ubuntu 16.04 que não possui um pacote kdesvn . Eu queria compilar kdesvn de fontes, cmake tudo passa bem depois de instalar todas as dependências, mas a compilação fica presa em:

[ 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

Por que isso e como posso corrigi-lo?

Eu verifiquei que o libkf5config-dev está instalado, ele contém KAuthorized : link

    
por cerr 30.10.2017 / 21:41

1 resposta

2

A compilação do kdesvn no Xenial Xerus 16.04 pode ser feita, mas existe certamente algum trabalho a ser feito e uma série de dependências para baixar e instalar. Eu dou o método completo abaixo, siga este e você deve conseguir (como eu) uma cópia de trabalho do kdesvn sob o Xenial.

Note que a compilação deste aplicativo é razoavelmente árdua e há um PPA decente para uma versão mais antiga do kdesvn . Detalhes na seção "Notas" desta resposta abaixo.

1. Adicione um PPA obrigatório

Algumas bibliotecas atualizadas do kde são necessárias e esse PPA bastante grande contém as bibliotecas necessárias:

sudo add-apt-repository ppa:kubuntu-ppa/backports
sudo apt-get update

2. Adicione as dependências

O seguinte é um único comando , basta copiar e colar em uma janela do Terminal:

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. Baixe e compile o kdesvn mais recente

Podemos usar a última versão do kdesvn, esta será baixada, compilado e instalado com o seguinte comando único :

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"

Observe o pequeno ajuste sed no arquivo da área de trabalho do código-fonte para kdesvn sem a qual o aplicativo não será executado a partir de um iniciador gráfico.

4. Execute o kdesvn:

Tudo está correndo bem no meu sistema Xenial, como demonstra a captura de tela a seguir:

E deve funcionar também no seu próprio sistema!

Notas:

  • Se você está feliz em simplesmente usar um PPA em vez de compilar kdesvn você pode obter uma versão um pouco mais antiga (1.7.0) com o seguinte PPA:

    sudo add-apt-repository ppa:dominik-stadler/dsta-xenial-ppa
    sudo apt-get update && sudo apt-get install kdesvn
    

    Isso era perfeitamente utilizável no meu sistema Xenial ...

  • Se você está feliz com o resultado final, você pode excluir com segurança o criar diretório completamente:

    rm -rfv $HOME/kdesvn_build
    
por andrew.46 01.11.2017 / 09:46