dynamips-0.2.7 for CentOS4導入メモ
Cisco 7200 Simulatorである「dynamips」のビルド手順。
今回は、とりあえずビルドまで、CentOS4ではPcapが古い為、次回CentOS5でやり直し弄っていく予定。
libpcapを追加
# yum install libpcap
ビルド
# make
Linking rom2c
cc: /usr/lib/libelf.a: そのようなファイルやディレクトリはありません
cc: /usr/local/lib/libpcap.a: そのようなファイルやディレクトリはありません
rom2c.c:16:20: libelf.h: そのようなファイルやディレクトリはありません
rom2c.c: In function `main':
rom2c.c:25: error: `Elf32_Ehdr' が宣言されていません (この関数内で最初に利用)
rom2c.c:25: error: (未宣言の各変数については、それが最初に現われたそれぞれの関数
rom2c.c:25: error: に対して一度だけ報告されます。)
rom2c.c:25: error: `ehdr' が宣言されていません (この関数内で最初に利用)
rom2c.c:26: error: `Elf32_Phdr' が宣言されていません (この関数内で最初に利用)
rom2c.c:26: error: `phdr' が宣言されていません (この関数内で最初に利用)
rom2c.c:27: error: `Elf' が宣言されていません (この関数内で最初に利用)
rom2c.c:27: error: `img_elf' が宣言されていません (この関数内で最初に利用)
rom2c.c:42: 警告: 関数 `elf_version' の暗黙の宣言
rom2c.c:42: error: `EV_CURRENT' が宣言されていません (この関数内で最初に利用)
rom2c.c:42: error: `EV_NONE' が宣言されていません (この関数内で最初に利用)
rom2c.c:47: 警告: 関数 `elf_begin' の暗黙の宣言
rom2c.c:47: error: `ELF_C_READ' が宣言されていません (この関数内で最初に利用)
rom2c.c:49: 警告: 関数 `elf_errmsg' の暗黙の宣言
rom2c.c:49: 警告: 関数 `elf_errno' の暗黙の宣言
rom2c.c:49: 警告: フォーマット引数がポインタではありません (引数 3)
rom2c.c:53: 警告: 関数 `elf32_getphdr' の暗黙の宣言
rom2c.c:55: 警告: フォーマット引数がポインタではありません (引数 3)
rom2c.c:64: 警告: 関数 `elf32_getehdr' の暗黙の宣言
rom2c.c:75: 警告: value computed is not used
make: *** [rom2c] エラー 1
パッケージ追加
# yum install elfutils-libelf-devel
libpcapのライブラリ保存位置が、Makefile内で固定記述されている為、修正。
Makefileの43行目編集
PCAP_LIB=/usr/local/lib/libpcap.a
↓
PCAP_LIB=/usr/lib/libpcap.a
CentOS4では、pcapのバージョンが古く失敗する為、pcapを使用しない様に修正。
本当は、pcapの新しいのを入れるべきだが。
Makefileの13行目編集
HAS_PCAP?=1
↓
HAS_PCAP?=0