第一:重新编译ACE库
ACE 库中通过ACE_Dev_Poll_Reactor类来支持epoll,但是ACE库缺省的安装是没有编译这个类的,我们要做的就是将 ACE_Dev_Poll_Reactor编译连接到ACE库中(faint,又要重新编译ACE,在我那台破服务器上编译一次需要一个多小时).我的操作系统是Redhat linux AS4.0,ACE的版本是5.4.10。根据ACE压缩包中的ACE-INSTALL.html,我是用”Building ACE with GNU Autoconf“这种方式来安装的,安装步骤如下(很简单,就不翻译了):
1 cd to the top-level ACE_wrappers directory.
2.Create a subdirectory to hold your build’s configuration and built ACE version, and then change to the new directory:
mkdir build
cd build
3.Note that you do not run the create_ace_build.pl utility mentioned in the Cloning the Source Tree section. The configure script takes care of creating all files and links that are needed.
Configure ACE for your platform by issuing the following command: c
../configure [options]
4.Build ACE by typing make.
5. Install ACE by typing make install.
好,现在终于可以讲如何将ACE_Dev_Poll_Reactor编译到ACE库中去了。在上述的第一步和第二步之间修改ACE_wrappers/ace /config-linux.h,增加一行:#define ACE_HAS_EVENT_POLL,然后执行第2、3步,第3步.. /configure执行完之后,build目录下会生成一些文件和目录,打开ACE_wrappers/build/ace/config.h,增加一行:#define ACE_HAS_EVENT_POLL。然后执行第4步make和第5步make install.OK,在漫长的编译以后,支持 epoll的ACE库总算完成了。