万事开头难,记录一下初探Apollo的尴尬,今天花了一天的时间做了这么一件事情:把Apollo克隆下来。
按理说,不就是一行命令的事吗?然而,啪啪啪脸真疼。
执行完git clone https://github.com/ApolloAuto/apollo
,下载一段时间后提示:
Cloning into 'apollo'...
remote: Enumerating objects: 1, done.
remote: Counting objects: 100% (1/1), done.
fatal: The remote end hung up unexpectedly3.20 MiB | 291.00 KiB/s
fatal: early EOF
fatal: index-pack failed
每次都是这个错误,之前也曾尝试未果。于是直接下载的zip压缩包,将就着看看代码。但是通过zip压缩包下载的不包含git信息,无法查看commit和分支,也不能用git管理,看代码是很不方便的。
开始解决这个问题,其问题关键词是 hung up unexpected
搜索发现是git缓冲太小了,于是尝试了这个回答下评论说解决了他们问题的3个方法:
git config --global http.postBuffer 1048576000
git config --global http.sslVerify false
git config --global http.postBuffer 1048576000
apt install gnutls-bin
以及这里面的一个方法:
git config --global http.postBuffer 500M
git config --global http.maxRequestBuffer 100M
git config --global core.compression 0
一顿操作之后 ,不知道是其中哪一个有效了。因为上面问题提示已经变成问题2了,但我好长时间都没有注意到,所以浪费了好多时间搜索原来的问题上面。
详细报错如下:
error: RPC failed; curl 56 GnuTLS recv error (-110): The TLS connection was non-properly terminated.
然后在知乎上看到了这个方法,大喜过望,急忙尝试。但是在第8步遇到了问题。
编译和构建安装包: sudo dpkg-buildpackage -rfakeroot -b
提示
dpkg-genchanges: binary-only upload (no source code included)
dpkg-source --after-build git-2.7.4
dpkg-buildpackage: binary-only upload (no source included)
signfile git_2.7.4-0ubuntu1.7_amd64.changes
gpg: skipped "Marc Deslauriers ": No secret key
gpg: dpkg-sign.w8aj118V/git_2.7.4-0ubuntu1.7_amd64.changes: clearsign failed: No secret key
dpkg-buildpackage: error: failed to sign .changes file
在这个链接,找到了解决办法:在命令之后加上-uc -us
sudo dpkg-buildpackage -rfakeroot -b -uc -us
看了一下dpkg-buildpackage手册,感觉能对上上面的报错提醒,心中暗喜。
-us Do not sign the source package.
-uc Do not sign the .changes file.
果然这次编译就成功了,提示如下,没有最后的error了
dpkg-gencontrol: warning: -isp is deprecated; it is without effect
dpkg-deb: building package 'git-core' in '../git-core_2.7.4-0ubuntu1.7_all.deb'.
dpkg-genchanges -b >../git_2.7.4-0ubuntu1.7_amd64.changes
dpkg-genchanges: binary-only upload (no source code included)
dpkg-source --after-build git-2.7.4
dpkg-buildpackage: binary-only upload (no source included)
但执行第9步sudo dpkg -i git_2.17.1-1ubuntu0.4_amd64.deb
后,不知道成功了没有,因为提示太少了只有下面这几行。因为上一次第8步编译失败,强行执行第9步的时候,也是这个提示。此时内心仍然将信将疑。
sudo dpkg -i git_2.7.4-0ubuntu1.7_amd64.deb
(Reading database ... 332727 files and directories currently installed.)
Preparing to unpack git_2.7.4-0ubuntu1.7_amd64.deb ...
Unpacking git (1:2.7.4-0ubuntu1.7) over (1:2.7.4-0ubuntu1.7) ...
Setting up git (1:2.7.4-0ubuntu1.7) ...
重新git clone https://github.com/ApolloAuto/apollo.git
。
吃了个泡面,回来一看,竟然下载下来了!!!!!这一天花费也算值了!
安装git-lfs,使用git-lfs下载阿波罗,后面突然发现Apollo 3.5已经retire了这种方法。。。细思极恐,万一没发现这个,自己岂不是一直成功不了了。。。
搜索怎么从download下来的zip中恢复git的信息,然而最后放弃了,没搞明白
尝试用ssh方式下载 git clone [email protected]:ApolloAuto/apollo.git
,但是直接就提示key不对,不懂也不想花时间看,最后放弃了。
使用–depth git clone https://github.com/ApolloAuto/apollo.git --depth 1
,尝试了几次,放弃了
成功的道路真TM曲折,主要是对未知的恐惧,不知道问题出在哪里所以一筹莫展。 这才仅仅是个开头下载代码…后面还有编译,跑通,看源码…
不过,此过程也暴露了自己的几个问题: