我正在尝试安装 KeePassX。我从他们的网站下载了源代码,但每当我尝试以下操作时
sudo cmake -DCMAKE_INSTALL_PREFIX=/usr/local -DCMAKE_VERBOSE_MAKEFILE=ON -DCMAKE_BUILD_TYPE=<build> -DWITH_GUI_TESTS=ON
我收到以下错误
CMake Error at /usr/share/cmake-3.5/Modules/FindPackageHandleStandardArgs.cmake:148 (message):
Could NOT find Gcrypt (missing: GCRYPT_LIBRARIES GCRYPT_INCLUDE_DIR)
Call Stack (most recent call first):
/usr/share/cmake-3.5/Modules/FindPackageHandleStandardArgs.cmake:388 (_FPHSA_FAILURE_MESSAGE)
cmake/FindGcrypt.cmake:31 (find_package_handle_standard_args)
CMakeLists.txt:157 (find_package)
尝试用谷歌搜索该错误,但没有找到任何有用的信息。
答案1
似乎您缺少一些编译库。在运行 cmake 之前,您可以尝试安装libgcrypt20-dev
或libgcrypt11-dev
。
sudo apt-get install libgcrypt20-dev
然后再次运行 cmake。
顺便问一下,从官方 ubuntu 存储库安装它有什么问题?
sudo apt-get install keepassx
答案2
为什么你不能简单地按照说明进行操作? 你为何要想出这样令人气馁的事情sudo cmake
?
来自来源
构建依赖项
您的 PATH 中必须存在以下工具:
make cmake (>= 2.8.12) g++ (>= 4.7) or clang++ (>= 3.0)
需要以下库:
Qt 5 (>= 5.2): qtbase and qttools5 libgcrypt (>= 1.6) zlib libxi, libxtst, qtx11extras (optional for auto-type on X11)
在 Debian 上你可以使用以下命令安装它们:
sudo apt-get install build-essential cmake qtbase5-dev libqt5x11extras5-dev qttools5-dev qttools5-dev-tools libgcrypt20-dev zlib1g-dev libxi-dev libxtst-dev
构建步骤
从源代码编译:
mkdir build cd build cmake .. make [-jX]
您将在目录中获得已编译的 KeePassX 二进制文件
./build/src/
。要安装该二进制文件,请执行以下操作:
sudo make install
INSTALL 文件中有更详细的说明。