交叉编译njit8021xclient
2.交叉编译njit8021xclient需要以下三样东西,libgpg-error、libgcrypt、libpcap。
3.增加环境变量export PATH="$PATH:/home/jacky/tools/dd/bin"
4.交叉编译libgpg-error,
相关命令(这里就不把libgpg-error安装到交叉编译工具所在目录了)
./configure --host=mipsel-linux
make
sudo make install
5.着编译libgcrypt
相关命令
./configure --host=mipsel-linux
make
sudo make install
6.译libpcap。参考前面内容(最好使用libpcap1.0.0)
7.改Makefile (重点) (将libpcap.a复制到Makefile所在的文件夹)
修改后
CC := mipsel-linux-uclibc-gcc
CFLAGS := -g -Wall -Wextra -I.
CFLAGS += $(shell libgcrypt-config --cflags)
LDLIBS += $(shell libgcrypt-config --libs)
all: njit-client
njit-client: main.o auth.o fillmd5.o fillbase64.o ip.o libpcap.a
$(LINK.o) $^ $(LDLIBS) -o $@ -static -s
%.o: %.c %.h
$(COMPILE.c) $< -o $@
%.o: %.c
$(COMPILE.c) $< -o $@
clean:
rm -f *.o
rm -f njit-client
6.修改自动刷新ip部分(不修改也行)
auth.c中将system("./njit-RefreshIP");
改成system("/sbin/dhpcp-renew"); (注意dhpcp-renew命令tomato下才有)
8.make
................................
结果:交叉编译出的客户端可以通过认证,可是仍然不能维持在线(Ubuntu下的njit-client客户端却可以正常使用)。从使用tcpdump抓包情况来看,收到服务器的三次在线请求后,接着就收到服务器发来的Failure数据包。(目前交叉编译出的xclient能够正常使用)。