web-dev-qa-db-ja.com

cmakeがインストールされたパッケージを見つけられないのはなぜですか?

CUDAで実装されたニューラルネットワーク用に this repo を構築しようとしています。

そのリンクの指示に従い、シェルで次のアクションを実行しました。

git clone https://github.com/ANNetGPGPU/ANNetGPGPU.git
cd ANNetGPGPU
mkdir build
cd build
cmake .. && make

ただし、その最後の行を書き込むと、次のエラーが返されます。

CMake Error at /home/iibm/Documents/martins/cmake-3.12.1-Linux-x86_64/share/cmake-3.12/Modules/FindPackageHandleStandardArgs.cmake:137 (message):
  Could NOT find BZip2 (missing: BZIP2_LIBRARIES BZIP2_INCLUDE_DIR)
Call Stack (most recent call first):
  /home/iibm/Documents/martins/cmake-3.12.1-Linux-x86_64/share/cmake-3.12/Modules/FindPackageHandleStandardArgs.cmake:378 (_FPHSA_FAILURE_MESSAGE)
  /home/iibm/Documents/martins/cmake-3.12.1-Linux-x86_64/share/cmake-3.12/Modules/FindBZip2.cmake:62 (FIND_PACKAGE_HANDLE_STANDARD_ARGS)
  CMakeLists.txt:7 (FIND_PACKAGE)


-- Configuring incomplete, errors occurred!
See also "/home/iibm/Documents/martins/ANNetGPGPU/build/CMakeFiles/CMakeOutput.log".

ただし、bzip2 --versionは以下を返すため、bzip2は確実にインストールされます。

bzip2, a block-sorting file compressor.  Version 1.0.6, 6-Sept-2010.

   Copyright (C) 1996-2010 by Julian Seward.

それでは、どうすればこの問題を修正できますか、そしてなぜそれが起こっているのでしょうか?

1
Tendero

Bzip2などのライブラリを使用するソフトウェアをビルドする場合、コンパイラに必要なヘッダーファイル(*.h)およびリンカーに必要なライブラリファイルを含む-devパッケージをインストールする必要があります。

Ubuntuのbzip2の場合、必要なファイルを含むパッケージの名前はlibbz2-devであるため、このパッケージをインストールすることでこの問題を解決できます。

Sudo apt-get install libbz2-dev
4
filbranden