centos7 安装caffe环境(CPU版本)

首先更新yum源(不执行此步骤可能会出现无法安装资源包的情况):

cd /etc/yum.repos.d/
 
mv CentOS-Base.repo CentOS-Base.repo_bak
 
wget http://mirrors.163.com/.help/CentOS7-Base-163.repo
 
wget -O CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
 
wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
 
yum clean all
 
yum makecache

安装依赖库:

yum install protobuf-devel leveldb-devel snappy-devel boost-devel gflags-devel 
yum install glog-devel lmdb-devel hdf5-devel opencv-devel
yum install atlas-devel

从git上克隆caff源码

# 没有安装git的执行命令 :yum install -y git

git clone https://github.com/BVLC/caffe

cd进入caffe目录

cd caffe/
cp Makefile.config.example Makefile.config
vim Makefile.config

根据自己机器需求进行配置,配置完成后退出vim
执行编译:

make all -j10
make test -j10
make runtest -j10

本次编译在Centos7 64位上测试通过

问题补充:

  • 如果不更新yum源无法下载部分依赖
  • 按照上述安装步骤能够有效避免如下异常:

/usr/bin/ld: /usr/local/lib/libhdf5.a(H5.c.o): relocation R_X86_64_32 against symbol H5_debug_g' can not be used when making a shared object; recompile with -fPIC /usr/bin/ld: /usr/local/lib/libhdf5.a(H5system.c.o): relocation R_X86_64_32 against.rodata’ can not be used when making a shared object; recompile with -fPIC
XXX 省略若干行
/usr/bin/ld: /usr/local/lib/libhdf5.a(H5Pgcpl.c.o): relocation R_X86_64_32 against .rodata' can not be used when making a shared object; recompile with -fPIC /usr/bin/ld: /usr/local/lib/libhdf5.a(H5Toffset.c.o): relocation R_X86_64_32S against.rodata’ can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: /usr/local/lib/libhdf5.a(H5Fcwfs.c.o): relocation R_X86_64_32S against `.rodata’ can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: 最后的链结失败: 输出不可表示的节
collect2: 错误:ld 返回 1
make: *** [.build_release/lib/libcaffe.so.1.0.0] 错误 1

在配置好caffe环境之后,如果想将已经编码好的cpp文件编译为.o文件,执行下列命令(使用CPU):
(具体路径根据本地实际路径配置)

g++ -c XXX.cpp -o FaceOne.o -I /usr/local/caffe/include/ -D CPU_ONLY -I /usr/local/caffe/.build_release/src/

或者编译为.so文件:

g++ XXX.cpp -fPIC -shared -o libFaceOne.so  -I /usr/local/caffe/include/ -D CPU_ONLY 
-I /usr/local/caffe/.build_release/src/

将cpp文件与上述.so文件动态库链接生成可执行文件命令如下:

g++ -o main MainOne.cpp -L. -lFaceOne -I /usr/local/caffe/include/ -D CPU_ONLY 
-I /usr/local/caffe/.build_release/src/
-lboost_system 
-lopencv_calib3d -lopencv_core 
-lglog
-lprotobuf
-lcaffe

说明:如果提示没有找到lcaffe,则:
在caffe根目录下执行命令:
sudo cp build/lib/libcaffe.so /usr/local/lib/

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
编译 ./configure --prefix=/usr/local/php --exec-prefix=/usr/local/php --bindir=/usr/local/php/bin --sbindir=/usr/local/php/sbin --includedir=/usr/local/php/include --libdir=/usr/local/php/lib/php --mandir=/usr/local/php/php/man --with-config-file-path=/usr/local/php/etc --with-mysql-sock=/var/run/mysql/mysql.sock --with-mcrypt=/usr /i nclude --with-mhash --with-openssl --with-mysql=shared,mysqlnd --with-mysqli=shared,mysqlnd --with-pdo-mysql=shared,mysqlnd --with-gd --with-iconv --with-zlib --enable-zip --enable-inline-optimization --disable-debug --disable-rpath --enable-shared --enable-xml --enable-bcmath --enable-shmop --enable-sysvsem --enable-mbregex --enable-mbstring --enable-ftp --enable-gd-native-ttf --enable-pcntl --enable-sockets --with-xmlrpc --enable-soap --without-pear --with-gettext --enable-session --with-curl --with-jpeg-dir --with-freetype-dir --enable-opcache --enable-fpm --enable-fastcgi --with-fpm-user=www --with-fpm-group=www --without-gdbm --with-mcrypt=/usr/local/apps/libmcrypt --disable-fileinfo 报错:1, **configure: error: system libzip must be upgraded to version >=**0.11。 使用Yum最新版只到0.10,不足以达到要求。 一、先删除libzip yum remove libzip -y SSH执行以上命令,先删除libzip 和 libzip-devel 二、下载安装并手动编译 wget https://nih.at/libzip/libzip-1.2.0.tar.gz tar -zxvf libzip-1.2.0.tar.gz cd libzip-1.2.0 ./configure make && make install 三、(可忽略)另外最新版本请参考官网:https://nih.at/libzip/ 1.5.0的libzip需要cmake wget https://libzip.org/download/libzip-1.5.0.tar.gz tar -zxvf libzip-* cd libzip* mkdir build && cd build && cmake .. && make && make install 报错2: error: off_t undefined; check your library configuration 根据报错信息分析 configure: error: off_t undefined; check your library configuration 未定义的类型 off_t。 off_t 类型是在 头文件 unistd.h中定义的,在32位系统 编程成 long int ,64位系统则编译成 long long int ,这里题主的系统应该是 64位的吧,在进行编译的时候 是默认查找64位的动态链接库,但是默认情况下 centos 的动态链接库配置文件/etc/ld.so.conf里并没有加入搜索路径,这个时候需要将 /usr/local/lib64 /usr/lib64 这些针对64位的库文件路径加进去。 采用下面的方法。 添加搜索路径到配置文件 echo '/usr/local/lib64 /usr/local/lib /usr/lib /usr/lib64'>>/etc/ld.so.conf 然后 更新配置 ldconfig -v 再次执行 编译 成功 执行安装: make && make install 报错: /usr/local/include/zip.h:59:21: fatal error: zipconf.h: No such file or directory 解决: cp /usr/local/lib/libzip/include/zipconf.h /usr/local/include/zipconf.h 1 安装成功: 复制配置文件: cp php.ini-production /usr/local/php/lib/php.ini cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf ln -s /usr/local/php/sbin/php-fpm /usr/local/bin 修改配置: cd /usr/local/php/etc/php-fpm.d vim www.conf [www] //池子名 (pool) 设置 ;listen = /tmp/php-fcgi.sock // 监听的地址,可以监听socket ,也可以监听端口 listen = 127.0.0.1:8089 或者这样写,php-fpm 通常在本地使用,php和nginx 通常在一台机器,所以可写127.0.0.1,别的机器 连接,需用本机ip listen.mode = 666 //sock 文件的权限 listen.owner = nobody listen.group = nobody user = php-fpm group = php-fpm pm = dynamic pm.max_children = 50 pm.start_servers = 20 pm.min_spare_servers = 5 pm.max_spare_servers = 35 pm.max_requests = 500 rlimit_files = 1024 加入 systemtl 服务: cd /usr/local/src/php-7.3.0beta1/sapi/fpm cp php-fpm.service /usr/lib/systemd/system/ 启动: systemctl start php-fpm systemctl status php-fpm -l

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值