jetson上编译报错 CMake Error: Problem with archive_read_open_file(): Unrecognized archive format
环境
- FastDeploy版本: FastDeploy-develop
- 系统平台: Linux x64(Ubuntu 18.04)
- 硬件: jetson
- 编译语言: C++
问题描述
[ 18%] Performing download step (download, verify and extract) for 'extern_onnxruntime' [ 18%] Performing download step (download, verify and extract) for 'extern_paddle2onnx' [ 18%] Built target yaml-cpp -- File already exists but no hash specified (use URL_HASH): file='/home/lcfc/fastdeploy_fast/FastDeploy-develop/build/third_libs/onnxruntime/src/onnxruntime-linux-aarch64-1.12.0.tgz' -- File already exists but no hash specified (use URL_HASH): file='/home/lcfc/fastdeploy_fast/FastDeploy-develop/build/third_libs/paddle2onnx/src/paddle2onnx-linux-aarch64-1.0.4rc0.tgz' Old file will be removed and new file downloaded from URL. Old file will be removed and new file downloaded from URL. -- Downloading... dst='/home/lcfc/fastdeploy_fast/FastDeploy-develop/build/third_libs/paddle2onnx/src/paddle2onnx-linux-aarch64-1.0.4rc0.tgz' timeout='none' -- Downloading... dst='/home/lcfc/fastdeploy_fast/FastDeploy-develop/build/third_libs/onnxruntime/src/onnxruntime-linux-aarch64-1.12.0.tgz' timeout='none' -- Using src='https://bj.bcebos.com/fastdeploy/third_libs/paddle2onnx-linux-aarch64-1.0.4rc0.tgz' -- Using src='https://bj.bcebos.com/paddle2onnx/libs/onnxruntime-linux-aarch64-1.12.0.tgz' Scanning dependencies of target yaml-cpp-read Scanning dependencies of target yaml-cpp-parse [ 18%] Building CXX object third_party/yaml-cpp/util/CMakeFiles/yaml-cpp-parse.dir/parse.cpp.o [ 18%] Building CXX object third_party/yaml-cpp/util/CMakeFiles/yaml-cpp-read.dir/read.cpp.o -- Downloading... done -- Downloading... done -- extracting... src='/home/lcfc/fastdeploy_fast/FastDeploy-develop/build/third_libs/paddle2onnx/src/paddle2onnx-linux-aarch64-1.0.4rc0.tgz' -- extracting... src='/home/lcfc/fastdeploy_fast/FastDeploy-develop/build/third_libs/onnxruntime/src/onnxruntime-linux-aarch64-1.12.0.tgz' dst='/home/lcfc/fastdeploy_fast/FastDeploy-develop/build/third_libs/paddle2onnx/src/extern_paddle2onnx' dst='/home/lcfc/fastdeploy_fast/FastDeploy-develop/build/third_libs/onnxruntime/src/extern_onnxruntime' -- extracting... [tar xfz] -- extracting... [tar xfz] CMake Error: Problem with archive_read_open_file(): Unrecognized archive format CMake Error: Problem extracting tar: /home/lcfc/fastdeploy_fast/FastDeploy-develop/build/third_libs/paddle2onnx/src/paddle2onnx-linux-aarch64-1.0.4rc0.tgz CMake Error: Problem with archive_read_open_file(): Unrecognized archive format CMake Error: Problem extracting tar: /home/lcfc/fastdeploy_fast/FastDeploy-develop/build/third_libs/onnxruntime/src/onnxruntime-linux-aarch64-1.12.0.tgz -- extracting... [error clean up] CMake Error at extern_paddle2onnx-stamp/extract-extern_paddle2onnx.cmake:33 (message): error: extract of '/home/lcfc/fastdeploy_fast/FastDeploy-develop/build/third_libs/paddle2onnx/src/paddle2onnx-linux-aarch64-1.0.4rc0.tgz' failed
-- extracting... [error clean up] CMake Error at extern_onnxruntime-stamp/extract-extern_onnxruntime.cmake:33 (message): error: extract of '/home/lcfc/fastdeploy_fast/FastDeploy-develop/build/third_libs/onnxruntime/src/onnxruntime-linux-aarch64-1.12.0.tgz' failed
CMakeFiles/extern_paddle2onnx.dir/build.make:89: recipe for target 'third_libs/paddle2onnx/src/extern_paddle2onnx-stamp/extern_paddle2onnx-download' failed make[2]: *** [third_libs/paddle2onnx/src/extern_paddle2onnx-stamp/extern_paddle2onnx-download] Error 1 CMakeFiles/Makefile2:67: recipe for target 'CMakeFiles/extern_paddle2onnx.dir/all' failed make[1]: *** [CMakeFiles/extern_paddle2onnx.dir/all] Error 2 make[1]: *** Waiting for unfinished jobs.... CMakeFiles/extern_onnxruntime.dir/build.make:89: recipe for target 'third_libs/onnxruntime/src/extern_onnxruntime-stamp/extern_onnxruntime-download' failed make[2]: *** [third_libs/onnxruntime/src/extern_onnxruntime-stamp/extern_onnxruntime-download] Error 1 CMakeFiles/Makefile2:104: recipe for target 'CMakeFiles/extern_onnxruntime.dir/all' failed make[1]: *** [CMakeFiles/extern_onnxruntime.dir/all] Error 2 [ 18%] Linking CXX executable parse [ 18%] Linking CXX executable read [ 18%] Built target yaml-cpp-read [ 18%] Built target yaml-cpp-parse Makefile:129: recipe for target 'all' failed make: *** [all] Error 2
It looks like the error occurred while extracting the download tar file. Could you check these two download files, if you can extract these files by yourself. Maybe there's something wrong while downloading them.
file='/home/lcfc/fastdeploy_fast/FastDeploy-develop/build/third_libs/onnxruntime/src/onnxruntime-linux-aarch64-1.12.0.tgz'
-- File already exists but no hash specified (use URL_HASH):
file='/home/lcfc/fastdeploy_fast/FastDeploy-develop/build/third_libs/paddle2onnx/src/paddle2onnx-linux-aarch64-1.0.4rc0.tgz'
感谢您的回答。我尝试过自己下载tar包,但是我每次make的时候都会自动去下载然后覆盖我自己下载好的tar包。请问如何关闭自动下载呢?
你的cmake版本是多少呢,我测试在编译过程中,如果下载了,他确实会打出下载的提示,但检测到本地有下载的tar.gz后,会快速跳过
第一张图是版本,然后第二张图显示URL_HASH不对应?
在第一次make 下载后, 到第二次make,这中间你有改动过什么吗,例如删除过build目录下文件?
没有改动。只是第一次make的时候,他提示解压报错。我用file命令看了下是一个html的格式,所以就自己下载了对应的tar包。我是从以上链接地址下载的。然后把tar包放在了这个对应目录/home/lcfc/fastdeploy_fast/FastDeploy-develop/build/third_libs/onnxruntime/src/下。但是我再make的时候就告诉我url hash的问题,然后就把我下载的包删了,又去重新自动下载
您的tar包下载地址和放置路径是否有要求呢?或者能否关闭自动下载
是下载的同名文件,放置在这两个目录下吗

是的,不过我是在本机上下载后,传到板子上对应路径的。这个会有影响吗
将这两个文件,放到例如 /Usr/Downloads下
然后修改 FastDeploy/cmake/paddle2onnx.cmake https://github.com/PaddlePaddle/FastDeploy/blob/42c3e7c89d189de224ebc3bf49da85100537edf7/cmake/paddle2onnx.cmake#L45 将这行改为
set(PADDLE2ONNX_URL_BASE "/Usr/Downloads/")
onnxruntime同理,修改FastDeploy/cmake/onnxruntime.cmake,将URL前辍改为目录路径即可。
然后重新cmake,和make
感谢您的解答,但是我重新make后,出现了上图的问题,该如何解决呢
我刚这样改了后,测试没问题。 清空build目录,重新cmake和make试下呢?
是修改这两处吧
我按照上述操作后,还是出现了上图问题
是否跟cmake时候出现的这个错误有关,也需要自己下载后再cmake吗
对的,按同样的方式,这三个文件在jetson上都需要下载
如何下载那两个包
@jasper-cell 可以发一下那两个包吗