毕业论文开发语言企业开发JAVA技术.NET技术WEB开发Linux/Unix数据库技术Windows平台移动平台嵌入式论文范文英语论文
您现在的位置: 毕业论文 >> 嵌入式 >> 正文

configure: error: cannot run test program while cross compiling

更新时间:2012-6-14:  来源:毕业论文

刚接触Linux系统,然后还没等熟悉过来就接手了一个编译的活儿,就是要把IPMItool移植到ARM开发板上,一边编译一边学习,总是编译失败,这里我简单说下我的步骤,同时贴出一部分代码,希望大虾们指点迷津,不胜感激涕零。
首先,我是从官网上下载的IPMITool-1.8.11,解压到/home/erictang/ARM_IPMI/ipmitool/下,文件夹名为ipmitool-1.8.11,然后在ipmitool下创建文件夹inst(与ipmitool-1.8.11文件夹同级),用来拷贝编译完成的IPMItool。

然后cd /home/erictang/ARM_IPMI/ipmitool-1.8.11,进入要编译的文件夹

接下来,配置选项
./configure --prefix=/home/erictang/ARM_IPMI/ipmitool/inst --mandir=/home/erictang/ARM_IPMI/ipmitool/inst/share/man --host=arm-linux CC=arm-linux-gcc
返回结果为:configure: error: cannot run test program while cross compiling(貌似在编译时不能运行test program),这一步我觉得有问题,因为如果我去掉--host和CC参数,返回的结果就是:
ipmitool 1.8.11
Interfaces
  lan : yes
  lanplus : no
  open : yes
  free : no
  imb : yes
  bmc : no
  lipmi : no

Extra tools
  ipmievd : yes

所以我就去掉了--host和CC参数

再接下来开始vi Makefile
把其中的AR = ar改为AR=arm-linux-ar,ARCH=i686改为ARCH=arm,CC = gcc改为CC=arm-linux-gcc,CFLAGS = -g -O2 -fno-strict-aliasing改为CFLAGS = ,CPP = gcc -E改为CPP = arm-linux-gcc -E,CXX = g++改为CXX = arm-linux-g++,CXXCPP = g++ -E改为CXXCPP = arm-linux-g++ -E,CXXFLAGS = -g -O2改为CXXFLAGS = ,OS = linux-gnu改为OS = arm-linux-gnu,PSTAMP = i686-redhat-linux-gnu改为PSTAMP = arm-linux-gnu,ac_ct_AR = ar改为ac_ct_AR = arm-linux-ar,ac_ct_CC = gcc改为ac_ct_CC = arm-linux-gcc,ac_ct_CXX = g++改为ac_ct_CXX = arm-linux-g++,build = i686-redhat-linux-gnu改为build=arm--linux-gnu,build_cpu = i686改为build_cpu = arm,build_os = linux-gnu改为build_os = arm-linux-gnu,host = i686-redhat-linux-gnu改为host = arm-linux-gnu,target = i686-redhat-linux-gnu改为target = arm-linux-gnu,target_cpu = i686改为target_cpu = arm,target_os = linux-gnu改为target_os = arm-linux-gnu,然后保存,退出vi。

接下来开始make,一大堆信息,在我这个小白看来,貌似没有问题,完后开始make install,也没有什么大问题。貌似一切成功之后,进入inst文件夹中bin下查看生成的ipmitool文件,使用file ipmitool指令,得到的信息如下:

ipmitool: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.32, not stripped

看信息,貌似生成的只是适用于pc下的linux中的IPMITOOL

额,这个问题已经折腾了我一周了,也不敢奢望哪位大侠能直接给我源码,只是希望能够指点下小弟,小弟确实是小白,接触Linux系统不到两周,目前所用的系统为Fedora16

 arm-linux-gcc 声明在环境变量里了么? 即在命令行下,arm-linux-gcc 可用否?
这个可用后,再试着configure时候加CC参数。 可能就能行了。

如果不行的话,LZ是否需要编译arm linux的源码? 可以跟arm linux的源码一起编译。 放在,driver下面,创建个文件夹,修改driver的Makefile,在最下面加入 obj-m += /文件夹名
至于文件夹里的内容, 就是你那个ipmitool。
编译arm板的内核源码,顺带就把你这个编译了.(很多都是这样编译滴...) 

设为首页 | 联系站长 | 友情链接 | 网站地图 |

copyright©youerw.com 优尔论文网 严禁转载
如果本毕业论文网损害了您的利益或者侵犯了您的权利,请及时联系,我们一定会及时改正。