本文詳細描述了在Linux作業系統上安裝和配置“自適應通訊環境(ACE)”的過程和注意事項。
文中的描述基於RedHat Linux 9作業系統和ACE 5.4版
準備工作:
1.確保你的Linux作業系統的開發環境(gcc、make……)是完整且可用的。
2.在安裝ACE的過程中,可能需要root許可權,因此確保你擁有root帳戶的密碼。
3.對於典型的Redhat9系統,autoconf程式的版本可能過低,你需要首先升級它。
升級的步驟如下:
在控制台中輸入 autoconf -V,查看你的autoconf程式的版本
如果低於2.57g,你需要到http://www.gnu.org/software/autoconf/去下載最新版本的autoconf程式,目前autoconf程式的版本是2.59
根據tarball中的安裝說明,編譯並安裝升級autoconf程式
開始安裝:
經過上面的準備工作,現在你已經具備了安裝ACE的條件。下面開始正式的安裝工作。
首先確定ACE的安裝路徑,並建立相應的目錄。
這裡,我們把ACE安裝在/home/zhc/ace/的目錄下,先執行
mkdir /home/zhc/ace
然後將獲得的ACE原始碼包解至該目錄下。
tar zxvf ACE-5.4.tar.gz /home/zhc/ace
這時,在ace的目錄下會建立一個名為ACE_wrappers的子目錄,ACE所有的原始碼、工具、和例子都在這個目錄中。
設定ACE_ROOT環境變數:
ACE_ROOT=/home/work/research/ace/ACE_wrappers
export ACE_ROOT
設定LD_LIBRARY_PATH環境變數:
LD_LIBRARY_PATH = $ACE_ROOT/ace:$LD_LIBRARY_PATH
export LD_LIBRARY_PATH
先進入該目錄,執行
cd /home/zhc/ace/ACE_wrappers
然後建立一個子目錄,用於存放ACE編譯後的目標檔案
mkdir build
cd build
接著,執行configure指令碼,檢查你的系統內容,配置並產生適合你的系統的Makefile檔案。
在執行configure指令碼時,可以加入許多配置選項,其詳細說明可以參看ACE_wrappers目錄下的ACE-INSTALL.html檔案,
對於Redhat9系統來說,不必加任何參數,ACE就可以很好的工作了。
../configure
在漫長的檢查和配置之後,如果沒有什麼問題,你就可以開始編譯了。
這一步很簡單,執行
cd /home/zhc/ace/ACE_wrappers
make 或 make -j5
然後,泡一杯茶,靜靜的等待就行了。
如果編譯順利的通過(通常都會是這樣的),那麼恭喜你,你已經成功了了,
下面要做的僅僅是以些配置工作而已,可以不做
接下來的工作是安裝,這一步是可選的,目的是把編譯產生的ACE的庫檔案、標頭檔和手冊頁等安裝到/usr/local的相應目錄中去,為了今後使用的方便,我建議你還是進行這一步,執行
su
root's password
make install
安裝之後,我們就可以進行最後的配置工作了。
首先設定環境變數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
然後,在$ACE_ROOT/ace目錄中建立一個名為config.h的檔案,在其中包含如下一行
#include "ace/config-linux.h"
或者,簡單起見,你也可以直接建立一個指向config-linux.h的符號連結,執行
ln -s config-linux.h config.h
同樣,在$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
最後一步,設定環境變數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++網路編程,卷一》所帶的例子為例。
進入常式目錄,執行
cd $(ACE_ROOT)/examples/C++NPv1
編譯例子程式,執行
make
如果前面的安裝和配置正確,很快就能夠得到編譯後的例子程式。
分別執行一個伺服器程式(隨便哪一個都行)和一個用戶端程式(Logging_Client),如果程式運行正確,說明前面的安裝和配置成功,下面你就可以開始你的ACE學習之旅了