在debian系統下面編譯ICE-3.3
公司拓展業務需要,我把部分框架定在了ICE系統下面,操作系統選用了我的摯愛debian
由於zeroc官方只發布了針對redhat 和sun系統的支持,對於我喜愛debian沒有發佈任何版本支持,無奈之下只好自己編譯源代碼。
下載源代碼
利用wget在http://www.zeroc.com/download/Ice/3.3/ThirdParty-Sources-3.3.1.tar.gz 下載ice的第三方源代碼。
利用wget在http://www.zeroc.com/download/Ice/3.3/Ice-3.3.1.tar.gz 下載ice源代碼
tar xzvf 文件名 解壓縮源代碼文件
安裝BerkeleyDB
Ice默認環境需要BerkeleyDB嵌入數據庫的支持。在ThirdParty-Sources-3.3.1.tar.gz軟件包中提供了db-4.6.21.NC.tar.gz和db文件來安裝BerkeleyDB。
其中db文件主要是BerkeleyDB源代碼的編譯補丁程序。
安裝步驟
$tar xzvf db-4.6.21.NC.tar.gz
$cd db-4.6.21.NC
$patch -p0 < ../db/patch.4.6.21.1
$patch -p0 < ../db/patch.4.6.21.2
$patch -p0 < ../db/patch.4.6.21.3
$patch -p0 < ../db/patch.4.6.21.15663
注意相關路徑和相對目錄。
從db-4.6.21.NC進入build_unix目錄中.
$../dist/configure --enable-cxx
我需要python支持,因此執行如下:
$../dist/configure --enable-cxx –enable-python
$make
$make install
安裝mcpp-2.7.2
安裝步驟:
$ tar xzvf mcpp-2.7.2.tar.gz
$ cd mcpp-2.7.2
$ ./configure CFLAGS=-fPIC --enable-mcpplib --disable-shared
$make
$make install
安裝bzip2-1.0.5.tar.gz
安裝步驟:
$ tar xzvf bzip2-1.0.5.tar.gz
$ cd bzip2-1.0.5
$ make -f Makefile-libbz2_so ,如果不行就 ./configure
$ make install
安裝expat-2.0.1.tar.gz
安裝步驟:
$ tar expat-2.0.1.tar.gz
$ cd expat-2.0.1
$ ./configure
$make
$make install
安裝openssl-0.9.8g.tar.gz
安裝步驟:
$tar xzvf openssl-0.9.8g.tar.gz
$cd openssl-0.9.8g
$./configure
$make
$make install
一般情況下,openssl被安裝在/usr/local/ssl目錄下,BerkeleyDB被安裝在/usr/local/ BerkeleyDB.4.6目錄下
編譯安裝ICE源代碼
安裝c++支持的ice。進入cpp目錄
安裝步驟:
$cd config
$vim Make.rules
設置 prefix ?= /usr/local/Ice-$(VERSION)
設置 embedded_runpath_prefix ?= /usr/local/Ice-$(VERSION_MAJOR).$(VERSION_MINOR)
設置 DB_HOME = /usr/local/BerkeleyDB.4.6
設置 OPENSSL_HOME = /usr/local/ssl
$ make
$ make install
一切OK
我還安裝了python-ice支持,過程類似。
此外我設置了環境變量
export PYTHONPATH=/usr/Ice-3.3/
上去運行了例子,通信速度很快,比webservice和corba似乎還要快些。