FastDeploy icon indicating copy to clipboard operation
FastDeploy copied to clipboard

jetson上编译报错 CMake Error: Problem with archive_read_open_file(): Unrecognized archive format

Open jasper-cell opened this issue 3 years ago • 16 comments

环境

  • 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

jasper-cell avatar Dec 01 '22 15:12 jasper-cell

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'

jiangjiajun avatar Dec 02 '22 01:12 jiangjiajun

感谢您的回答。我尝试过自己下载tar包,但是我每次make的时候都会自动去下载然后覆盖我自己下载好的tar包。请问如何关闭自动下载呢?

jasper-cell avatar Dec 02 '22 02:12 jasper-cell

你的cmake版本是多少呢,我测试在编译过程中,如果下载了,他确实会打出下载的提示,但检测到本地有下载的tar.gz后,会快速跳过

jiangjiajun avatar Dec 02 '22 02:12 jiangjiajun

image image 第一张图是版本,然后第二张图显示URL_HASH不对应?

jasper-cell avatar Dec 02 '22 02:12 jasper-cell

在第一次make 下载后, 到第二次make,这中间你有改动过什么吗,例如删除过build目录下文件?

jiangjiajun avatar Dec 02 '22 02:12 jiangjiajun

image 没有改动。只是第一次make的时候,他提示解压报错。我用file命令看了下是一个html的格式,所以就自己下载了对应的tar包。我是从以上链接地址下载的。然后把tar包放在了这个对应目录/home/lcfc/fastdeploy_fast/FastDeploy-develop/build/third_libs/onnxruntime/src/下。但是我再make的时候就告诉我url hash的问题,然后就把我下载的包删了,又去重新自动下载

jasper-cell avatar Dec 02 '22 02:12 jasper-cell

您的tar包下载地址和放置路径是否有要求呢?或者能否关闭自动下载

jasper-cell avatar Dec 02 '22 02:12 jasper-cell

是下载的同名文件,放置在这两个目录下吗 image

jiangjiajun avatar Dec 02 '22 02:12 jiangjiajun

image 是的,不过我是在本机上下载后,传到板子上对应路径的。这个会有影响吗

jasper-cell avatar Dec 02 '22 02:12 jasper-cell

将这两个文件,放到例如 /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

jiangjiajun avatar Dec 02 '22 03:12 jiangjiajun

image 感谢您的解答,但是我重新make后,出现了上图的问题,该如何解决呢

jasper-cell avatar Dec 02 '22 03:12 jasper-cell

我刚这样改了后,测试没问题。 清空build目录,重新cmake和make试下呢?

jiangjiajun avatar Dec 02 '22 03:12 jiangjiajun

image 是修改这两处吧

jasper-cell avatar Dec 02 '22 04:12 jasper-cell

image 我按照上述操作后,还是出现了上图问题

jasper-cell avatar Dec 02 '22 04:12 jasper-cell

image 是否跟cmake时候出现的这个错误有关,也需要自己下载后再cmake吗

jasper-cell avatar Dec 02 '22 04:12 jasper-cell

对的,按同样的方式,这三个文件在jetson上都需要下载

jiangjiajun avatar Dec 02 '22 05:12 jiangjiajun

如何下载那两个包

kewuyu avatar Jul 08 '23 07:07 kewuyu

@jasper-cell 可以发一下那两个包吗

kewuyu avatar Jul 08 '23 09:07 kewuyu