本文档记录了在 Redhat 远程服务器上安装 Openface 的过程
GCC
我的 gcc 版本:
> gcc --version
gcc (GCC) 4.4.7 20120313 (Red Hat 4.4.7-16)
鉴于有一些其他包会依赖于 gcc4.4.7 我没有对 gcc 进行更新。
Cmake
准备了 cmake-3.8.1.tar 的安装包,进行安装操作:
> tar -xvf cmake-3.8.1.tar
> cd cmake-3.8.1/
> ./bootstrap
> gmake
> gmake install
若无报错,查看 cmake 版本进行安装验证:
> cmake --version
cmake version 3.8.1
Blas
Openface 官方说的是需要安装 libopenblas-dev
和 liblapack-dev
两个包,Ubuntu 下可以输入以下命令安装:
> sudo apt-get install libopenblas-dev liblapack-dev
对于与外网隔绝的 Redhat 系统,我准备了以下几个包:
- gcc-gfortran-4.4.7-16.el6.x86_64.rpm
- pb-binutils224-2.24-1.x86_64.rpm
- blas-3.2.1-5.el6.x86_64.rpm
- blas-devel-3.2.1-5.el6.x86_64.rpm
- lapack-3.2.1-5.el6.x86_64.rpm
- lapack-devel-3.2.1-5.el6.x86_64.rpm
- OpenBLAS-develop
> rpm -ivh gcc-gfortran-4.4.7-16.el6.x86_64.rpm
> rpm -ivh pb-binutils224-2.24-1.x86_64.rpm
> export PATH=/opt/pb/binutils-2.24/bin:$PATH
这些包我不确定是否一定要安装,当时有些混乱,但我是安装上了。
> rpm -ivh blas-3.2.1-5.el6.x86_64.rpm
> rpm -ivh blas-devel-3.2.1-5.el6.x86_64.rpm
> rpm -ivh lapack-3.2.1-5.el6.x86_64.rpm
> rpm -ivh lapack-devel-3.2.1-5.el6.x86_64.rpm
正式安装OpenBLAS:
> cd /path/to/OpenBLAS-develop/
# compiling
> make
# installing on /opt/OpenBLAS
> make PREFIX=/opt/OpenBLAS install
# copying libraries
> sudo cp /opt/OpenBLAS/lib/libopenblas.so /opt/OpenBLAS/lib/liblapack.so.3
> sudo cp /opt/OpenBLAS/lib/libopenblas.so /opt/OpenBLAS/lib/libblas.so.3
OpenCV
Dependencies
Ubuntu 下可以直接安装:
> sudo apt-get install git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev
> sudo apt-get install python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev checkinstall
Redhat 下通过 yum 源安装:
> yum install gtk2-devel
> yum install libdc1394-devel
> yum install libv4l-devel
> yum install ffmpeg-devel
> yum install gstreamer-plugins-base-devel
可选的依赖包:
> yum install libpng-devel
> yum install libjpeg-turbo-devel
> yum install jasper-devel
> yum install openexr-devel
> yum install libtiff-devel
> yum install libwebp-devel
> yum install tbb-devel
> yum install eigen3-devel
> yum install python-sphinx
> yum install texlive
下载 OpenCV
> yum install git
> git clone https://github.com/Itseez/opencv.git
Build
> cd opencv-3.1.0
> mkdir build
> cd build
> cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local ..
cmake 过程中会报以下错误:
-- ICV: Downloading ippicv_linux_20151201.tgz...
CMake Error at 3rdparty/ippicv/downloader.cmake:73 (file):
file DOWNLOAD HASH mismatch
for file: [/path/to/opencv/3rdparty/ippicv/downloads/linux-808b791a6eac9ed78d32a7666804320e/ippicv_linux_20151201.tgz]
expected hash: [808b791a6eac9ed78d32a7666804320e]
actual hash: [d41d8cd98f00b204e9800998ecf8427e]
status: [6;"Couldn't resolve host name"]
...
...
这是由于 ippicv 没有下载成功,ippicv 是个并行计算库,可以不用,但我选择手动下载了:
下载地址
> mkdir -p 3rdparty/ippicv/downloads/linux-808b791a6eac9ed78d32a7666804320e/
> cp ippicv_linux_20151201.tgz 3rdparty/ippicv/downloads/linux-808b791a6eac9ed78d32a7666804320e/
> cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local ..