其他分享
首页 > 其他分享> > OAI 4G搭建(二):git clone遇到的问题

OAI 4G搭建(二):git clone遇到的问题

作者:互联网

问题一: error: RPC failed; curl 56 GnuTLS recv error (-9): A TLS packet with unexpected length was received.

查找相关资料, 尝试了以下方法:

  1. 修改git配置:
    可以使用下面的代码查看自己的git配置
git config -l 

可能是因为项目太大引发该错误, 因此需要增大缓存区

git config --global http.postBuffer 524288000 # httpBuffer加大 
git config --global http.maxRequestBuffer 100M
git config --global core.compression 0 # 压缩配置

对我无用

  1. 更换协议
    不使用https协议, 而使用ssh
    sudo git clone https://gitlab.eurecom.fr/oai/openairinterface5g.git
    更换为sudo git clone git://gitlab.eurecom.fr/oai/openairinterface5g.git
    对我无用

  2. 重新编译git并安装
    链接:https://zhuanlan.zhihu.com/p/53961303

# 首先安装一些必要的环境和依赖
sudo apt-get install build-essential fakeroot dpkg-dev
# 在home路径下创建一个名为git-rectify的路径(路径名不重要,可以为其他名称)
mkdir ~/git-rectify
# 进入路径,获取git的源文件
cd ~/git-rectify
apt-get source git
# 安装依赖
sudo apt-get build-dep git
#  安装libcurl的依赖文件
sudo apt-get install libcurl4-openssl-dev
# 进入目录(原链接中这里有错误,不需要解压步骤)
cd git-2.17.1/
# 修改文件内容,需要修改两个文件
vim ./debian/control    # 把libcurl4-gnutls-dev 修改为 libcurl4-openssl-dev
vim ./debian/rules      # 把TEST=test整行删除
# 编译和构建安装包
sudo dpkg-buildpackage -rfakeroot -b
# 我在这一步出现错误error: failed to sign .changes file 
# 在后面再加两个参数-uc -us 即可解决该问题
# 即我运行的是 sudo dpkg-buildpackage -rfakeroot -b -uc -us
# 退回上一级目录,安装编译好的安装包
cd ..
sudo dpkg -i git_2.17.1-1ubuntu0.4_amd64.deb

对我无用, 我再次git clone后变成了问题三

问题二: error: RPC failed; curl 56 GnuTLS recv error (-54): Error in the pull function.

前面的操作排列组合, 出现过这样的错误提示, 但是我搜资料发现该问题与问题一解决方法一样, 而且有时候提示该问题, 有时候提示问题一, 就不再展开了.

问题三:error: RPC failed; curl 18 transfer closed with outstanding read data remaining

这个问题的解决方案也有前面说过的增大缓存区和换协议, 这里再介绍几个新的方法:

  1. 浅克隆. 克隆的时候,先少克隆一些,比如只克隆每个文件只取最近一次提交,不是整个历史版本.
git clone https://github.com/flutter/flutter.git --depth 1

之后再进入目录下, 更新

git fetch --unshallow

我没有尝试这种方法,有效性未知

  1. 寻找github最新网址, 修改hosts配置
    https://blog.csdn.net/qq_17282141/article/details/99671865这个链接中,博主给出了一个终极解决方案, 我还没有尝试

  2. 更新git版本
    我发现我的git版本是2.7, 官网已经更新到2.30了, 于是乎我更新了git版本试了试.
    下面代码可以查看git版本:

git --version

首先添加git软件源:

sudo add-apt-repository ppa:git-core/ppa

接着, 更新软件列表, 升级更新git

sudo apt update
sudo apt install -f
sudo apt upgrade

更新到了2.29.0版本, 再次尝试clone代码, 终于成功了.

标签:git,--,clone,sudo,apt,OAI,error
来源: https://blog.csdn.net/weixin_43116558/article/details/113251909