我必须opensawn
为 OMAP4 板进行交叉编译,并且 GMP 是先决条件。首先我在 64 位操作系统上尝试了它,但它给了我这个错误:
配置:错误:糟糕,mp_limb_t 是 64 位,但此配置中的汇编代码需要 32 位。
然后我转向Ubuntu 12.04 32位,经过几次尝试后编译了GMP V6.0.0。即使在有了 ARCH、TOOLCHAIN 和 CROSS_COMPILER 变量之后,.bashrc
我也必须执行export
以下操作:
export ARCH=arm<BR>
export PATH=/home/harsh32bit/Work/Projects/BSQ_VVDN/BISQUARE/gcc-SourceryCodeBenchLite-arm/bin/:$PATH<BR>
export CROSS_COMPILE=arm-none-linux-gnueabi-<BR>
然后观察到以下命令:
./configure --build=i686-pc-linux-gnu --host=arm-none-linux-gnueabi --prefix=/home/harsh32bit/Work/Projects/BSQ_VVDN/BISQUARE/gcc-SourceryCodeBenchLite-arm/
make clean
make
make install
然后将 GMP 库软链接到工具链
~/Work/Projects/BSQ_VVDN/BISQUARE/gcc-SourceryCodeBenchLite-arm/lib/gcc/arm-none-linux-gnueabi/4.7.3
# ln -s ~/Work/Projects/BSQ_VVDN/packages/gmp-6.0.0/.libs/libgmp.so libgmp.so
make check
尽管报告的所有测试都失败了,但我还是成功编译了 GMP 。
9 of 9 tests failed.
现在,当我在 CROSSCOMPILE.sh 中进行更改后尝试交叉编译 Openswan-2.6.41 并执行此操作时,make programs
我收到此错误:
在 /home/harsh32bit/Work/Projects/BSQ_VVDN/packages/openswan-2.6.41/include/certs.h:24:0 包含的文件中,来自 /home/harsh32bit/Work/Projects/BSQ_VVDN/packages/openswan-2.6 .41/lib/libopenswan/id.c:42:/home/harsh32bit/Work/Projects/BSQ_VVDN/packages/openswan-2.6.41/include/secrets.h:20:41:致命错误:gmp.h:否此类文件或目录编译终止
我需要交叉编译openswan
和GMP
.
答案1
好吧,这花了很多时间,所以我凭直觉想到在 OMAP4 板本身上编译它,而不是在 ubuntu 上交叉编译它。对我来说幸运的是,OMAP4 板足够强大,可以执行此类编译:如果有人理解的话,那种很棒的感觉。