Почему cmake не находит установленный пакет?
Я пытаюсь построить этот репозиторий для нейронных сетей, реализованных в CUDA.
Я следовал инструкциям в этой ссылке и выполнил следующие действия над оболочкой:
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 определенно установлен, так как bzip2 --version
возвращает:
bzip2, a block-sorting file compressor. Version 1.0.6, 6-Sept-2010.
Copyright (C) 1996-2010 by Julian Seward.
Итак, как я могу исправить эту проблему, и почему это происходит?
1 ответ
Решение
Когда вы создаете программное обеспечение, которое использует библиотеки, такие как bzip2, вам необходимо установить пакет -dev, который включает файлы заголовков (*.h
) необходимые компилятору и файлы библиотеки, необходимые компоновщику.
В вашем случае для bzip2 в Ubuntu имя пакета с нужными вам файлами libbz2-dev
, так что вы можете решить эту проблему, установив этот пакет:
sudo apt-get install libbz2-dev