在Linux系統中安裝和配置ACE
作者:張弛(zhangchi@bnchina.com)
本文詳細描述了在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