ubuntu安装Ice-3.4.2记录

来源:互联网 发布:jackson json转对象 编辑:程序博客网 时间:2024/04/30 06:09

     安装Ice3.4.2之前,应该下载并安装其依赖库。经过了n此安装失败后,最后终于弄好了。两个字,苦逼。具体过程如下:

 

1. 下载第三方包和Ice源文件http://www.zeroc.com/download.html(官方下载页面)

    在Source Distributions一栏下下载源文件:Ice-3.4.2.tar.gz;在Third-Party Source Code 一栏下选择ThirdParty-Sources-3.4.2.tar.gz第三方压缩包下载。

 

2. 安装第三方依赖库

    解压ThirdParty-Sources-3.4.2.tar.gztar -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

          $sudo apt-get install libmcpp-dev

 

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重新来导出动态链接库目录即可。(共享库搜索顺序一般是$LDLIBRARY_PATH,/etc/ld.so.cache, /usr/lib, /lib)

     4.4)安装Ice后,发现系统不能识别slice2cpp命令。原因及解决办法:应该是安装过程中没有把slice2cpp可执行文件复制到/ur/bin目录下面,或者是链接环境没有设置好;来到/opt/Ice-3.4.2/bin下面将slice2cpp复制到/usr/bin目录下即可。