本文详细描述了在Linux操作系统上安装和配置“自适应通信环境(ACE)”的过程和注意事项。
文中的描述基于RedHat Linux 9操作系统和ACE 5.4版
准备工作:
1.确保你的Linux操作系统的开发环境(gcc、make……)是完整且可用的。
2.在安装ACE的过程中,可能需要root权限,因此确保你拥有root帐户的密码。
3.对于典型的Redhat9系统,autoconf程序的版本可能过低,你需要首先升级它。
升级的步骤如下:
1. 在控制台中输入 autoconf -V,查看你的autoconf程序的版本
2. 如果低于2.57g,你需要到http://www.gnu.org/software/autoconf/去下载最新版本的autoconf程序,目前autoconf程序的版本是2.59
3. 根据tarball中的安装说明,编译并安装升级autoconf程序
开始安装:
经过上面的准备工作,现在你已经具备了安装ACE的条件。下面开始正式的安装工作。
1. 首先确定ACE的安装路径,并建立相应的目录。
这里,我们把ACE安装在/home/zhc/ace/的目录下,先执行
mkdir /home/zhc/ace
2. 然后将获得的ACE源代码包解至该目录下。
tar zxvf ACE-5.4.tar.gz /home/zhc/ace
3. 这时,在ace的目录下会建立一个名为ACE_wrappers的子目录,ACE所有的源代码、工具、和例子都在这个目录中。
先进入该目录,执行
cd /home/zhc/ace/ACE_wrappers
然后建立一个子目录,用于存放ACE编译后的目标文件
mkdir build
cd build
4. 接着,执行configure脚本,检查你的系统环境,配置并生成适合你的系统的Makefile文件。
在执行configure脚本时,可以加入许多配置选项,其详细说明可以参看ACE_wrappers目录下的ACE-INSTALL.html文件,
对于Redhat9系统来说,不必加任何参数,ACE就可以很好的工作了。
../configure
5. 在漫长的检查和配置之后,如果没有什么问题,你就可以开始编译了。
这一步很简单,执行
make
然后,泡一杯茶,静静的等待就行了。
6. 如果编译顺利的通过(通常都会是这样的),那么恭喜你,你已经成功了一大半了,下面要做的仅仅是以些配置工作而已。
接下来的工作是安装,这一步是可选的,目的是把编译生成的ACE的库文件、头文件和手册页等安装到/usr/local的相应目录中去,为了今后使用的方便,我建议你还是进行这一步,执行
su
root's password
make install
7. 安装之后,我们就可以进行最后的配置工作了。
首先设置环境变量ACE_ROOT,执行
setenv ACE_ROOT /home/zhc/ace/ACE_wrappers
注意其中的路径要根据你的实际情况而定
如果你不想每次都手工设定路径,可以编辑你的bash的配置文件,执行
cd
vi .bash_profile
在其中填加如下两行
ACE_ROOT=/home/work/research/ace/ACE_wrappers
export ACE_ROOT
8. 然后,在$ACE_ROOT/ace目录中创建一个名为config.h的文件,在其中包含如下一行
#include "ace/config-linux.h"
或者,简单起见,你也可以直接建立一个指向config-linux.h的符号链接,执行
ln -s config-linux.h config.h
9. 同样,在$ACE_ROOT/include/makeinclude目录中创建一个名为platform_macros.GNU的文件,在其中包含如下一行
include $(ACE_ROOT)/include/makeinclude/platform_linux.GNU
或者,简单起见,你也可以直接建立一个指向platform_linux.GNU的符号链接,执行
ln -s platform_linux.GNU platform_macros.GNU
10. 最后一步,设置环境变量LD_LIBRARY_PATH,执行
setenv LD_LIBRARY_PATH $ACE_ROOT/ace:$ACE_ROOT/lib:/usr/local/lib:$LD_LIBRARY_PATH
或者在~/.bash_profile文件中添加如下两行
LD_LIBRARY_PATH=$ACE_ROOT/ace:$ACE_ROOT/lib:/usr/local/lib:$LD_LIBRARY_PATH
export LD_LIBRARY_PATH
安装完成:
经过上面的步骤,ACE已经安装到了您的系统上了,下面我们将编译并执行ACE的例程以验证我们的工作。
这里我们以《C++网络编程,卷一》所带的例子为例。
1. 进入例程目录,执行
cd $(ACE_ROOT)/examples/C++NPv1
2. 编译例子程序,执行
make
如果前面的安装和配置正确,很快就能够得到编译后的例子程序。
3. 分别执行一个服务器程序(随便哪一个都行)和一个客户端程序(Logging_Client),如果程序运行正确,说明前面的安装和配置成功,下面你就可以开始你的ACE学习之旅了
以上方法已经在SUSE和RED HAT上完成。
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
1.设置ACE_ROOT环境变量:
ACE_ROOT = /home/redwood/software/ACE_wrappers
export ACE_ROOT
2.针对不同版本创建两个文件链接:
在$ACE_ROOT/ace目录下:
% ln -s config-linux.h config.h
在$ACE_ROOT/include/makeinclude/目录下:
% ln -s platform_linux.GNU platform_macros.GNU
3.设置LD_LIBRARY_PATH环境变量:
LD_LIBRARY_PATH = $ACE_ROOT/ace:$LD_LIBRARY_PATH
export LD_LIBRARY_PATH
4..运行配置脚本 ./configure
5. 编译#>make
6,安装 #> make install