상세 컨텐츠

본문 제목

Wireshark 1.2.4 cross compile

Embedded/Application porting

by nowpassion 2009. 11. 20. 10:25

본문

libpcap ,zlib는 미리 컴파일 되어 있었습니다.

libgpg-error-1.7

CC=arm-linux-gcc ./configure --host=arm-linux --build=i686 --prefix=/home/arm/libgpg-error --enable-static=yes \
--enable-shared=no

libgcrypt-1.4.4
CC=arm-linux-gcc ./configure --host=arm-linux --build=i686 --prefix=/home/arm/libgcrypt --enable-static=yes \
 --with-gpg-error-prefix=/home/arm/libgpg-error/ --enable-shared=no

libtasn1-2.3
 CC=arm-linux-gcc ./configure --host=arm-linux --build=i686 --prefix=/home/arm/libtasn1 --enable-static=yes \
 --enable-shared=no

gnutls-2.2.4
CC=arm-linux-gcc CFLAGS=-I/home/arm/libgcrypt/include  LDFLAGS=-L/home/arm/libgcrypt/lib  ./configure  --host=arm-linux --build=i686 --prefix=/home/arm/gnutls --with-libgcrypt --with-libgcrypt-prefix=/home/arm/libgcrypt --enable-static=yes --enable-shared=no  --with-libz-prefix=/home/arm/zlib --with-included-libtasn1=yes  --without-lzo
--with-libtasn1-prefix=/home/arm/libtasn1/

glib 2.22
./configure --host=arm-linux --build=i686 --enable-static=yes --enable-shared=no --disable-selinux --prefix=/home/arm/glib  glib_cv_uscore=no ac_cv_func_posix_getpwuid_r=no ac_cv_func_posix_getgrgid_r=no

Wirleshark 1.2.4
우선 configure내의 GLIB_CFLAGS / GLIB_LIBS를 강제로 arm용으로 크로스 컴파일 된 디렉토리로 지정하게
변경합니다.

CC=arm-linux-gcc CFLAGS="-I/home/arm/glib/include/glib-2.0 -I/home/arm/gnutls/include" LDFLAGS="-L/home/arm/glib/lib -L/home/arm/gnutls/lib" ./configure --host=arm-linux --build=i686 --enable-wireshark=no \
--with-pcap=/home/arm/libpcap/ --prefix=/home/arm/wireshark --disable-gtktest --enable-ipv6=no  \
--enable-threads --disable-gtk --enable-editcap=yes --enable-static=yes --enable-randpkt=yes --enable-mergecap=yes \
--enable-dftest=no --enable-rawshark=no --enable-capinfos=yes --enable-dumpcap=yes --enable-text2pcap=yes  \
--enable-idl2wrs=yes --with-zlib=/home/arm/zlib --with-plugins=yes --with-libgcrypt-prefix=/home/arm/libgcrypt  \
--enable-shared=no --enable-usr-local=no --enable-glibtest=yes

configure명령 이후 lemon을 사용할 수 없다는 이유와 함께 make가 중단됩니다.
tools/lemon만 일반 gcc로 컴파일 한 이후 다시 make를 하면 inet_pton.lo를 찾을 수 없다는 libtool의 오류가 나옵니다. inet_pton.lo 및 inet_pton.o를 epan디렉토리에서 가져와 다시 make하면 완료됩니다.