gitvimsshvundle

GnuTLS recv error (-110): The TLS connection was non-properly terminated


I'm preparing to install vim plugin by vundle, after I set the vimrc

set nocompatible
filetype off
set rtp+=~/.vim/bundle/Vundle.vim

call vundle#begin()

Plugin 'gmarik/Vundle.vim'
Plugin 'valloric/youcompleteme'

call vundle#end()

then I input :PluginInstall and get the error

  2 [2018-09-27 10:47:17] Plugin valloric/youcompleteme                                                | 18 " line enables syntax highlighting by default.
  3 [2018-09-27 10:47:17] $ git clone --recursive 'https://github.com/valloric/youcompleteme.git' '/roo| 19 syntax on;
    t/.vim/bundle/youcompleteme'                                                                       | 20 if has("syntax")
  4 [2018-09-27 10:47:17] > Cloning into '/root/.vim/bundle/youcompleteme'...                          | 21   syntax on
  5 [2018-09-27 10:47:17] > error: RPC failed; curl 56 GnuTLS recv error (-110): The TLS connection was| 22 endif
     non-properly terminated. 

and then I go to the directory ~/.vim/bundle and execute

git clone --recursive 'https://github.com/valloric/youcompleteme.git

and get this

Cloning into '~/.vim/bundle/youcompleteme'...
remote: Enumerating objects: 15, done.
remote: Counting objects: 100% (15/15), done.
remote: Compressing objects: 100% (13/13), done.
remote: Total 34431 (delta 4), reused 8 (delta 1), pack-reused 34416
Receiving objects: 100% (34431/34431), 32.58 MiB | 2.37 MiB/s, done.
error: RPC failed; curl 56 GnuTLS recv error (-110): The TLS connection was non-properly terminated.
Resolving deltas: 100% (12305/12305), done.

As this said, It seems the plugin have been downloaded despite the error. But I can't find the youcompleteme directory in fact.

I also try

git clone --recursive 'git@github.com:Valloric/YouCompleteMe.git' '~/.vim/bundle/youcompleteme'

and get this

Cloning into '~/.vim/bundle/youcompleteme'...
ssh: connect to host github.com port 22: Connection timed out
fatal: Could not read from remote repository.

So how to solve this?


Solution

  • Recompile and install git solve it finally, the steps are the following:

    sudo apt-get install build-essential fakeroot dpkg-dev -y
    sudo apt-get build-dep git -y
    sudo apt-get install libcurl4-openssl-dev -y
    cd ~
    mkdir source-git
    cd source-git/
    apt-get source git
    cd git-2.*.*/
    sed -i -- 's/libcurl4-gnutls-dev/libcurl4-openssl-dev/' ./debian/control
    sed -i -- '/TEST\s*=\s*test/d' ./debian/rules
    dpkg-buildpackage -rfakeroot -b -uc -us
    sudo dpkg -i ../git_*ubuntu*.deb
    

    And not use -y is ok, -y just for skip inputting y. The result is:

    Cloning into 'syntastic'...
    remote: Enumerating objects: 27, done.
    remote: Counting objects: 100% (27/27), done.
    remote: Compressing objects: 100% (21/21), done.
    remote: Total 18671 (delta 9), reused 16 (delta 5), pack-reused 18644
    Receiving objects: 100% (18671/18671), 4.26 MiB | 701.00 KiB/s, done.
    Resolving deltas: 100% (10572/10572), done.
    Checking connectivity... done.