下載檔案,例如 cbgp-2.0.0-rc2.tar.gz。進行解壓縮、編譯和安裝。
$ tar zxfv cbgp-2.0.0-rc2.tar.gz
$ cd cbgp-2.0.0-rc2/
C-BGP 需要額外 library,包括 libGDS 和 PCRE,否則執行 .configure 時會出下以下錯誤訊息:
$ .configure
checking for LIBGDS... no
checking for LIBGDS... configure: error: libgds >= 2.0.0 is needed to compile cbgp
...
checking for pcre-config... false
ERROR: Could not find pcre-config in your path.
You need PCRE to compile C-BGP.
Source: http://www.pcre.org/
Use --with-pcre=DIR to mention another search path
Install libGDS
於 libGDS 網頁下載檔案,例如 libgds-2.0.0-rc1.tar.gz。
$ tar zxfv src/libgds-2.0.0-rc1.tar.gz
$ cd libgds-2.0.0-rc1
$ ./configure; make; sudo make install
預設將安裝於 /usr/local 目錄,包括安裝 library file 於 /usr/local/lib 目錄,安裝 library header 於 /usr/local/include/libgds 目錄。
或者使用 --prefix=PATH,指定安裝目錄,例如:
$ ./configure --prefix=$HOME/myproj
相關檔案將安裝於 $HOME/myporj/lib 目錄和 $HOME/myproj/include/libgds 目錄。
Install PCRE (Perl Compatible Regular Expressions)
於 PCRE 網頁下載檔案,例如 pcre-8.12.tar.gz,執行以下指令,依序解壓縮和安裝。
$ tar zxfv pcre-8.12.tar.gz
$ cd pcre-8.12
$ ./configure; make; sudo make install
預設將安裝 PCRE 於 /usr/local/{bin, include, lib, share} 目錄。
或者使用 --prefix=PATH,指定安裝目錄,例如:
$ ./configure --prefix=$HOME/myproj
將安裝 PCRE 於 $HOME/myproj/{bin, include, lib, share} 目錄。
Install Others
C-BGP 還需要安裝 libbz2 library。使用 apt 需安裝 libbz2-dev package,使用 yum 需安裝 bzip2-devel。
Install C-BGP again
繼續完成安裝 C-BGP。
$ ./configure; make; sudo make install
若是安裝 ligGDS 於其他目錄(非預設 /usr/local 目錄),需要先設定 PKG_CONFIG_PATH 環境變數,再執行 configure:
$ export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:$HOME/myproj/lib/pkgconfig
或者於執行 configure 時,使用 LIBGDS_CFLAGS 和 LIBGDS_LIBS 參數以設定 C-BGP:
$ ./configure LIBGDS_CFLAGS="-I$HOME/myproj/include" LIBGDS_LIBS="-L$HOME/myproj/lib -lgds"
若是安裝 PCRE 於其他目錄(非預設 /usr/local 目錄),使用 --with-pcre=DIR 參數以設定 C-BGP:
$ ./configure [OPTION] --with-pcre=$HOME/myproj
執行 configure 可以加上 --prefix=PATH,指定 C-BGP 的安裝目錄。
$ ./configure [OPTION] --prefix=$HOME/myproj
如果執行 make 時遇到一些編譯問題,嘗試改用其他 C compiler,例如使用 gcc-4.1:
$ ./configure ... CC=/usr/bin/gcc-4.1
Links
- BGP training - The TOTEM project, http://totem.info.ucl.ac.be/BGP/
- EuroFGI Summer School 2007, http://cbgp.info.ucl.ac.be/eurofgi.php
- EMANICS Summer School 2007 (ISSNSM 2007), http://cbgp.info.ucl.ac.be/emanics.php
- Tutorial: Getting Familiar with the C-BGP Simulator, http://cnds.eecs.jacobs-university.de/courses/anl-2010/C-BGP%20Tutorial.pdf
Hi zjm (couldn't find what your name is)
ReplyDeleteThere is a tutorial available on c-bgp's web site. Have a look at http://c-bgp.sourceforge.net/tutorial.php
Cheers,
Bruno