问题:gnutls_handshake() failed Handshake failed

项目场景:

才开始接触firefly的AIO-3288J这个板卡,老老实实安装新手上路的文档进行操作,编译环境的操作系统选择的是Ubuntu1404,不敢选新版本怕出问题没法弄。


问题描述:

在进行SDK的解压获取最新代码时发生了错误:

test@test-B250-HD3:/opt/firefly-rk3288-lollipop$ git pull bitbucket Firefly-RK3288:Firefly-RK3288

fatal: unable to access 'https://bitbucket.org/T-Firefly/firenow-lollipop.git/': gnutls_handshake() failed: Handshake failed


原因分析:

看log应该是在git的时候,连接握手出现问题。


解决方案:

尼玛,我都是按文档来的,这也出问题。于是在网络上搜索问题的解决办法。大家都很热心也有很多答案。

答案1: 别用https了,用http的链接。

没什么用,有些git会自动跳转到https。还有什么说代理这类的好复杂懒得看了。

答案2:重新安装加密工具包

把 libcurl4-gnutls-dev 換成 libcurl4-openssl dev。试过了没毛用

答案3:重新编译git,☆☆☆这个才是对的。

步骤如下:

sudo apt-get install build-essential fakeroot dpkg-dev

mkdir ./git-openssl

cd ./git-openssl

sudo apt-get source git

sudo apt-get build-dep git

sudo apt-get install libcurl4-openssl-dev

sudo dpkg-source -x git_1.9.1-1.dsc

cd git-1.9.1/

sudo apt-get remove git

 

编译前需要把git的编译依赖改成openssl的。

vim debian/control --- libcurl4-gnutls-dev >>>> libcurl4-openssl-dev

把编译的过程测试关闭,要不时间太久了:

vim debian/rules -- 删除 TEST=test

开始进行编译:

sudo dpkg-buildpackage -rfakeroot -b

编译后上层目录会出现很多文件:

test@test-B250-HD3:/opt/git-openssl$ ls

git-1.9.1 git-all_1.9.1-1_all.deb git-daemon-sysvinit_1.9.1-1_all.deb git-man_1.9.1-1_all.deb

git_1.9.1-1_amd64.changes git-arch_1.9.1-1_all.deb git-doc_1.9.1-1_all.deb git-mediawiki_1.9.1-1_all.deb

git_1.9.1-1_amd64.deb git-bzr_1.9.1-1_all.deb git-el_1.9.1-1_all.deb git-svn_1.9.1-1_all.deb

git_1.9.1-1.debian.tar.xz git-core_1.9.1-1_all.deb git-email_1.9.1-1_all.deb gitweb_1.9.1-1_all.deb

git_1.9.1-1.dsc git-cvs_1.9.1-1_all.deb git-gui_1.9.1-1_all.deb

git_1.9.1.orig.tar.xz git-daemon-run_1.9.1-1_all.deb gitk_1.9.1-1_all.deb

安装:

sudo dpkg -i ../git_1.9.1-1_amd64.deb

 

 

 

你可能感兴趣的:(RK3288,linux,RK3288,git)