Chinaunix首页 | 论坛 | 博客
  • 博客访问: 862865
  • 博文数量: 102
  • 博客积分: 7086
  • 博客等级: 少将
  • 技术积分: 2245
  • 用 户 组: 普通用户
  • 注册时间: 2006-04-18 11:01
文章分类

全部博文(102)

文章存档

2012年(2)

2011年(1)

2010年(21)

2009年(31)

2008年(47)

我的朋友

分类: LINUX

2009-01-22 16:38:51

在交叉编译的时候总是使用

export PREFIX=/home/usr/liuhongbing/tmp/install
   export ARCH=mips
   export CROSS_COMPILE=c2-linux-
   export CC=${CROSS_COMPILE}gcc
   export CXX=${CROSS_COMPILE}g++
   export AR=${CROSS_COMPILE}ar
   export RANLIB=${CROSS_COMPILE}ranlib
   export NM=${CROSS_COMPILE}nm
   export AS=${CROSS_COMPILE}as
   export LD=${CROSS_COMPILE}ld
 
./configure --prefix=$PREFIX --build=i686 --target=mips-linux --host=mips-linux

但是在CONFIGURE中有很多的测试程序是不可以在HOST上运行的就会出现: error: cannot run test program while cross compiling 类似的错误,可以使用CACHEFILE解决这个问题。

我是这样解决的

第一步:记录下错误的地方如:checking abstract socket namespace... configure: error: cannot run test program while cross compiling

注意到abstract socket namespace在configure中查找abstract socket可以看到类似这样的结构

echo "$as_me:$LINENO: checking abstract socket namespace" >&5

echo $ECHO_N "checking abstract socket namespace... $ECHO_C" >&6

if test "${ac_cv_have_abstract_sockets+set}" = set; then

echo $ECHO_N "(cached) $ECHO_C" >&6

其中ac_cv_have_abstract_sockets是我们要查找的变量

使用echo ac_cv_have_abstract_sockets=yes > mips-linux.cache

然后

./configure --prefix=$PREFIX --build=i686 --target=mips-linux --host=mips-linux --cache-file=mips-linux.cache

这样就搞定了

阅读(3483) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~