RHEL 4 笔记 ACE安装

来源:互联网 发布:php文章浏览次数 编辑:程序博客网 时间:2024/04/29 11:23

首先你只下载ACE,不要下包含TAO和CIAO的安装包。

第一步、下载安装包
http://download.dre.vanderbilt.edu/
最新发布稳定的版本。Latest   Release下面的ACE-5.7.tar.gz   。还可以下文档ACE-5.7-html.tar.gz   。

第二步、解压
把ACE-5.7.tar.gz   解压到一个目录。例如你的主目录/home/yourname   。那么完成之后的目录就有/home/yourname/ACE_wrappers   ,我们把这个目录称为ACE根目录。

第三步、安装前的准备
按照ACE根目录下ACE-INSTALL.html中的说明   Building   and   Installing   ACE   on   UNIX   之   2.Traditional   ACE/GNU   Make   Configuration
我这里的第三步相当于那里的前面5步。
你自己也可以看一原来的英文。这儿我也说一下。

设置环境变量.我的SHELL是bash的。所以在控制台执行下面两句
ACE_ROOT=/home/yourname/ACE_wrappers;export   ACE_ROOT
LD_LIBRARY_PATH=$ACE_ROOT/ace:$ACE_ROOT/lib:$LD_LIBRARY_PATH
我也不清楚这两句对安装有没有影响。

建立文件   $ACE_ROOT/ace/config.h     和   ACE_ROOT/include/makeinclude/platform_macros.GNU

第四步、安装
即安装说明中的第6点。这里最重要的就是你在什么目录输入make指令。如果你只编译ACE的基本的组件,就先在控制台移动到目录/home/yournmae/ACE_wrappers/ace,再   make   。如果全部编译则就在/home/yournmae/ACE_wrappers了。

下面是那段英文:
Building   the   entire   ACE   release   can   take   a   long   time   and   consume   lots   of   disk   space,   however.   Therefore,   you   might   consider   cd 'ing   into   the   $ACE_ROOT/ace/   directory   and   running   make   there   to   build   just   the   ACE   library.
中文意思:
然而编译整个的ACE会花较长时间,并且占用大量磁盘空间。因而,你可以进入(用CD指令)$ACE_ROOT/ace/目录,在这里运行make,就只编译ACE基本库。

第五步、调整
编译完成后,会在$ACE_ROOT/ace目录下生成libACE.so.5.7.0文件。在$ACE_ROOT/lib下面生成两个符号链接文件libACE.so   libACE.so.5.7.0   。把$ACE_ROOT/ace下的libACE.so.5.7.0复制到/usr/lib下,并建立符号链接libACE.so   。具体命令:
sudo   cp   /home/yourname/ACE_wrappers/ace/libACE.so.5.7.0         /usr/lib
sudo   ln   -s   libACE.so.5.7.0   libACE.so
为什么这样做呢?是因为,我在用编程的时候,我的程序编译通过了,但在运行的时候提示说没有libACE.so.5.7.0。这个问题可能得看情况。

 

 

------------------------问题 :

ACE编译过程巨长,有很多东西不想编译,比如SNMP,如何禁止?
编译出来的动态库有7、8M了,如何制作release版本?
------------------------
cd ACE_wrappers
mkdir build
cd build
../configure CXXFLAGS=-O3 --disable-debug --disable-ace-examples --disable-ace-tests --without-tao
make
make install

 

 

 -------------------------转载的一遍文章

 

1、获取安装包
到ACE的官方网站http://www.cs.wustl.edu/~schmidt/ACE.html或者http://riverace.com/index.htm下载最新版的ACE,我下的是ACE-5.6.tar.gz;
 
菜鸟们不要下错了,*.tar.gz是类Unix平台的版本,*.zip是windows平台的版本
 
2、查看autoconf版本
#autoconf -V
查看你的autoconf程序的版本 2.57g,就需要升级了
 
3、新建ace用户
#useradd ace
#su - ace
并将源代码ACE-5.6.tar.gz拷贝到ace的默认目录,我的ace默认目录在/home/ace
 
4、源代码解压
$cd
$tar -zxvf ACE-5.6.tar.gz
解压后自动生成目录ACE_wrappers
 
5、ACE_wrappers目录新建子目录
$mkdir /home/ace/ACE_wrappers/objdir
$cd /home/ace/ACE_wrappers/objdir
 
6、执行configure脚本
$../configure
注意此时是在/home/ace/ACE_wrappers/objdir目录
 ../configure 的意思是执行父目录也就是/home/ace/ACE_wrappers目录中的configure
 
7、编译
linux AS4 编译ACE会碰到编译过程中没有反应的情况,即编译 RB_Tree* 文件时不会报错,但是一直停在那里;开始不知道这个情况,再加上ACE很大,编译很耗时,弄了一个下午发现每次都停在 RB_Tree的编译上,才定位到问题;后来好不容易在网上查到了相关的问题解决办法,这个时候已经是晚上了;
 
configure完了之后,make
$make
在make过程中,带RB_Tree 的文件可能会编译很久都没反应,此时应该停掉make(用ctrl+c),然后到相应目录,将makefile中的带RB_Tree的文件名删除,然后继续make:
 
ctrl+C ...
$vi /home/ace/ACE_wrappers/objdir/examples/APG/Containers/Makefile
删除“noinst_PROGRAMS =” 后面带RB_Tree的 文件名(变量名)
$vi /home/ace/ACE_wrappers/objdir/tests/Makefile
删除“noinst_PROGRAMS =” 后面带RB_Tree的 文件名(变量名)
$vi /home/ace/ACE_wrappers/objdir/Kokyu/tests/DSRT_MIF/Makefile
删除“noinst_PROGRAMS =” 后面带MIF的 文件名(变量名)
 
然后继续make
$make
 
整个ACE的编译,应该要耗费几个小时的时间,我是在虚拟机上编译的,时间更慢
 
8、安装
$su -
root's password
#make install
安装目的是把编译生成的ACE的库文件、头文件和手册页等安装到/usr/local的相应目录中去
 
9、设置ace用户的环境变量
#su - ace
$vi .bashrc
ACE_ROOT=/home/ace/ACE_wrappers
export ACE_ROOT
LD_LIBRARY_PATH=$ACE_ROOT/ace:$ACE_ROOT/lib:/usr/local/lib:$LD_LIBRARY_PATH
export LD_LIBRARY_PATH
 
编辑完了之后,ace用户需要重新登陆才能生效,然后用 env命令,确认以上变量已经生效
 
10、链接文件
$cd $ACE_ROOT/ace
$ln -s config-linux.h config.h
 
$cd $ACE_ROOT/include/makeinclude
$ln -s platform_linux.GNU platform_macros.GNU
 
11、系统安装完成
 
12、验证ACE能否使用
注意,在ACE5.6版本中,《C++网络编程,卷一》的可执行程序编译后放在了目录$ACE_ROOT/objdir/examples/C++NPv1,但是源代码却是放在$ACE_ROOT/examples/C++NPv1
 
 
$cd $ACE_ROOT/objdir/examples/C++NPv1
$make
ACE源码中附带有《C++网络编程,卷一》的例子,执行一个服务器程序(随便哪一个都行)和一个客户端程序(Logging_Client),如果程序运行正确,说明前面的安装和配置成功,下面你就可以开始你的ACE学习之旅了
 
$./iterative_logging_server  9090
$./logging_client 9090
原创粉丝点击