首先,需更新yum,输入命令:
yum install -y gcc
yum install -y gcc-c++
yum install -y python38-devel
1、下载Cmake并编译:
wget https://cmake.org/files/v3.23/cmake-3.23.2.tar.gz
tar -xzvf cmake-3.23.2.tar.gz
cd cmake-3.23.2
./bootstrap
make && make install
cmake --version
2、下载boost并编译:
wget https://boostorg.jfrog.io/artifactory/main/release/1.79.0/source/boost_1_79_0.tar.bz2
tar -jxvf boost_1_79_0.tar.bz2
cd boost_1_79_0
./bootstrap.sh --with-libraries=python
./b2 && ./b2 install
默认的头文件在/usr/local/include/boost目录下。库文件在/usr/local/lib/目录下。
3、下载dlib源码,并cmake编译
git clone https://github.com/davisking/dlib.git
cd dlib
mkdir build
cd build
cmake ..
cmake --build .
4、接着回到上一级目录,输入命令,开始安装dlib:
cd ..
python3 setup.py install
结果building时,会一直卡在87%不动了,如下图所示:
5、后面采用了下面的方式,进行安装:
python3 setup.py sdist
python3 -m pip install dist/*
结果出现这个问题,c++: fatal error: Killed signal terminated program cc1plus,结果一查是运行内存不足的问题,
6、解决办法,文章链接如下:服务器上安装 dlib报错
(1)、首先,我们使用 dd 命令创建一个大小为 2G的交换文件,命名为 swapfile,输入命令:
dd if=/dev/zero of=/mnt/swapfile bs=1M count=2048
其中 if表示 input_file输入文件,of表示 output_file输出文件,bs表示 block_size块大小,count表示计数。我这里将数据块大小设置为1M,数据块数目设置为2048,这样分配的空间就是2G。
(2)然后格式化交换文件,输入命令:
mkswap /mnt/swapfile
(3)、最后挂载交换文件,输入命令:
swapon /mnt/swapfile
其中会出现错误:
输入命令:
sudo chmod 600 /mnt/swapfile
(5)、再重新挂载交换文件,输入命令:
swapon /mnt/swapfile
其中会出现错误,设备或资源忙:
(6)、用命令swapoff /交换分区 将交换分区停止,输入命令:
swapoff /mnt/swapfile
再重新挂载交换文件:
swapon /mnt/swapfile
7、挂载成功后,接着就可以输入命令:
python3 setup.py install
终于安装成功了:
8、其中安装时,参考了很多文章:
Linux下安装python dlib依赖,链接一
安装dlib,链接二
最后还是因为服务器运行内存不足的原因安装不上