OpenCVのインストール中に遭遇したエラー(CMake Error: Problem with archive_write_finish_entry()、CMake Error: Problem extracting tar)
こんにちは、参禅町です。今日は、wslでC++のためのOpenCVのインストール中にエラーに遭遇したのでそれについて書いていきます。
環境
Windows 11 Pro 22H2
WSL2
Ubuntu 22.04.2 LTS
エラー内容
こちらの記事を参考にWSLでcmakeコマンド(cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr/local -DWITH_TBB=ON -DWITH_OPENGL=ON -DOPENCV_EXTRA_MODULES_PATH=/mnt/l/git/opencv_contrib/modules -DOPENCV_GENERATE_PKGCONFIG=ON ..
)を実行したところ、以下のようなエラーが発生しました。
CMake Error: Problem with archive_write_finish_entry(): Can't restore time CMake Error: Problem extracting tar: /mnt/l/git/opencv/.cache/ade/fa4b3e25167319cb0fa9432ef8281945-v0.1.2a.zip CMake Error at cmake/OpenCVDownload.cmake:286 (message): ADE: Unpack failed: 1 Call Stack (most recent call first): modules/gapi/cmake/DownloadADE.cmake:5 (ocv_download) modules/gapi/cmake/init.cmake:20 (include) cmake/OpenCVModule.cmake:298 (include) cmake/OpenCVModule.cmake:361 (_add_modules_1) cmake/OpenCVModule.cmake:408 (ocv_glob_modules) CMakeLists.txt:956 (ocv_register_modules)
原因
いろいろ検索した結果、以下のIssueが出てきました。この方の場合は、OpenCVのリポジトリがあるストレージがフォーマットがexFAT
であることが原因だったそうです。
私は今回の場合、外付けssdにリポジトリをクローンしてインストールを行っていました。そこで、ssdのフォーマットを確認したところ、
と、フォーマットがexFAT
になっていました。
解決策
原因がストレージのフォーマットなので、exFAT
以外でフォーマットされているストレージにOpenCVのファイルを移動してインストールを行えばよいです。フォルダが移動されるので、フォルダ
ごとコピーした場合は、cmakeコマンドを実行する前にCMakeCache.txt
を実行するのを忘れないように気を付けてください。