项目场景:
才开始接触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