- 浏览: 53990 次
- 性别:
- 来自: 北京
文章分类
最新评论
ICE在Linux下的完整编译安装
安装平台要求:最好用gcc 4.x版编译ICE,在Slackware下发现gcc3.3.6和gcc3.4.6都无法编译通过
为了方便管理,将ICE相关的软件都安装到/usr/local/ICE-3.3.0/目录下
安装python
./configure --enable-shared
make
make install
首先 安装第三方包:ThirdParty-Sources-3.3.0.tar.gz
解压 ThirdParty-Sources-3.3.0.tar.gz
# cd ThirdParty-Sources-3.3.0
1)mcpp is a C/C++ preprocessor
------
解压 mcpp-2.7.2.tar.gz
# cd mcpp-2.7.2
# ./configure --prefix=/usr/local/ICE-3.3.0/mcpp-2.7.2/ CFLAGS=-fPIC -enable-mcpplib -disable-shared
# make
# make install
2)Berkeley DB 是一个高性能的,嵌入数据库编程库,和C语言, C++, Java, Perl, Python, Tcl以及其他很多语言都有绑定。
--------
解压 db-4.6.21.NC.tar.gz
# cd db-4.6.21.NC
# cd build_unix
# ../dist/configure --prefix=/usr/local/ICE-3.3.0/BerkeleyDB.4.6/ -enable-cxx
# make
# make install
3)bzip2 是 Julian Seward 开发并按照自由软件/开源软件协议发布的数据压缩算法及程序
--------
解压 bzip2-1.0.5.tar.gz
# cd bzip2-1.0.5
修改Makefile,将PREFIX指向/usr/local/ICE-3.3.0/bzip2-1.0.5
# make
# make install
4) expat 是一个 XML parsing C library
--------
解压 expat-2.0.1.tar.gz
# cd expat-2.0.1
# ./configure --prefix=/usr/local/ICE-3.3.0/expat-2.0.1/
# make
# make install
5) openssl 是 Secure Socket Layer (SSL) binary and related cryptographic tools
--------
解压 openssl-0.9.8g.tar.gz
# cd openssl-0.9.8g
# ./config --prefix=/usr/local/ICE-3.3.0/openssl
# make
# make install
现在正式安装 Ice-3.3.0.tar.gz
--------
解压 Ice-3.3.0.tar.gz
1) 编译 cpp版本:
# cd Ice-3.3.0/cpp
# vi config/Make.rules
...
#
# Select an installation base directory. The directory will be created
# if it does not exist.
#
# prefix ?= /opt/Ice-$(VERSION)
prefix ?= /usr/local/ICE-3.3.0/Ice-$(VERSION)
#
# The "root directory" for runpath embedded in executables. Can be unset
# to avoid adding a runpath to Ice executables.
#
# embedded_runpath_prefix ?= /opt/Ice-$(VERSION_MAJOR).$(VERSION_MINOR)
embedded_runpath_prefix ?= /usr/local/ICE-3.3.0/Ice-$(VERSION_MAJOR).$(VERSION_MINOR)
...
#
#
# If libbzip2 is not installed in a standard location where the
# compiler can find it, set BZIP2_HOME to the bzip2 installation
# directory.
#
BZIP2_HOME ?= /bzip2-1.0.5
# If Berkeley DB is not installed in a standard location where the
# compiler can find it, set DB_HOME to the Berkeley DB installation
# directory.
#
#DB_HOME ?= /opt/db
DB_HOME ?= /usr/local/ICE-3.3.0/BerkeleyDB.4.6
#
# If expat is not installed in a standard location where the compiler
# can find it, set EXPAT_HOME to the expat installation directory.
#
#EXPAT_HOME ?= /opt/expat
EXPAT_HOME ?= /usr/local/ICE-3.3.0/expat-2.0.1
#
# If OpenSSL is not installed in a standard location where the
# compiler can find it, set OPENSSL_HOME to the OpenSSL installation
# directory.
#
#OPENSSL_HOME ?= /opt/openssl
OPENSSL_HOME ?= /usr/local/ICE-3.3.0/openssl
#
# If Mcpp is not installed in a standard location where the compiler
# can find it, set MCPP_HOME to the Mcpp installation directory.
#
#MCPP_HOME ?= /opt/mcpp
MCPP_HOME ?= /usr/local/ICE-3.3.0/mcpp-2.7.2
...
特别注意: cpp/config/Make.rules的相关第三方库的路径
# make
# make install
2)编译python 版本
# cd Ice-3.3.0/py
# vi config/Make.rules
修改方法参考cpp部分描述
# make
# make install
设置ICE环境变量
#vi /etc/profile
export PYTHONPATH=/usr/local/ICE-3.3.0/Ice-3.3/python/:
export ICE_HOME=/usr/local/ICE-3.3.0/Ice-3.3
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
安装过程出现的问题:
第一
/usr/bin/ld: /usr/local/python27/lib/python2.7/config/libpython2.7.a(abstract.o): relocation R_X86_64_32 against `a local symbol' can not be used when making a shared object; recompile with -fPIC
/usr/local/python27/lib/python2.7/config/libpython2.7.a: could not read symbols: Bad value
解决:重新安装python 加入--enable-shared
第二
error while loading shared libraries: libpython2.7.so.1.0: cannot open shared object file
解决:
Whereis libpython2.7.so.1.0
LB_DEBUG=libs python –V 查看缺少的库
做个软连接即可
第三
ICE的编译报错 libIce.so: undefined reference to `libiconv',解决:
这个问题很恶心,是ICE自己makefile的问题,找到cpp/config/Makefile.rules中,找到193行 :
ICONV_LIBS = $(if $(ICONV_HOME),-L$(ICONV_HOME)/$(libsubdir)) $(ICONV_LIB)
把这一行修改成下面的就好了, ICONV_LIB根本没有定义
ICONV_LIBS = $(if $(ICONV_HOME),-L$(ICONV_HOME)/$(libsubdir)) -liconv
安装过程可能还会有其他的问题,比如64位的机器lib包名为lib64 ,可以根据错误信息提示响应的做修改,把lib包做个软连接到lib64等。
安装平台要求:最好用gcc 4.x版编译ICE,在Slackware下发现gcc3.3.6和gcc3.4.6都无法编译通过
为了方便管理,将ICE相关的软件都安装到/usr/local/ICE-3.3.0/目录下
安装python
./configure --enable-shared
make
make install
首先 安装第三方包:ThirdParty-Sources-3.3.0.tar.gz
解压 ThirdParty-Sources-3.3.0.tar.gz
# cd ThirdParty-Sources-3.3.0
1)mcpp is a C/C++ preprocessor
------
解压 mcpp-2.7.2.tar.gz
# cd mcpp-2.7.2
# ./configure --prefix=/usr/local/ICE-3.3.0/mcpp-2.7.2/ CFLAGS=-fPIC -enable-mcpplib -disable-shared
# make
# make install
2)Berkeley DB 是一个高性能的,嵌入数据库编程库,和C语言, C++, Java, Perl, Python, Tcl以及其他很多语言都有绑定。
--------
解压 db-4.6.21.NC.tar.gz
# cd db-4.6.21.NC
# cd build_unix
# ../dist/configure --prefix=/usr/local/ICE-3.3.0/BerkeleyDB.4.6/ -enable-cxx
# make
# make install
3)bzip2 是 Julian Seward 开发并按照自由软件/开源软件协议发布的数据压缩算法及程序
--------
解压 bzip2-1.0.5.tar.gz
# cd bzip2-1.0.5
修改Makefile,将PREFIX指向/usr/local/ICE-3.3.0/bzip2-1.0.5
# make
# make install
4) expat 是一个 XML parsing C library
--------
解压 expat-2.0.1.tar.gz
# cd expat-2.0.1
# ./configure --prefix=/usr/local/ICE-3.3.0/expat-2.0.1/
# make
# make install
5) openssl 是 Secure Socket Layer (SSL) binary and related cryptographic tools
--------
解压 openssl-0.9.8g.tar.gz
# cd openssl-0.9.8g
# ./config --prefix=/usr/local/ICE-3.3.0/openssl
# make
# make install
现在正式安装 Ice-3.3.0.tar.gz
--------
解压 Ice-3.3.0.tar.gz
1) 编译 cpp版本:
# cd Ice-3.3.0/cpp
# vi config/Make.rules
...
#
# Select an installation base directory. The directory will be created
# if it does not exist.
#
# prefix ?= /opt/Ice-$(VERSION)
prefix ?= /usr/local/ICE-3.3.0/Ice-$(VERSION)
#
# The "root directory" for runpath embedded in executables. Can be unset
# to avoid adding a runpath to Ice executables.
#
# embedded_runpath_prefix ?= /opt/Ice-$(VERSION_MAJOR).$(VERSION_MINOR)
embedded_runpath_prefix ?= /usr/local/ICE-3.3.0/Ice-$(VERSION_MAJOR).$(VERSION_MINOR)
...
#
#
# If libbzip2 is not installed in a standard location where the
# compiler can find it, set BZIP2_HOME to the bzip2 installation
# directory.
#
BZIP2_HOME ?= /bzip2-1.0.5
# If Berkeley DB is not installed in a standard location where the
# compiler can find it, set DB_HOME to the Berkeley DB installation
# directory.
#
#DB_HOME ?= /opt/db
DB_HOME ?= /usr/local/ICE-3.3.0/BerkeleyDB.4.6
#
# If expat is not installed in a standard location where the compiler
# can find it, set EXPAT_HOME to the expat installation directory.
#
#EXPAT_HOME ?= /opt/expat
EXPAT_HOME ?= /usr/local/ICE-3.3.0/expat-2.0.1
#
# If OpenSSL is not installed in a standard location where the
# compiler can find it, set OPENSSL_HOME to the OpenSSL installation
# directory.
#
#OPENSSL_HOME ?= /opt/openssl
OPENSSL_HOME ?= /usr/local/ICE-3.3.0/openssl
#
# If Mcpp is not installed in a standard location where the compiler
# can find it, set MCPP_HOME to the Mcpp installation directory.
#
#MCPP_HOME ?= /opt/mcpp
MCPP_HOME ?= /usr/local/ICE-3.3.0/mcpp-2.7.2
...
特别注意: cpp/config/Make.rules的相关第三方库的路径
# make
# make install
2)编译python 版本
# cd Ice-3.3.0/py
# vi config/Make.rules
修改方法参考cpp部分描述
# make
# make install
设置ICE环境变量
#vi /etc/profile
export PYTHONPATH=/usr/local/ICE-3.3.0/Ice-3.3/python/:
export ICE_HOME=/usr/local/ICE-3.3.0/Ice-3.3
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
安装过程出现的问题:
第一
/usr/bin/ld: /usr/local/python27/lib/python2.7/config/libpython2.7.a(abstract.o): relocation R_X86_64_32 against `a local symbol' can not be used when making a shared object; recompile with -fPIC
/usr/local/python27/lib/python2.7/config/libpython2.7.a: could not read symbols: Bad value
解决:重新安装python 加入--enable-shared
第二
error while loading shared libraries: libpython2.7.so.1.0: cannot open shared object file
解决:
Whereis libpython2.7.so.1.0
LB_DEBUG=libs python –V 查看缺少的库
做个软连接即可
第三
ICE的编译报错 libIce.so: undefined reference to `libiconv',解决:
这个问题很恶心,是ICE自己makefile的问题,找到cpp/config/Makefile.rules中,找到193行 :
ICONV_LIBS = $(if $(ICONV_HOME),-L$(ICONV_HOME)/$(libsubdir)) $(ICONV_LIB)
把这一行修改成下面的就好了, ICONV_LIB根本没有定义
ICONV_LIBS = $(if $(ICONV_HOME),-L$(ICONV_HOME)/$(libsubdir)) -liconv
安装过程可能还会有其他的问题,比如64位的机器lib包名为lib64 ,可以根据错误信息提示响应的做修改,把lib包做个软连接到lib64等。
发表评论
-
C++ 返回值 协变问题
2012-05-20 12:38 1531今天代码遇到了返回值协变问题,不知如何解决,发出来与大家讨论一 ... -
linux cpu info
2012-03-31 10:29 1403在Linux体系中,供给了proc文件体系显示体系的软硬件信息 ... -
linux命令的正则表达式
2012-03-28 09:56 1052linux的命令行可以胜任 ... -
ICE异步调用方法
2012-03-20 14:11 2870ICE的AMI和AMD: AMI:指的是客户端 ... -
linux top命令用法
2012-02-21 17:47 1126linux top top命令是Linux下常用的性能分析工具 ... -
curl的timeout 崩溃问题
2012-01-19 11:38 2738最近供一个服务用到了curl,发现一件奇怪的事。 curl的超 ... -
gdb+core 定位so崩溃
2012-01-18 14:31 6744最近专门搞了一下so的调试。总结一下 关于core dump ... -
ubuntu ICE install
2011-12-12 22:40 1039转自; http://www.linuxidc.com/Li ... -
ICE开发环境搭建 全
2011-12-07 15:34 1336ICE作为一种无平台的中间件,提供了最灵活的编译方式, ... -
shell操作mysql
2011-12-04 13:28 1015在shell开发中,很多时候我们需要操作mysq ... -
ICE 属性配置相关
2011-11-24 10:51 893在前一篇文章中,大家 ... -
nginx源代码分析
2011-11-21 14:12 618http://hi.baidu.com/langwan/blo ... -
ICE开发环境搭建
2011-11-16 11:12 1687mark一下 转载自 http://bbs.chinaunix ... -
ice 的 Nonmutating 和 Idempotent
2011-11-15 10:37 967转载地址:http://duckweeds.b ... -
SecureCRT中文乱码全解决方案
2011-11-10 10:49 1327在网上搜索SecureCRT的中文显示乱码问题,答案无非是修改 ...
相关推荐
Ice Ice-3.7.0 linux windows mac os docker java js python ruby source Download Ice 3.7 Version: 3.7.0 - July 21, 2017 You are licensing Ice under GPLv2 unless you purchase a commercial license.
ice方面的例子,包括服务端和客户端,在linux下编译成功
ICE内核在LINUX环境下配置与编译,ICE版本为3.3.0,适合ICE环境搭配与ICE内核修改
ICE 3.4.1 在移植到ARM Linux中时,double型的数据会有错误。见我在ZeroC发的帖子: http://www.zeroc.com/forums/bug-reports/5308-double-data-format-arm-linux-not-correct.html 在移植前,需要对源代码进行一些...
ICE在linux系统编译,依赖很多第三库 附上编译知道网址http://blog.csdn.net/wxl1986622/article/details/7005031 Berkeley DB安装的时候,还需要:apt-get install libdb++-dev
一个linux下十分有用的工具,用于查看文件目录结构,比如linux内核或者uboot等。 使用方法: 1)解压缩 #tar xvzf tree-1.5.2.1.tgz 2)进入解压后的目录,编译安装后即可使用 #make #make install
《Linux多线程服务端编程:使用muduo C++网络库》主要讲述采用现代C++在x86-64 Linux上编写多线程TCP网络服务程序的主流常规技术,重点讲解一种适应性较强的多线程服务器的编程模型,即one loop per thread。...
可以针对Linux,Macintosh OSX和Windows操作系统进行编译。 有关详细信息和编译版本,请访问 。 您也可以从获得编译版本。 支持的网格格式包括3DO,3DS,AC,BYU,CTM,DAE,DXF,FreeSurfer,GII(GIfTI),GTS,...
linux.tar.gz,这个用来移植,只需编译cppe 目录下的include 文件和src 文件,demo 是官方 实例,本次测试没有用官方实例,官方实例需要配置文件,对刚接触ice 和vxworks 建议不 使用官方实例。
2.1.3 编译Android(只能在 linux 下) 3 webrtc开发 3.1 开发P2P视频软件需要处理的问题 3.1.1 用户列的获取、交换、信令的交换 3.1.2 P2P通信 3.1.3 多媒体处理 3.2 webrtc架构 3.2.1 WebRTC架构组件介绍 3.2.2 ...
辛比康 关于该项目 原始的SIMBICON项目是通过运动控制... 必须安装库:ode gsl gslblas GL GLU glut-另外,对于客户端-服务器版本:zeroc-ice 目录结构 target-dir-tree-工作环境中的项目目录结构2tier-客户端服务器2t
Apache全套编译环境软件包里面包含Apr,Apr-util,jpegsrc8,libpng,libxml,pcre,zlib。
WebRTC C ++示例在C ++上使用WebRTC(DataChannel)的示例程序(README.en.md是此文件的英文翻译。) 使用C ++中的WebRTC ... 由于我不使用ICE服务器,因此我不应该在NAT之间进行通信。联系在控制台1上工作$ cd < path>
nextpnr), 打包烧录(icestorm),编译(gcc),只需在Linux下输入数条命令,即可将整套工具链轻松安装,随后即可开始您的FPGA之旅,而且这一切都是开源的,您可仔细研究整个过程中任何一个细节的实现,非常适合...
本步骤将编译 u-boot.bin文件,但此时还无法运行在FS2410开发板上。 二、修改 cpu/arm920t/start.S文件,完成 U-Boot的重定向 (1)修改中断禁止部分 # if defined(CONFIG_S3C2410) ldr r1, =0x7ff /*根据 2410...
1、原始编译: rootroot@cm-System-Product-Name:~$ cd /home/wwt/ rootroot@cm-System-Product-Name:/home/wwt$ tar zxvf tinaV2.1_wyb_20170302_patch_leo_20161102.tar.gz rootroot@cm-System-Product-Name:/...
Ice已针对Linux,OSX和Windows进行了预编译,并且源代码可在GitHub上获得。 该软件可以读取许多流行格式的网格(3ds,ac3d,dxf,GIfTI,gts lwo,ms3d,mz3,ctm,dae / Collada,FreeSurfer,nv,obj,off,ply,...
libiec61850 1.3.3的库说明文档,自己整理了为chm,半离线状态,里面算是连接吧,看着有需要的就下载吧。官网也有的