Note: This solution is not just limited to codecommit but also for other Ubuntu gnults_handshake related issues.
If you have AWS cli installed in ubuntu 14.04 and working with AWS codecommit, you are likely to get “gnutls_handshake() failed” error when you try to clone a repository created in codecommit. Do not worry about it, we have a solution for it.
[Solution] gnutls_handshake() failed
Follow the steps given below to rectify this issue.
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_1.9.1-1ubuntu0.1” could vary based on the lastest version. So look in to the directory for the correct version name.
dpkg-source -x git_1.9.1-1ubuntu0.1
7. Cd in to “git_1.9.1” folder and open the control file located inside debian folder (git_1.9.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_1.9.1” (could be a different name for you) folder.
sudo dpkg -i git_1.7.9.5-1_amd64.deb
Thats it! Now you will be able to clone and do all the git related activities to your codecommit service. Lets us know if you are not able to rectify the issue after performing all the above mentioned steps.
16 comments
Hi,
I’m using ubuntu 20.04.1.
when perform
sudo dpkg-buildpackage -rfakeroot -b
I got this message error, could you help?
dpkg-buildpackage: error: cannot open file debian/changelog: No such file or directory
Here is a script the performs the steps above (including the text editing). Note that your versions of some tools may vary. I didn’t need the commented lines, you might.
mkdir ~/git-rectify
cd ~/git-rectify
sudo cp /etc/apt/sources.list /etc/apt/sources.list~
sudo sed -Ei ‘s/^# deb-src /deb-src /’ /etc/apt/sources.list
sudo apt-get update
apt-get source git
sudo apt-get build-dep -y git
sudo apt-get install -y libcurl4-openssl-dev
#dpkg-source -x git_2.17.1-1ubuntu0.9.dsc
sed -i -e ‘s/libcurl4-gnutls-dev/libcurl4-openssl-dev/g’ ./git-2.17.1/debian/control || echo “No gnutls references in debian/control to rename as openssl”
sed -i -e ‘s/TEST =test//g’ git-2.17.1/debian/rules || echo “No TEST=test line to remove in debian/rules”
cd git-2.17.1/
sudo dpkg-buildpackage -rfakeroot -b
cd ..
#sudo apt-get -f install
sudo dpkg -i git-man_2.17.1-1ubuntu0.9_all.deb
sudo dpkg -i git_2.17.1-1ubuntu0.9_amd64.deb
Thanks. This worked for me.
i got this error when dpkg-source
dpkg-source: error: cannot read git_1.9.1-1ubuntu0.1: No such file or directory
Thanks, helped me a lot!
i got this error message after typing this command
sudo dpkg-buildpackage -rfakeroot -b
dpkg-buildpackage: warning: using a gain-root-command while being root
dpkg-buildpackage: info: source package git
dpkg-buildpackage: info: source version 1:2.25.1-1ubuntu3
dpkg-buildpackage: info: source distribution focal
dpkg-buildpackage: info: source changed by Marc Deslauriers
dpkg-buildpackage: info: host architecture amd64
dpkg-source –before-build .
fakeroot debian/rules clean
dh clean –with apache2
debian/rules override_dh_auto_clean
/usr/bin/make -C contrib/mw-to-git clean NO_OPENSSL=1 prefix=/usr gitexecdir=/usr/lib/git-core libexecdir=/usr/lib/git-core mandir=/usr/share/man htmldir=/usr/share/doc/git/html INSTALLDIRS=vendor SANE_TOOL_PATH= INSTALL=install TAR=tar NO_CROSS_DIRECTORY_HARDLINKS=1 NO_INSTALL_HARDLINKS=1 NO_PERL_CPAN_FALLBACKS=1 PYTHON_PATH=/usr/bin/python3 DEFAULT_PAGER=pager DEFAULT_EDITOR=editor CC=’gcc’ CFLAGS=’-Wall -g -O2 -fdebug-prefix-map=/home/dell/git-rectify=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2′ LDFLAGS=’-Wl,-Bsymbolic-functions -Wl,-z,relro’ HOST_CPU=’x86_64′ V=1 USE_LIBPCRE2=1
make[2]: Entering directory ‘/home/dell/git-rectify’
make[2]: *** contrib/mw-to-git: No such file or directory. Stop.
make[2]: Leaving directory ‘/home/dell/git-rectify’
make[1]: *** [debian/rules:92: override_dh_auto_clean] Error 2
make: *** [debian/rules:56: clean] Error 2
dpkg-buildpackage: error: fakeroot debian/rules clean subprocess returned exit status 2
Hey guys,
Where do I find this git_1.9.1-1ubuntu0.1?
This thing might have a slightly different name in your environment.
error: RPC failed; curl 56 OpenSSL SSL_read: error:140943FC:SSL routines:ssl3_read_bytes:sslv3 alert ba
d record mac, errno 0
fatal: The remote end hung up unexpectedly
more error :’)
Unfortunately when i put:
dpkg-source -x git_2.17.1-1ubuntu0.5.dsc
i get the below errors:
gpgv: Firma eseguita lun 09 dic 2019 16:00:48 CET
gpgv: con RSA chiave 50C4A0DDCF31E452CEB19B516569D855A744BE93
gpgv: Impossibile controllare la firma: Nessuna chiave pubblica
dpkg-source: Avviso: failed to verify signature on ./git_2.17.1-1ubuntu0.5.dsc
dpkg-source: Informazioni: extracting git in git-2.17.1
dpkg-source: Errore: unpack target exists: git-2.17.1
It’s italian, but similar to english: chiave = key, impossibile controllare la firma = problems with he signature, nessuna chiave pubblica = no public key
Someone can help me?
You may need to install (for instance, under Ubuntu 16.04), the following packages:apt install libpcre3-dev libexpat1-dev
When,
apt-get source git
I got:
Do you know how to solve this?
apt-get source git
for this command it shows : E: You must put some ‘source’ URIs in your sources.list
Make sure to enable your sources in /etc/apt/sources.list of via the Software Manager: https://askubuntu.com/questions/496549/error-you-must-put-some-source-uris-in-your-sources-list
Excellent Solution, works great!! thanks….
Now I am getting the below error.Please help
error: RPC failed; curl 18 transfer closed with outstanding read data remaining
fatal: The remote end hung up unexpectedly
fatal: early EOF
fatal: index-pack failed