首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >CMake错误:archive_write_finish_entry()出现问题:无法恢复时间

CMake错误:archive_write_finish_entry()出现问题:无法恢复时间
EN

Stack Overflow用户
提问于 2020-04-29 03:31:15
回答 1查看 1.1K关注 0票数 0

我在尝试按照本教程https://visualgdb.com/tutorials/raspberry/opencv/build/交叉编译OpenCV和VisualGDB时遇到了这个问题

在命令行输入tar -xf b624b995ec9c439cbc2e9e6ee940d3a2-v0.1.1f.zip时,我也得到了同样的错误。

它在CMakeList的什么地方使用tar.exe命令?有没有可能用像7zip这样不会出错的东西来代替它?或者可以通过更新tar来修复这个问题?

即使作为管理员,我也无法从C:\windows\System32中删除或替换tar.exe

有没有解决这个问题的办法?

环顾网络,tar甚至不支持zip文件,为什么要解压zip文件呢?

谢谢

代码语言:javascript
复制
Performing Test HAVE_CXX_WNO_ENUM_COMPARE_SWITCH
Performing Test HAVE_CXX_WNO_ENUM_COMPARE_SWITCH - Failed
Performing Test HAVE_CXX_WNO_SUGGEST_OVERRIDE
Performing Test HAVE_CXX_WNO_SUGGEST_OVERRIDE - Success
Performing Test HAVE_CXX_WNO_INCONSISTENT_MISSING_OVERRIDE
Performing Test HAVE_CXX_WNO_INCONSISTENT_MISSING_OVERRIDE - Failed
Performing Test HAVE_CXX_WNO_IMPLICIT_FALLTHROUGH
Performing Test HAVE_CXX_WNO_IMPLICIT_FALLTHROUGH - Success
Performing Test HAVE_CXX_WNO_ARRAY_BOUNDS
Performing Test HAVE_CXX_WNO_ARRAY_BOUNDS - Success
Performing Test HAVE_CXX_WNO_CLASS_MEMACCESS
Performing Test HAVE_CXX_WNO_CLASS_MEMACCESS - Success
ADE: Download: v0.1.1f.zip
CMake Error: Problem with archive_write_finish_entry(): Can't restore time
CMake Error: Problem extracting tar: E:/Projects/temp/OpenCV/opencv/.cache/ade/b624b995ec9c439cbc2e9e6ee940d3a2-v0.1.1f.zip
CMake Error at cmake/OpenCVDownload.cmake:240 (message):
  ADE: Unpack failed: 1
Call Stack (most recent call first):
  modules/gapi/cmake/DownloadADE.cmake:5 (ocv_download)
  modules/gapi/cmake/init.cmake:19 (include)
  cmake/OpenCVModule.cmake:312 (include)
  cmake/OpenCVModule.cmake:375 (_add_modules_1)
  modules/CMakeLists.txt:7 (ocv_glob_modules)

Configuring incomplete, errors occurred!
See also "E:/Projects/temp/OpenCV/opencv/VisualGDB/Debug/CMakeFiles/CMakeOutput.log".
See also "E:/Projects/temp/OpenCV/opencv/VisualGDB/Debug/CMakeFiles/CMakeError.log".
CMake Deprecation Warning:
  The 'cmake-server(7)' is deprecated.  Please port clients to use the
  'cmake-file-api(7)' instead.

Exception reported by CMake server: Configuration failed.
wh1+x: Exception reported by CMake server: Configuration failed.
   at wh1.c2[_InType,_OutType](_InType a)
   at g61.x(String[] a)
   at g61.l_2(Hello a)
   at wh1.m1()
EN

回答 1

Stack Overflow用户

发布于 2020-04-29 04:52:42

代码语言:javascript
复制
...
Performing Test HAVE_CXX_WNO_CLASS_MEMACCESS - Success
ADE: Download: v0.1.1f.zip
CMake Error: Problem with archive_write_finish_entry(): Can't restore time
CMake Error: Problem extracting tar: E:/Projects/opencv/.cache/ade/b624b995ec9c439cbc2e9e6ee940d3a2-v0.1.1f.zip
CMake Error at cmake/OpenCVDownload.cmake:240 (message):

我将这个问题追溯到了cmake\opencvdownload.cmake,在第236行

execute_process(COMMAND "${CMAKE_COMMAND}" -E tar xzf "${CACHE_CANDIDATE}" WORKING_DIRECTORY "${DL_DESTINATION_DIR}" RESULT_VARIABLE res)

如果我运行相同的命令行,我会得到这个错误:

代码语言:javascript
复制
opencv\.cache\ade>cmake -E tar xzf b624b995ec9c439cbc2e9e6ee940d3a2-v0.1.1f.zip
CMake Error: Problem with archive_write_finish_entry(): Can't restore time
CMake Error: Problem extracting tar: b624b995ec9c439cbc2e9e6ee940d3a2-v0.1.1f.zip

然而,如果我用7zip替换它,它可以很好地工作7z x b624b995ec9c439cbc2e9e6ee940d3a2-v0.1.1f.zip

但是,CMake不允许我使用"Cmake -E ...“从命令行执行7zip命令。

所以临时的解决方案直到他们在OpenCV或Cmake中修复了这个问题

修改第236行的文件cmake\opencvdownload.cmake更改

execute_process(COMMAND "${CMAKE_COMMAND}" -E tar xzf "${CACHE_CANDIDATE}"

execute_process(COMMAND 7z x "${CACHE_CANDIDATE}"

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61488479

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档