安装一个软件,基本套路就是先找基础源,然后找额外的源,最后找指定软件源。以caffe安装为例,先准备基础源,
可以用安装操作系统的镜像做一个源,这个比较浪费磁盘空间,另外可以考虑使用网络源,基础安装如ifconfig,wget,
gcc,git等都可以安装了,再准备epel(Extra Package Enterprize Linux)源,这个可以使用命令安装,也可先下载rpm
文件,然后使用rpm的方式安装,最后准备软件特定的源。
第一步、准备centos7源
这里有两种方法,制作本地源或者网上的源(163),我这里为了节省磁盘空间,选择了使用163的源,如何安装请看帮助文档。
curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.163.com/.help/CentOS7-Base-163.repo
将CentOS-Base.repo 中的$releasever全部替换为7(:1,$s/$releasever/7/g)
让新增的源生效:
yum clean all
yum makecache
接下来可以安装一些简单的命令或者依赖库,后续会用到
yum install net-tools //ifconfig 查看ip
yum install unzip //解压zip文件
yum install wget //相当于curl -o dist url
yum install git //github网站下载源代码会用到
yum install gcc-c++ //编译caffe会用到,也可以不安装,其实安装cuda会自动安装该命令
第二步、准备epel的源
一些依赖都在这个里面leveldb-devel glog-devel gflags-devel lmdb-devel hdf5-devel
yum install epel-release -y
执行命令之后在/etc/yum.repos.d的文件夹下会多出一个叫epel.repo的文件。
第三步、安装依赖环境
yum install -y protobuf-devel leveldb-devel lmdb-devel snappy-devel opencv-devel boost-devel hdf5-devel atlas-devel glog-devel gflags-devel
这里安装了atlas依赖包之后需要生成一个软链,否则编译caffe时会出一个错误cannot find -lcblas cannot find -latlas。
ln -fs /usr/lib64/atlas/libsatlas.so /usr/lib64/libatlas.so
ln -fs /usr/lib64/atlas/libsatlas.so /usr/lib64/libcblas.so
第四步、安装cuda
wget http://developer.download.nvidia.com/compute/cuda/repos/rhel7/x86_64/cuda-repo-rhel7-7.0-28.x86_64.rpm
rpm -ivh cuda-repo-rhel7-7.0-28.x86_64.rpm
yum install cuda -y
同安装epel源一样,执行rpm -ivh cuda-repo-rhel7-7.0-28.x86_64.rpm之后,/etc/yum.repos.d/文件夹下会多出一个
叫cuda.repo的文件。安装cuda会特别耗时间,我的安装下载了1.4G的文件,网络不好的情况下会不断下载失败,只
有不断的重复执行yum install cuda -y这个命令,最后才算安装完成。
第五步、安装caffe
git clone https://github.com/BVLC/caffe.git
cd caffe
cp Makefile.config.example Makefile.config
vi Makefile.config // 将这个注释打开 #CPU_ONLY := 1
make all
编译过程中会遇到这样的错误,就是前面提到的atlas库需要做一个软链
作出如下软链指向之后再次编译顺利通过