如下图所示,所需的文件一直下载不了,一直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文件,把里面对应的下载这个文件的命令给注释掉,然后直接把下载好的文件放到对应路径下就好了,这样就会直接跳过下载这一步,然后去执行后面的操作,且不会将给好的文件覆盖掉。