CMake Ошибка: проблема с archive_write_finish_entry (): не могу восстановить время - PullRequest
0 голосов
/ 28 апреля 2020

У меня возникает эта проблема при попытке кросс-компиляции OpenCV с VisualGDB после этого урока https://visualgdb.com/tutorials/raspberry/opencv/build/

Я также получаю ту же ошибку при вводе tar -xf b624b995ec9c439cbc2e9e6ee940d3a2-v0.1.1f.zip из командной строки.

Где в CMakeList используется команда tar.exe? Можно ли заменить его чем-то, что не выдает ошибку, как 7zip? Или это можно исправить обновлением tar?

Я не смог удалить или заменить tar.exe из C: \ windows \ System32 даже как администратор

Есть ли способ решения этой проблемы?

Просматривая онлайн, 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()

1 Ответ

0 голосов
/ 28 апреля 2020
...
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

Изменить файл cmake\opencvdownload.cmake в строке 236, изменив

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

на

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

...