1. 下载第三方包和Ice源文件:(官方下载页面)
在Source Distributions一栏下下载源文件:;在Third-Party Source Code 一栏下选择第三方压缩包下载。
2. 安装第三方依赖库
解压ThirdParty-Sources-3.4.2.tar.gz:tar -xzvf ThirdParty-Sources-3.4.2.tar.gz 。
2.1) 安装Berkeley DB
$tar zxvf db-4.8.30.NC.tar.gz
$cd db-4.8.30.NC/build_unix
$../dist/configure --prefix=/usr --enable-cxx
(说明:db的默认安装prefix路径是/usr/local/BerkeleyDB.4.6,需要改为/usr,否则make Ice时会找不到路径) $make #编译 $sudo make install #安装
2.2)安装 bzip2-1.0.6.tar.gz
$tar zxvf bzip2-1.0.6.tar.gz
$cd bzip2-1.0.6
$make install
2.3)安装 expat-2.0.1.tar.gz
$tar zxvf expat-2.0.1.tar.gz $cd expat-2.0.1 $./configure $sudo make install
2.4)安装openssl-0.9.8d.tar.gz
$tar zxvf openssl-0.9.8d.tar.gz $cd openssl-0.9.8d $./config --prefix=/usr --openssldir=/usr/openssl (注意:prefix为/usr/local/ssl,openssldir默认为/usr/ssl/openssl,需要改为上面的,否则默认安装路径会找不到。) $ make $ make test $ sudo make install
2.5)安装mcpp
$rpm -ivh mcpp-devel-2.7.2-2ice.rhel6.i386.rpm
3.安装Ice-3.4.2
$tar zxvf Ice-3.4.2.tar.gz $cd Ice-3.4.2/cpp
$export LD_LIBRARY_PATH=/opt/Ice-3.4.2/lib
$make $sudo make install
4.安装过程中出现的一些错误,及解决方法:
4.1)错误提示:/usr/lib.ld:Error:cannot find -lmcpp ---<解决方法:应该是mcpp之前没有安装成功,将mcpp重新安装成功后就行
4.2)错误提示:fatal error:db_cxx.h:No such file or directory --<解决方法:之前没有把db-4.8.3安装成功,重新安装一遍
4.3)安装Ice完成后,运行例子错误提示:error while loading shared libraries: libIce.so.34: cannot open shared object file: No such file or directory --<解决办法:应该是之前编译Ice某些目录配置不对;使用命令 export LD_LIBRARY_PATH=/opt/Ice-3.4.2/lib重新来导出动态链接库目录即可。
完了启动icebox可能会找不到库:解决方法如下
第一步:确认有哪些Lib无法Load >ldd move_db linux-gate.so.1 => (0x0089c000) libmysqlclient.so.15 => not found libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0x00cfa000) libm.so.6 => /lib/libm.so.6 (0x00804000) libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x009f8000) libc.so.6 => /lib/libc.so.6 (0x0069e000) /lib/ld-linux.so.2 (0x0067b000) 第二步:系统要确认动态库的地址,把动态库的路径放到/etc/ld.so.conf中 建议:在/etc/ld.so.conf.d/上新建动态库相应的文件配置文件*.conf, 在该文件中填上该动态库的绝对路径 此例: vim /etc/ld.so.conf.d/ld.mysql.so.conf /usr/local/mysql/lib 第三步:运行ldconfig重建/etc/ld.so.cache |