红联Linux门户
Linux帮助

Ubuntu14.04下源码编译安装ice3.5.1

发布时间:2016-05-17 10:17:48来源:linux网站作者:w1282109144

1.从https://zeroc.com/distributions/ice/3.5/下载ice源文件

Ubuntu14.04下源码编译安装ice3.5.1

主要包括两部分:ice3.5.1.tar.gz和第三方依赖包ThirdParty-Sources-3.5.1.tar.gz


2.安装第三方依赖

第三方依赖包中只含有berkely DB和mcpp两个依赖包,还缺少bzip、expat、openssl。

2.1) 安装berkely DB

$tar xvf ThirdParty-Sources-3.5.1.tar.gz  
$cd ThirdParty-Sources-3.5.1 
$tar zxvf db-5.3.21.NC.tar.gz
$cd db-5.3.21.NC/
$patch -p0 < ../db/patch.db.5.3.21
$cd build_unix/
$../dist/configure --prefix=/usr --enable-cxx
$make && make install

2.2) 安装mcpp

$tar xvf mcpp-2.7.2.tar.gz 
$cd mcpp-2.7.2 
$patch -p0 < ../mcpp/patch.mcpp.2.7.2 
$./configure CFLAGS=-fPIC --enable-mcpplib --disable-shared 
$make && make install

2.3) 安装bzip[下载:http://www.bzip.org/1.0.6/bzip2-1.0.6.tar.gz]

$tar zxvf bzip2-1.0.6.tar.gz
$cd bzip2-1.0.6/
$make && make install

2.4) 安装expat[下载:http://superb-sea2.dl.sourceforge.net/project/expat/expat/2.1.1/expat-2.1.1.tar.bz2]

$tar jxvf expat-2.1.1.tar.bz2
$cd expat-2.1.1/
$./configure --prefix=/usr
$make && sudo make install

2.5) 安装openssl[下载:https://github.com/openssl/openssl/archive/OpenSSL_0_9_8-stable.zip]

$unzip OpenSSL_0_9_8-stable.zip
$cd openssl-OpenSSL_0_9_8-stable/
$./config --prefix=/usr --openssldir=/usr/openssl(openssldir默认为/usr/ssl/openssl,需要修改,否则默认安装路径会找不到。)
$make
$make test
$sudo make install


3.安装ice

$tar zxvf v3.5.1.tar.gz
$cd ice-3.5.1/cpp/ (这里只是安装了ice的c++模块)
$make && sudo make install

4.ice错误提示

1)错误提示:/usr/lib.ld:Error:cannot find -lmcpp
解决:应该是mcpp没有安装成功,是不是忘记上面步骤中的patch了,重新安装。
2)错误提示:/usr/bin/ld: /usr/local/lib/libbz2.a(bzlib.o): relocation R_ARM_THM_MOVW_ABS_NC against `BZ2_crc32Table’ can not be used when making a shared object; recompile with -fPIC
/usr/local/lib/libbz2.a: error adding symbols: Bad value
解决:bzip没有装好,一般是64 位 电脑才会出现。上面已经提示了recompile with -fPIC。所以回到bzip目录,修改Makefile文件,CC = gcc —> CC = gcc- fPIC,再次make && make install
3)错误提示:/usr/bin/ld: /usr/lib/gcc/arm-linux-gnueabihf/4.9/../../../../lib/libssl.a(s23_meth.o): relocation R_ARM_THM_MOVW_ABS_NC against `a local symbol’ can not be used when making a shared object; recompile with -fPIC
解决:这个错误和问题2是一样的,因此修改Makefile文件,CC = gcc —> CC = gcc- fPIC,再次make && make install
4)错误提示:openssl安装时候的问题
解决:先下了一个版本1.1.0的,安装出现问题,回到版本0.9.8。


本文永久更新地址:http://www.linuxdiyf.com/linux/20714.html