If you are facing error like "curl 56 GnuTLS recv error" while cloning a git repository, it is a "gnutls_handshake()" error.
Error: RPC failed; curl 56 GnuTLS recv error (-24): Decryption has failed
Solution
Rebuilding git with openssl
Follow the steps given below:
1. Install build-essential, fakeroot and dpkg-dev using the following command.
sudo apt-get install build-essential fakeroot dpkg-dev
2. Create a directory named git-rectify in the home folder using the following command.
mkdir ~/git-rectify
3. CD in to the get-rectify directory and get the git source files.
cd ~/git-rectify
apt-get source git
4. Install all the git dependencies.
sudo apt-get build-dep git
5. Install libcurl with all development files.
sudo apt-get install libcurl4-openssl-dev
6. Unpack all the source packages using the following command.
Note: The name “git_2.34.1-1ubuntu1.9” could vary based on the lastest version. So look in to the directory for the correct version name.
dpkg-source -x git_2.34.1-1ubuntu1.9
7. Cd in to “git_2.34.1” folder and open the control file located inside debian folder (git_2.34.1/debian/control) in a text editor. Replace all the occurences of “libcurl4-gnutls-dev” to “libcurl4-openssl-dev”. Also open “debian/rules” file and delete the line “TEST=test”
8. Build the package files using the following command.
sudo dpkg-buildpackage -rfakeroot -b
9. Install the new git package by executing the folling command.
Note: The package name is based on the system architecture. So have a look at the package name located in “git_2.34.1” (could be a different name for you) folder.
sudo dpkg -i git_2.34.1-1ubuntu1.9_amd64.deb
Comments
Post a Comment