+ -
当前位置:首页 → 问答吧 → 交叉编译bluez-utils错误

交叉编译bluez-utils错误

时间:2007-09-28

来源:互联网

大家帮忙看看是什么原因.
在FC6下交叉编程bluez-utils-3.19 :
./configure --host=armv4l --prefix=/root/arm/bluez-utils --with-bluez=/root/arm/bluez-libs --with-alsa-prefix=/root/arm/alsa-libs/lib --with-alsa-inc-prefix=/root/arm/alsa-libs/include CC=/usr/local/arm/3.3.2/bin/arm-linux-gcc

其中需要包含bluez-lib的头文件和库文件已在环境变量里正确设置,make后出以下错误: (编译器:arm-linux-gcc-3.3.2)

/usr/local/arm/3.3.2/bin/arm-linux-gcc -Wall -O2 -D_FORTIFY_SOURCE=2 -o sbcdec sbcdec.o  ./.libs/libsbc.a  
/usr/local/arm/3.3.2/bin/arm-linux-gcc -DHAVE_CONFIG_H -I. -I..     -Wall -O2 -D_FORTIFY_SOURCE=2 -MT sbcenc.o -MD -MP -MF .deps/sbcenc.Tpo -c -o sbcenc.o sbcenc.c
/tmp/ccPlmTe6.s: Assembler messages:
/tmp/ccPlmTe6.s:115: Error: bad instruction `rorw $8,r3'
/tmp/ccPlmTe6.s:115: Error: bad instruction `rorl $16,r3'
/tmp/ccPlmTe6.s:115: Error: bad instruction `rorw $8,r3'
/tmp/ccPlmTe6.s:121: Error: bad instruction `rorw $8,r3'
/tmp/ccPlmTe6.s:121: Error: bad instruction `rorl $16,r3'
/tmp/ccPlmTe6.s:121: Error: bad instruction `rorw $8,r3'
/tmp/ccPlmTe6.s:152: Error: bad instruction `rorw $8,r1'
/tmp/ccPlmTe6.s:152: Error: bad instruction `rorl $16,r1'
/tmp/ccPlmTe6.s:152: Error: bad instruction `rorw $8,r1'
/tmp/ccPlmTe6.s:161: Error: bad instruction `rorw $8,r3'
/tmp/ccPlmTe6.s:161: Error: bad instruction `rorl $16,r3'
/tmp/ccPlmTe6.s:161: Error: bad instruction `rorw $8,r3'
/tmp/ccPlmTe6.s:162: Error: bad instruction `rorw $8,ip'
/tmp/ccPlmTe6.s:162: Error: bad instruction `rorl $16,ip'
/tmp/ccPlmTe6.s:162: Error: bad instruction `rorw $8,ip'
make[2]: *** [sbcenc.o] 错误 1
make[2]: Leaving directory `/root/bluezport/bluez-utils-3.19/sbc'
make[1]: *** [all-recursive] 错误 1
make[1]: Leaving directory `/root/bluezport/bluez-utils-3.19'
make: *** [all] 错误 2
[root@localhost bluez-utils-3.19]#

在/tmp下并没有找到任何*.s的文件!
请问这是不是编译器的问题?
试过2.95.3问题一样,3.4.1和3.4.4则直接提示是gcc的bug

还有,有谁把bluez移植到过s3c2410下?可否把经验贴出来分享一下?      

作者: yyfish   发布时间: 2007-09-28

你要安装arm的cross binutils      

作者: AIKO_sex   发布时间: 2007-09-28

谢谢AIKO_sex的回答.
我已经有装cross binutils了.用下面的configure 也是一样问题的.

./configure --host=armv4l --prefix=/root/arm/bluez-utils --with-bluez=/root/arm/bluez-libs --with-alsa-prefix=/root/arm/alsa-libs/lib --with-alsa-inc-prefix=/root/arm/alsa-libs/include CC=/usr/local/arm/3.3.2/bin/arm-linux-gcc CPP=/usr/local/arm/3.3.2/bin/arm-linux-cpp STRIP=/usr/local/arm/3.3.2/bin/arm-linux-strip RANLIB=/usr/local/arm/3.3.2/bin/arm-linux-ranlib AR=/usr/local/arm/3.3.2/bin/arm-linux-ar LD=/usr/local/arm/3.3.2/bin/arm-linux-ld      

作者: yyfish   发布时间: 2007-09-28

CC=/usr/local/arm/3.3.2/bin/arm-linux-gcc CPP=/usr/local/arm/3.3.2/bin/arm-linux-cpp STRIP=/usr/local/arm/3.3.2/bin/arm-linux-strip RANLIB=/usr/local/arm/3.3.2/bin/arm-linux-ranlib AR=/usr/local/arm/3.3.2/bin/arm-linux-ar LD=/usr/local/arm/3.3.2/bin/arm-linux-ld

你这些不一定有用

最好在PATH里设定

还有AS等      

作者: AIKO_sex   发布时间: 2007-09-28

也试过了,在PATH里设定也是一样的问题.

还有一个现象,就是每一次make  /tmp/ccPlmTe6.s 文件都不一样,真的是搞不懂怎么回事了?
这个问题困扰我好多天了,后继的工作都没法做下去,哪位高手碰到过此类问题,帮忙解决一下,不胜感激!!

移植低版本的 bluez-2.25 就没有出现这样的问题,很顺利就可以通过编译(用的是一样的配置参数和编译器)      

作者: yyfish   发布时间: 2007-09-28

fc6的libc好像和以往版本不一样,用的是新的hash style

你在老版本的fc上试试      

作者: AIKO_sex   发布时间: 2007-09-28

谢谢AIKO_sex的热心回复!
我再试试其它办法...      

作者: yyfish   发布时间: 2007-09-28