前面我们讲过了在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相关推荐

  1. opencv编译python库_linux 下编译安装 opencv-python

    编译参考 Docker环境下编译,内部整理的详细的编译选项和整个编译的流程,可以直接用,也可以参考: https://github.com/SkeLLLa/docker-ffmpeg-opencv h ...

  2. linux mysql5.6编译_Linux 环境下编译安装MySQL5.6的笔记记录

    一.首先搭建好Linux环境,我这边使用的是redhat enterprise 6.5,并且建议磁盘划分逻辑卷,以便后期的扩容工作. 二.环境搭建好了之后,我们就要去准备MySQL的安装文件,到现在为 ...

  3. QGIS编译(跨平台编译)之三十九:QCA编译、QCA安装(Windows、Linux、MacOS环境下编译、安装)

    目录 1.QCA介绍 2.QCA下载 3.Windows下编译 4.Linux下编译 5.MacOS下编译 1.QCA介绍 QCA(Qt Cryptographic Architecture)是一个用 ...

  4. NDK实践(一)在linux环境下编译ffmpe

    系列文章目录: NDK实践(一)在linux环境下编译ffmpe NDK实践(二)将编译的ffmpeg静态库集成到Android工程 最近开始接触学习ndk开发,本着边学习边实践的原则,计划完成视频编 ...

  5. Linux环境下编译并执行ava helloworld程序

    http://blog.lupaworld.com/home-space-uid-24466-do-blog-id-2578.html 已经学会怎样在Windows下怎样编辑,编译和运行Java程序了 ...

  6. linux环境下编译部署php生产环境

    linux环境下编译部署php生产环境 版本控制 php:7.2.4 nginx:1.9.9 部分插件版本 xlswriter:1.3.3.2 redis:3.1.3 一.安装php 1.安装依赖(之 ...

  7. soc eds能 编译linux,在SoCEDS环境下编译和更新preloader和uboot程序的方法

    在SoCEDS环境下编译和更新preloader和uboot程序的方法 前面有介绍preloader在HPS boot过程中的的作用,接下来讲述下用户在SoCEDS环境下改如何编译preloader和 ...

  8. soc eds能 编译linux,SoCEDS环境下编译和更新preloader和uboot程序的方法

    在SoCEDS环境下编译和更新preloader和uboot程序的方法 前面有介绍preloader在HPS boot过程中的的作用,接下来 从Terasic网站下下载的SD image是在13.1环 ...

  9. soc eds能 编译linux,【转】在SoCEDS环境下编译和更新preloader和uboot程序的方法

    [转]在SoCEDS环境下编译和更新preloader和uboot程序的方法 [复制链接] 在SoCEDS环境下编译和更新preloader和uboot程序的方法 前面有介绍preloader在HPS ...

  10. QGIS编译(跨平台编译)之四十四:HDF5编译(Windows、Linux、MacOS环境下编译)

    目录 1.hdf5介绍 2.hdf5下载 3.Windows下编译 4.Linux下编译 5.MacOS下编译 1.hdf5介绍 HDF5 (Hierarchical Data Format) 是一种 ...

最新文章

  1. 探秘IntelliJ IDEA 13测试版新功能——调试器显示本地变量
  2. 《众妙之门——自由网站设计师成功之道》一1.4 自由网站设计师犯的严重错误...
  3. 腾讯和阿里在B站“打起来了”,你何时见过这场面?
  4. Mysql可重复读实现原理分析
  5. Swing的设计是MVC的典范
  6. oracle查看用户路径,oracle 查看用户的表空间,表空间路径,角色,权限
  7. 用 Anaconda 完美解决 Python2 和 python3 共存问题
  8. AI学会了视觉推理,“脑补”看不清的物体 | 李佳李飞飞等的CVPR论文
  9. Python ini文件读取(configparser模块)(转载)
  10. 第二章 Maxwell 安装部署
  11. 关于英特尔® 处理器显卡技术
  12. DTcms-【无限级别分类设计】
  13. Apollo配置说明
  14. 【因果学习】因果推断分析
  15. 网络工程师考试-操作系统原理笔记
  16. java+swagger+侵入_Spring boot+Swagger配置无侵入式Restful接口(一)
  17. 8.关于删除操作中axis=0和axis=1的理解(Python版)
  18. TestDirector汉化总结
  19. sessionId的生成过程和过期时间
  20. FPGA---Spartan6系列之GTP Transceiver

热门文章

  1. UE4 凹多边形渲染
  2. collection.get:fail -502005 database collection not exists. [ResourceNotFound] Db or Table not exist
  3. 类型体操的9种类型运算、4种类型套路总结
  4. java script中extends,JavaScript继承之ES6的extends
  5. html中对复选框验证,验证HTML中的复选框
  6. Mac 调节鼠标移速
  7. 有没有人拼团csdn学习会员~~
  8. 电销CRM客户关系管理系统开发12大核心功能
  9. java开发微信设计论文_集客微信公众号: 本科毕业设计:基于WxJava框架的集客微信公众号的设计与实现...
  10. 图像的仿射变换:cv2.warpAffine()