直接编译openwrt SDK没问题。

然后添加openswan模块,编译出现如下错误:

/root/openwrt/kzl/openwrt/build_dir/target-mipsel_24kec+dsp_uClibc-0.9.33.2/linux-ramips_mt7620a/openswan-2.6.41/include/secrets.h:20:41: fatal error: gmp.h: No such file or directory


需要交叉编译gmp。

网上下载gmp-4.3.1.tar.bz2

运行如下命令,设置编译环境:

export CROSS_COMPILE=mipsel-linux-
export ARCH=mips
export HOST=mipsel-linux
export PREFIX=/home/cylan/openwrt/kzl
export AS=${CROSS_COMPILE}as
export CC=${CROSS_COMPILE}gcc
export LD=${CROSS_COMPILE}ld
export CPP="${CC} -E"
export AR=${CROSS_COMPILE}ar
export NM=${CROSS_COMPILE}nm
export STRIP=${CROSS_COMPILE}strip
export OBJCOPY=${CROSS_COMPILE}objcopy
export OBJDUMP=${CROSS_COMPILE}objdump
export PATH=/opt/buildroot-gcc342/bin/:$PATH

/opt/buildroot-gcc342/bin为交叉编译工具链目录,PATH要包含这个目录。

然后交叉编译:

./configure --host=mips --prefix=/home/cylan/openwrt/kzl

(经测试,--host=mips,--host=mips或者--host=mipsel-linux都可以,为什么?)

make & make install

make install会把头文件和库函数都安装到/home/cylan/openwrt/kzl目录下。

然后按如下步骤编译包括openswan的openwrt:

首先,重新打开一个shell,这样就把环境变量还原了,然后设置如下环境变量:

export CPATH=/home/cylan/openwrt/kzl/include
export LIBRARY_PATH=/home/cylan/openwrt/kzl/lib

把上面编译的gmp头文件目录和库目录设置到环境变量中。

然后,开始编译:make。


http://stackoverflow.com/questions/25657850/cross-compile-gmp-and-openswan-for-arm-on-ubuntu-12-04-32-bit



GitHub 加速计划 / li / linux-dash
10.39 K
1.2 K
下载
A beautiful web dashboard for Linux
最近提交(Master分支:23 天前 )
186a802e added ecosystem file for PM2 4 年前
5def40a3 Add host customization support for the NodeJS version 4 年前
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐