CMake找不到X11库

衍射

我正在尝试在RHEL 7.2(XFCE环境)上编译基于GUI的程序包。但是每次我运行时cmake ..,报告都会失败:

[user@localhost build]$ cmake ..
-- BUILD TYPE set to the default type:  'Release'
-- Setting fallback CUDA_ARCH=35
-- Setting cpu precision to double
-- Setting gpu precision to single
-- Using cuda wrapper to compile....
-- Cuda version is >= 7.5 and single-precision build, enable double usage warning.
-- MPI_INCLUDE_PATH : /usr/local/openmpi-3.0/include
-- MPI_LIBRARIES : /usr/local/openmpi-3.0/lib/libmpi.so
-- MPI_CXX_INCLUDE_PATH : /usr/local/openmpi-3.0/include
-- MPI_CXX_LIBRARIES : /usr/local/openmpi-3.0/lib/libmpi.so
-- 
-- ------------------ YOU HAVE NO X11-LIBS ------------------
-- CCmake found no X11-libs on your system, which are required for the GUI.
--  You CAN add the flag -DGUI=OFF to avoid using X11
CMake Error at CMakeLists.txt:200 (message):
  X11 is required for GUI.

我还检查了系统中已安装的X11库:

[root@localhost build]# rpm -qa | grep libX11
libX11-devel-1.6.5-1.el7.x86_64
libX11-common-1.6.5-1.el7.noarch
libX11-1.6.5-1.el7.x86_64

尽管如此,其他GUI程序仍能正常运行。我该如何解决这个问题?

努德·拉森(Knud Larsen)

以CentOS 7为例,构建Relion。

# yum install openmpi-devel fftw-devel fltk-devel
# cp /usr/lib64/openmpi/bin/* /usr/bin/

git clone https://github.com/3dem/relion.git
cd relion/
mkdir -p external/fltk/lib      // 'make install' fails if no (empty) lib/ folder
mkdir build
cd build/
cmake ..
make
.
[100%] Built target tiltpair_plot

# make install

结果:Relion-git.040918-1.el7.x86_64.rpm(2.0MB)https://drive.google.com/file/d/1c3loJFCladmqvemHyKu44FxZzdOr-XJN/view?usp=sharing→提供/ usr / local / bin / {45文件},/ usr / local / lib / {gui_background.xpm,librelion_gui_lib.so,librelion_lib.so }

下载并安装 : cd Downloads/ && yum install ./Relion-git.040918-1.el7.x86_64.rpm

$ relion :Relion GUI打开确定。


$ ldd relion | grep Xlib
        libXrender.so.1 => /lib64/libXrender.so.1 (0x00007f2cf841c000)
        libXcursor.so.1 => /lib64/libXcursor.so.1 (0x00007f2cf8211000)
        libXfixes.so.3 => /lib64/libXfixes.so.3 (0x00007f2cf800b000)
        libXext.so.6 => /lib64/libXext.so.6 (0x00007f2cf7df8000)
        libXft.so.2 => /lib64/libXft.so.2 (0x00007f2cf7be2000)
        libXinerama.so.1 => /lib64/libXinerama.so.1 (0x00007f2cf77a1000)
        libX11.so.6 => /lib64/libX11.so.6 (0x00007f2cf7463000)
        libXau.so.6 => /lib64/libXau.so.6 (0x00007f2cf60b7000)

# yum provides */libXcursor.so.1
等等等等来决定您的“缺少libX **-devel”的名称。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章