linux编译ice,linux环境下编译安装ICE
前面我们讲过了在linux环境下通过rpm的方式来安装ICE,这种安装方式可以是比较简单的,自己在安装过程中发现后面PHP无法装在IcePHP.sp模块,也有可能自己在安装过程中某个地方出错了。又尝试通过直接编译的方式去安装ICE,PHP也正常装在了IcePHP.so模块,大功告成,这里记录一下方法。
以安装ICE-3.4.2版本为例,为了方便管理,将ICE相关的软件都安装到/usr/local/ICE-3.4.2/目录下。
一、安装第三方包:ThirdParty-Sources-3.4.2
1、解压安装包
# tar zxvf ThirdParty-Sources-3.4.2.tar.gz
# cd ThirdParty-Sources-3.4.2 2、安装mcpp
# tar zxvf mcpp-2.7.2.tar.gz
# cd mcpp-2.7.2
# ./configure --prefix=/usr/local/ICE-3.4.2/mcpp-2.7.2/ CFLAGS=-fPIC -enable-mcpplib -disable-shared
# make
# make install
3、安装Berkeley DB
Berkeley DB 是一个高性能的,嵌入数据库编程库,和C语言, C++, Java, Perl, Python, Tcl以及其他很多语言都有绑定。
# cd ..
# tar zxvf db-4.8.30.NC.tar.gz
# cd db-4.8.30.NC/build_unix/
# ../dist/configure --prefix=/usr/local/ICE-3.4.2/BerkeleyDB.4.6/ -enable-cxx
# make
# make install
4、安装bzip2
bzip2 是 Julian Seward 开发并按照自由软件/开源软件协议发布的数据压缩算法及程序。
# cd../../
# tar zxvf bzip2-1.0.6.tar.gz
# cd bzip2-1.0.6 修改Makefile,将PREFIX指向/usr/local/ICE-3.4.2/bzip2-1.0.6
# make
# make install 5、安装expat
expat 是一个 XML parsing C library。
# cd ..
# tar zxvf expat-2.0.1.tar.gz
# cd expat-2.0.1
# ./configure --prefix=/usr/local/ICE-3.4.2/expat-2.0.1/
# make
# make install 6、安装openssl
openssl 是 Secure Socket Layer (SSL) binary and related cryptographic tools。
# cd ..
# tar zxvf openssl-0.9.8r.tar.gz
# cd openssl-0.9.8r
# ./config --prefix=/usr/local/ICE-3.4.2/openssl
# make
# make install 二、安装ICE-3.4.2
# tar zxvf Ice-3.4.2.tar.gz
# cd Ice-3.4.2/cpp
# vi config/Make.rules 修改安装包路径:
prefix ?= /usr/local/ICE-3.4.2/Ice-$(VERSION)
embedded_runpath_prefix ?= /usr/local/ICE-3.4.2/Ice-$(VERSION_MAJOR).$(VERSION_MINOR)
BZIP2_HOME ?= /usr/local/ICE-3.4.2/bzip2-1.0.6
DB_HOME ?= /usr/local/ICE-3.4.2/BerkeleyDB.4.6
EXPAT_HOME ?= /usr/local/ICE-3.4.2/expat-2.0.1
OPENSSL_HOME ?= /usr/local/ICE-3.4.2/openssl
MCPP_HOME ?= /usr/local/ICE-3.4.2/mcpp-2.7.2
# make 编译过程报错:
../../lib/libIce.so: undefined reference to `libiconv'
../../lib/libIce.so: undefined reference to `libiconv_close'
../../lib/libIce.so: undefined reference to `libiconv_open'
collect2: ld 返回 1
make[2]: *** [../../bin/transformdb] 错误 1
make[2]: Leaving directory `/data/software/Ice-3.4.2/cpp/src/FreezeScript'
make[1]: *** [all] 错误 1
make[1]: Leaving directory `/data/software/Ice-3.4.2/cpp/src'
make: *** [all] 错误 1
# make install 安装过程报错:
../../lib/libIce.so: undefined reference to `libiconv'
../../lib/libIce.so: undefined reference to `libiconv_close'
../../lib/libIce.so: undefined reference to `libiconv_open'
collect2: ld 返回 1
make[2]: *** [../../bin/transformdb] 错误 1
make[2]: Leaving directory `/data/software/Ice-3.4.2/cpp/src/FreezeScript'
make[1]: *** [install] 错误 1
make[1]: Leaving directory `/data/software/Ice-3.4.2/cpp/src'
make: *** [install] 错误 1
修改
vim config/Make.rules.Linux 找到143行这里
BASELIBS = -lIceUtil -lpthread -lrt -liconv
在最后面增加-liconv, 执行make和make instll命令等待编译完成.
至此,安装ICE完毕。
3、编译PHP版本
# cd ..
# cd php/
# vim config/Make.rules.php 指定安装包路径:
prefix ?= /usr/local/ICE-3.4.2/Ice-$(VERSION)
embedded_runpath_prefix ?= /usr/local/ICE-3.4.2/Ice-$(VERSION_MAJOR).$(VERSION_MINOR)
#指定PHP安装路径
PHP_HOME ?= /usr/local/php 安装编译
# make
# make install 4、设置ICE环境变量
# vi /etc/profile
export PHPPATH=/usr/local/ICE-3.4.2/Ice-3.4.2/php/:
export ICE_HOME=/usr/local/ICE-3.4.2/Ice-3.4.2
export PATH=$PATH:$ICE_HOME/bin
export LD_LIBRARY_PATH=$ICE_HOME/lib
export PATH USER LOGNAME MAIL HOSTNAME HISTSIZE INPUTRC ICE_HOME 使之生效
source /etc/profile 测试是否成功:
icegridnode --version
icegridadmin --version
linux编译ice,linux环境下编译安装ICE相关推荐
- opencv编译python库_linux 下编译安装 opencv-python
编译参考 Docker环境下编译,内部整理的详细的编译选项和整个编译的流程,可以直接用,也可以参考: https://github.com/SkeLLLa/docker-ffmpeg-opencv h ...
- linux mysql5.6编译_Linux 环境下编译安装MySQL5.6的笔记记录
一.首先搭建好Linux环境,我这边使用的是redhat enterprise 6.5,并且建议磁盘划分逻辑卷,以便后期的扩容工作. 二.环境搭建好了之后,我们就要去准备MySQL的安装文件,到现在为 ...
- QGIS编译(跨平台编译)之三十九:QCA编译、QCA安装(Windows、Linux、MacOS环境下编译、安装)
目录 1.QCA介绍 2.QCA下载 3.Windows下编译 4.Linux下编译 5.MacOS下编译 1.QCA介绍 QCA(Qt Cryptographic Architecture)是一个用 ...
- NDK实践(一)在linux环境下编译ffmpe
系列文章目录: NDK实践(一)在linux环境下编译ffmpe NDK实践(二)将编译的ffmpeg静态库集成到Android工程 最近开始接触学习ndk开发,本着边学习边实践的原则,计划完成视频编 ...
- Linux环境下编译并执行ava helloworld程序
http://blog.lupaworld.com/home-space-uid-24466-do-blog-id-2578.html 已经学会怎样在Windows下怎样编辑,编译和运行Java程序了 ...
- linux环境下编译部署php生产环境
linux环境下编译部署php生产环境 版本控制 php:7.2.4 nginx:1.9.9 部分插件版本 xlswriter:1.3.3.2 redis:3.1.3 一.安装php 1.安装依赖(之 ...
- soc eds能 编译linux,在SoCEDS环境下编译和更新preloader和uboot程序的方法
在SoCEDS环境下编译和更新preloader和uboot程序的方法 前面有介绍preloader在HPS boot过程中的的作用,接下来讲述下用户在SoCEDS环境下改如何编译preloader和 ...
- soc eds能 编译linux,SoCEDS环境下编译和更新preloader和uboot程序的方法
在SoCEDS环境下编译和更新preloader和uboot程序的方法 前面有介绍preloader在HPS boot过程中的的作用,接下来 从Terasic网站下下载的SD image是在13.1环 ...
- soc eds能 编译linux,【转】在SoCEDS环境下编译和更新preloader和uboot程序的方法
[转]在SoCEDS环境下编译和更新preloader和uboot程序的方法 [复制链接] 在SoCEDS环境下编译和更新preloader和uboot程序的方法 前面有介绍preloader在HPS ...
- QGIS编译(跨平台编译)之四十四:HDF5编译(Windows、Linux、MacOS环境下编译)
目录 1.hdf5介绍 2.hdf5下载 3.Windows下编译 4.Linux下编译 5.MacOS下编译 1.hdf5介绍 HDF5 (Hierarchical Data Format) 是一种 ...
最新文章
- 探秘IntelliJ IDEA 13测试版新功能——调试器显示本地变量
- 《众妙之门——自由网站设计师成功之道》一1.4 自由网站设计师犯的严重错误...
- 腾讯和阿里在B站“打起来了”,你何时见过这场面?
- Mysql可重复读实现原理分析
- Swing的设计是MVC的典范
- oracle查看用户路径,oracle 查看用户的表空间,表空间路径,角色,权限
- 用 Anaconda 完美解决 Python2 和 python3 共存问题
- AI学会了视觉推理,“脑补”看不清的物体 | 李佳李飞飞等的CVPR论文
- Python ini文件读取(configparser模块)(转载)
- 第二章 Maxwell 安装部署
- 关于英特尔® 处理器显卡技术
- DTcms-【无限级别分类设计】
- Apollo配置说明
- 【因果学习】因果推断分析
- 网络工程师考试-操作系统原理笔记
- java+swagger+侵入_Spring boot+Swagger配置无侵入式Restful接口(一)
- 8.关于删除操作中axis=0和axis=1的理解(Python版)
- TestDirector汉化总结
- sessionId的生成过程和过期时间
- FPGA---Spartan6系列之GTP Transceiver
热门文章
- UE4 凹多边形渲染
- collection.get:fail -502005 database collection not exists. [ResourceNotFound] Db or Table not exist
- 类型体操的9种类型运算、4种类型套路总结
- java script中extends,JavaScript继承之ES6的extends
- html中对复选框验证,验证HTML中的复选框
- Mac 调节鼠标移速
- 有没有人拼团csdn学习会员~~
- 电销CRM客户关系管理系统开发12大核心功能
- java开发微信设计论文_集客微信公众号: 本科毕业设计:基于WxJava框架的集客微信公众号的设计与实现...
- 图像的仿射变换:cv2.warpAffine()