1. 如果需要让pppd支持packet filtering 功能的话就需要编译libpcap. cross compile libpcap-1.0.0
直接出错了 configure: error: pcap type not determined when cross-compiling; use --with-pcap=...
比较了非交叉编译的log,发现需要加上--with-pcap=linux ./configure --host=arm-xscale-linux-gnu --prefix=/usr/arm-xscale-linux-gnu/ --with-pcap=linux checking Linux kernel version... unknown
查configure文件if test $ac_cv_linux_vers = unknown ; then
原来是交叉编译器无法通过uname获得arm linux 的版本.只能通过cache文件设置了.
这下过了libpcap-1.0.0被安装到了/usr/arm-xscale-linux-gnu/ 目录下
2. cross compile ppp-2.4.4
make CC=/opt/gcc-4.1.2-glibc-2.4/arm-xscale-linux-gnu/bin/arm-xscale-linux-gnu-gcc options.c:59:18: error: pcap.h: No such file or directory
个人觉得,ppp的Makefile 有问题,没有在configure的时候把 --prefix 所指向的路径作为默认路径. 我的做法有两种 line86 行 CFLAGS= $(COPTS) $(COMPILE_FLAGS) $(INCLUDE_DIRS) '-DDESTDIR="/usr/arm-xscale-linux-gnu"' LDFLAGS = -L$(DESTDIR)/lib
直接disable PPP packet filtering,这样的话libpcap-1.0.0甚至都不用编译 # Uncomment the next line to include support for PPP packet filtering.
两种任一种改完,再运行 ppp的包就被安装在pc的/usr/arm-xscale-linux-gnu/, 把该目录原封不动拷贝到板子的相同路径下,就可以在板子上运行pppd了.
OK. |
|
来自: dwlinux_gs > 《IPSec&L2TP》