我需要编译的程序依赖于带有Python Wrapper的VTK v5.4+。 VTK 不在标准 YUM 存储库中。
我该如何安装这个依赖项?
我正在开发者订阅下运行 RHEL 7。
答案1
安装VTK依赖项
确保 gcc 和 g++ 已安装:
yum install gcc
yum install gcc-c++
确保 cmake 已安装:
yum install cmake
确保已安装 OpenGL 模块
yum install mesa-libGL
yum install mesa-libGL-devel
(mesa-libGL 是 RHEL 使用的 MIT 许可的 OpenGL 实现)
确保 X11_Xt_LIB 已安装:
yum install libXt-devel
确保已安装 Python 库:
yum install python-devel
确保 NumPy 已安装
yum whatprovides numpy # this will provide a list of package names
sudo yum install <package name>
例子 :sudo yum install numpy-1.7.1-11.el7.x86_64
确保 TCL 已安装
sudo yum install tcl
安装 VTK(使用 Python 包装器)
安装最新的 tarball 源代码http://www.vtk.org/download/,例如
VTK-7.0.0.tar.gz
创建以下VTK文件结构:
mkdir $HOME/VTK
将 tarball 内容解压到 $HOME/VTK 文件夹中:
tar -xvf ~/Downloads/VTK-X.X.X.tar.gz -C ~/VTK
- 替换
X.X.X
为您的版本号 - 确保
~/Downloads/
包含您的 tarball
- 替换
将文件夹的内容
VTK-X.X.X
直接移入$HOME/VTK/
并删除文件夹VTK-X.X.X
修改你的
.bashrc
文件打开.bashrc:
sudo nano ~/.bashrc
- 添加
export VTK_ROOT=$HOME/VTK/
到文件 - 运行命令
source $HOME/.bashrc
使用 CMake 构建 VTK
cd $VTK_ROOT mkdir build cd build cmake ../ -DBUILD_SHARED_LIBS=ON -DBUILD_TESTING=ON -DCMAKE_BUILD_TYPE=Release -DVTK_WRAP_PYTHON=ON
注意:如果此命令显示没有 CMakeLists.txt,则路径“../”不会指向包含提取数据的文件夹。确保您已完成步骤 4 中指定的文件的移动。
make -j5
这将需要一个尽管第一次
make test
进行测试以确保一切安装正确,这也需要一段时间
- 结果应该类似于
99% tests passed, 7 tests failed out of 1448
。然而,失败越少越好。 - 如果其中许多都失败,可能是因为构建文件夹没有被源文件夹包围,例如
Accelerators
,,Charts
等等......
- 结果应该类似于
Python 包装器
修改你的.bashrc
文件
sudo nano ~/.bashrc
将以下行添加到文件中
export PYTHONPATH=$VTK_ROOT/build/Wrapping/Python/:$VTK_ROOT/build/bin:$VTK_ROOT/build/lib export LD_LIBRARY_PATH=$VTK_ROOT/build/bin:$VTK_ROOT/build/lib:$LD_LIBRARY_PATH
测试安装以确保其正常工作
python import vtk
假设
import vtk
命令没有向你抱怨,那么你就已经准备好了。
答案2
从源代码构建它的更好替代方法是安装包含它的存储库。 EPEL 确实有。
从以下位置下载最新的 epel-release*.rpmhttp://dl.fedoraproject.org/pub/epel/6/x86_64/
安装 epel-release rpm:
rpm -Uvh epel-release*.rpm
安装VTK包:
yum install vtk
答案3
在 Centos 7 / RHEL 上从二进制文件构建对我有用的是
步骤1
yum install epel-release
第2步
yum install vtk