ubuntu下使用cmake编译的时候文件下载不了的解决方案

15 篇文章 1 订阅
9 篇文章 0 订阅

  如下图所示,所需的文件一直下载不了,一直retry。

[ 20%] Built target webp
-- File already exists but no hash specified (use URL_HASH):
  file='/home/xxx/workspace/demon/lmbspecialops/build/lz4/src/r131.tar.gz'
Old file will be removed and new file downloaded from URL.
-- Downloading...
   dst='/home/xxx/workspace/demon/lmbspecialops/build/lz4/src/r131.tar.gz'
   timeout='none'
-- Using src='https://github.com/lz4/lz4/archive/r131.tar.gz'
-- Retrying...
-- Using src='https://github.com/lz4/lz4/archive/r131.tar.gz'
-- Retry after 5 seconds (attempt #2) ...
-- Using src='https://github.com/lz4/lz4/archive/r131.tar.gz'
-- Retry after 5 seconds (attempt #3) ...
-- Using src='https://github.com/lz4/lz4/archive/r131.tar.gz'
-- Retry after 15 seconds (attempt #4) ...

  原因有两个,一个是该链接已经失效了,另一个是该链接需要翻墙才能上。如果是链接失效了,那么你就需要去网上搜一下这个包,找到可用的链接然后在对应的CMakeLists.txt里进行替换。如果是需要翻墙才能访问,那么你需要给终端加个代理,可以参考这里。或者是手动复制下载的地址,然后在浏览器中下载好之后把文件放到指定的目录下。比如我这里的下载地址是https://github.com/lz4/lz4/archive/r131.tar.gz,然后需要放置的地址为/home/xxx/workspace/demon/lmbspecialops/build/lz4/src/r131.tar.gz。但是这里有个问题,那就是当你把对应文件放到对应位置后,重新执行make命令,它会直接把已有的同名文件给覆盖掉,然后重新下载,可是它又下载不到。。。正如输出所说的:Old file will be removed and new file downloaded from URL.。这就很坑爹了。还一个解决办法就是,你找到对应的CMakeLists.txt或者是Makefile文件,把里面对应的下载这个文件的命令给注释掉,然后直接把下载好的文件放到对应路径下就好了,这样就会直接跳过下载这一步,然后去执行后面的操作,且不会将给好的文件覆盖掉。

  • 5
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

zeeq_

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值