【问题标题】:CMake Error: Problem with archive_write_finish_entry(): Can't restore timeCMake 错误:archive_write_finish_entry() 的问题:无法恢复时间
【发布时间】:2020-04-28 19:31:15
【问题描述】:

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

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

使用命令tar.exe 在CMakeList 中的哪个位置?是否可以用不会出错的东西(如 7zip)替换它?还是可以通过更新 tar 来解决这个问题?

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

这个问题有解决办法吗?

网上查了一下,tar连zip文件都不支持,为什么要解压一个zip文件?

谢谢

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()

【问题讨论】:

    标签: cmake visualgdb


    【解决方案1】:
    ...
    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)

    如果我运行相同的命令行,我会收到此错误:

    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 不允许我从命令行执行 7zip 命令 使用“Cmake -E ...”

    所以临时解决方案,直到他们在 OpenCV 或 Cmake 中解决此问题

    在第 236 行修改文件 cmake\opencvdownload.cmake 改变

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-04-09
      • 1970-01-01
      • 1970-01-01
      • 2016-12-16
      • 2016-07-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多