打印

在cygwin下编译uclinux的问题

在cygwin下编译uclinux的问题

我按照lumit4510_user_guide_1.4.pdf上面的操作,在操作到
make user_only的时候提示如下的错误
/usr/local/bin/../lib/gcc-lib/arm-elf/3.2.1/../../../../arm-elf/bin/ld: Error: alias.o uses hard floating point, whereas
boa uses soft floating point
No error: failed to merge target specific data of file alias.o
/usr/local/bin/../lib/gcc-lib/arm-elf/3.2.1/../../../../arm-elf/bin/ld: Error: auth.o uses hard floating point, whereas
boa uses soft floating point
No error: failed to merge target specific data of file auth.o
/usr/local/bin/../lib/gcc-lib/arm-elf/3.2.1/../../../../arm-elf/bin/ld: Error: boa.o uses hard floating point, whereas b
oa uses soft floating point
No error: failed to merge target specific data of file boa.o
/usr/local/bin/../lib/gcc-lib/arm-elf/3.2.1/../../../../arm-elf/bin/ld: Error: cgi.o uses hard floating point, whereas b
oa uses soft floating point
No error: failed to merge target specific data of file cgi.o
/usr/local/bin/../lib/gcc-lib/arm-elf/3.2.1/../../../../arm-elf/bin/ld: Error: cgi_header.o uses hard floating point, wh
ereas boa uses soft floating point
No error: failed to merge target specific data of file cgi_header.o
/usr/local/bin/../lib/gcc-lib/arm-elf/3.2.1/../../../../arm-elf/bin/ld: Error: config.o uses hard floating point, wherea
s boa uses soft floating point
No error: failed to merge target specific data of file config.o
/usr/local/bin/../lib/gcc-lib/arm-elf/3.2.1/../../../../arm-elf/bin/ld: Error: get.o uses hard floating point, whereas b
oa uses soft floating point
No error: failed to merge target specific data of file get.o
/usr/local/bin/../lib/gcc-lib/arm-elf/3.2.1/../../../../arm-elf/bin/ld: Error: hash.o uses hard floating point, whereas
boa uses soft floating point
No error: failed to merge target specific data of file hash.o
/usr/local/bin/../lib/gcc-lib/arm-elf/3.2.1/../../../../arm-elf/bin/ld: Error: globals.o uses hard floating point, where
as boa uses soft floating point
No error: failed to merge target specific data of file globals.o
/usr/local/bin/../lib/gcc-lib/arm-elf/3.2.1/../../../../arm-elf/bin/ld: Error: log.o uses hard floating point, whereas b
oa uses soft floating point
No error: failed to merge target specific data of file log.o
/usr/local/bin/../lib/gcc-lib/arm-elf/3.2.1/../../../../arm-elf/bin/ld: Error: nls.o uses hard floating point, whereas b
oa uses soft floating point
No error: failed to merge target specific data of file nls.o
/usr/local/bin/../lib/gcc-lib/arm-elf/3.2.1/../../../../arm-elf/bin/ld: Error: pipe.o uses hard floating point, whereas
boa uses soft floating point
No error: failed to merge target specific data of file pipe.o
/usr/local/bin/../lib/gcc-lib/arm-elf/3.2.1/../../../../arm-elf/bin/ld: Error: queue.o uses hard floating point, whereas
boa uses soft floating point
No error: failed to merge target specific data of file queue.o
/usr/local/bin/../lib/gcc-lib/arm-elf/3.2.1/../../../../arm-elf/bin/ld: Error: read.o uses hard floating point, whereas
boa uses soft floating point
No error: failed to merge target specific data of file read.o
/usr/local/bin/../lib/gcc-lib/arm-elf/3.2.1/../../../../arm-elf/bin/ld: Error: request.o uses hard floating point, where
as boa uses soft floating point
No error: failed to merge target specific data of file request.o
/usr/local/bin/../lib/gcc-lib/arm-elf/3.2.1/../../../../arm-elf/bin/ld: Error: response.o uses hard floating point, wher
eas boa uses soft floating point
No error: failed to merge target specific data of file response.o
/usr/local/bin/../lib/gcc-lib/arm-elf/3.2.1/../../../../arm-elf/bin/ld: Error: signals.o uses hard floating point, where
as boa uses soft floating point
No error: failed to merge target specific data of file signals.o
/usr/local/bin/../lib/gcc-lib/arm-elf/3.2.1/../../../../arm-elf/bin/ld: Error: timestamp.o uses hard floating point, whe
reas boa uses soft floating point
No error: failed to merge target specific data of file timestamp.o
/usr/local/bin/../lib/gcc-lib/arm-elf/3.2.1/../../../../arm-elf/bin/ld: Error: util.o uses hard floating point, whereas
boa uses soft floating point
No error: failed to merge target specific data of file util.o
/usr/local/bin/../lib/gcc-lib/arm-elf/3.2.1/../../../../arm-elf/bin/ld: Error: _divsi3.o uses hard floating point, where
as boa uses soft floating point
No error: failed to merge target specific data of file /usr/local/bin/../lib/gcc-lib/arm-elf/3.2.1/libgcc.a(_divsi3.o)
/usr/local/bin/../lib/gcc-lib/arm-elf/3.2.1/../../../../arm-elf/bin/ld: Error: _dvmd_tls.o uses hard floating point, whe
reas boa uses soft floating point
No error: failed to merge target specific data of file /usr/local/bin/../lib/gcc-lib/arm-elf/3.2.1/libgcc.a(_dvmd_tls.o)

/usr/local/bin/../lib/gcc-lib/arm-elf/3.2.1/../../../../arm-elf/bin/ld: Error: _fixunsdfsi.o uses hard floating point, w
hereas boa uses soft floating point
No error: failed to merge target specific data of file /usr/local/bin/../lib/gcc-lib/arm-elf/3.2.1/libgcc.a(_fixunsdfsi.
o)
/usr/local/bin/../lib/gcc-lib/arm-elf/3.2.1/../../../../arm-elf/bin/ld: Error: _modsi3.o uses hard floating point, where
as boa uses soft floating point
No error: failed to merge target specific data of file /usr/local/bin/../lib/gcc-lib/arm-elf/3.2.1/libgcc.a(_modsi3.o)
/usr/local/bin/../lib/gcc-lib/arm-elf/3.2.1/../../../../arm-elf/bin/ld: Error: _udivsi3.o uses hard floating point, wher
eas boa uses soft floating point
No error: failed to merge target specific data of file /usr/local/bin/../lib/gcc-lib/arm-elf/3.2.1/libgcc.a(_udivsi3.o)
/usr/local/bin/../lib/gcc-lib/arm-elf/3.2.1/../../../../arm-elf/bin/ld: Error: _umodsi3.o uses hard floating point, wher
eas boa uses soft floating point
No error: failed to merge target specific data of file /usr/local/bin/../lib/gcc-lib/arm-elf/3.2.1/libgcc.a(_umodsi3.o)
/usr/local/bin/../lib/gcc-lib/arm-elf/3.2.1/../../../../arm-elf/bin/ld: Error: dp-bit.o uses hard floating point, wherea
s boa uses soft floating point
No error: failed to merge target specific data of file /usr/local/bin/../lib/gcc-lib/arm-elf/3.2.1/libgcc.a(dp-bit.o)
/usr/local/bin/../lib/gcc-lib/arm-elf/3.2.1/../../../../arm-elf/bin/ld: Error: fp-bit.o uses hard floating point, wherea
s boa uses soft floating point
No error: failed to merge target specific data of file /usr/local/bin/../lib/gcc-lib/arm-elf/3.2.1/libgcc.a(fp-bit.o)
/usr/local/bin/../lib/gcc-lib/arm-elf/3.2.1/../../../../arm-elf/bin/ld: Error: _lshrdi3.o uses hard floating point, wher
eas boa uses soft floating point
No error: failed to merge target specific data of file /usr/local/bin/../lib/gcc-lib/arm-elf/3.2.1/libgcc.a(_lshrdi3.o)
/usr/local/bin/../lib/gcc-lib/arm-elf/3.2.1/../../../../arm-elf/bin/ld: warning: cannot find entry symbol lf2flt; defaul
ting to 00008030
collect2: ld returned 1 exit status
make[3]: *** [boa] Error 1
make[3]: Leaving directory `/src/uClinux-dist/user/boa/src'
make[2]: *** [all] Error 2
make[2]: Leaving directory `/src/uClinux-dist/user/boa'
make[1]: *** [all] Error 2
make[1]: Leaving directory `/src/uClinux-dist/user'
make: *** [user_only] Error 2
主要就是提示使用的浮点操作一个是硬件浮点一个是软件浮点,请大家给帮忙解决一下。

TOP

交叉编译器是从 lumit 网站上下载的么?
http://www.lumit.org/download/tools/arm-elf-tools-20030314.sh
lumit-admin <admin@lumit.org> [lumit] - let us make it together -> visit http://www.lumit.org now!

TOP

我开始使用的是从lumit下载的,但是这个文件在cygwin下安装后出现的文件不能够使用,which arm-elf-gcc后找不到位置,所以后来又下载的其它版本的,这个安装包在red hat9下没有问题,在cygwin下安装就不能够生成可以识别的arm-elf-gcc,不知道为什么。

TOP

还没有实验过在 cygwin 下编译 lumit4510 uclinux 的包,建议还是换 vmware 吧,那样学习起来更有效率,可以避免 cygwin 下许多莫名其妙的问题。  
lumit-admin <admin@lumit.org> [lumit] - let us make it together -> visit http://www.lumit.org now!

TOP

请问楼主的问题如何解决的?我在Vmware下编译make user_only时也出现类似问题:
make[3]: Entering directory `/uClinux-dist/user/boa/src'
arm-elf-gcc  -O2 -g -fomit-frame-pointer   -Dlinux -D__linux__ -Dunix -D__uClinux__ -DEMBED -I/uClinux-dist/lib/uClibc/include -I/uClinux-dist/lib/libm -I/uClinux-dist/lib/libcrypt_old -I/uClinux-dist -fno-builtin -nostartfiles -I/uClinux-dist/linux-2.4.x/include -Wl,-elf2flt /uClinux-dist/lib/uClibc/lib/crt0.o /uClinux-dist/lib/uClibc/lib/crti.o /uClinux-dist/lib/uClibc/lib/crtn.o -L/uClinux-dist/lib/uClibc/. -L/uClinux-dist/lib/uClibc/lib -L/uClinux-dist/lib/libm -L/uClinux-dist/lib/libnet -L/uClinux-dist/lib/libdes -L/uClinux-dist/lib/libaes -L/uClinux-dist/lib/libpcap -L/uClinux-dist/lib/libcrypt_old -L/uClinux-dist/lib/libssl -o boa alias.o auth.o boa.o cgi.o cgi_header.o config.o get.o hash.o log.o nls.o
pipe.o queue.o read.o request.o response.o signals.o timestamp.o util.o -lcrypt
-lc
/opt/uClinux/arm-elf/bin/gld: cannot find -lg
collect2: ld returned 1 exit status
make[3]: *** [boa] Error 1
make[3]: Leaving directory `/uClinux-dist/user/boa/src'
make[2]: *** [all] Error 2
make[2]: Leaving directory `/uClinux-dist/user/boa'
make[1]: *** [all] Error 2
make[1]: Leaving directory `/uClinux-dist/user'
make: *** [user_only] Error 2
[root@localhost uClinux-dist]# arm-elf-gcc
arm-elf-gcc: No input files
[root@localhost uClinux-dist]# which arm-elf-gcc
/usr/bin/arm-elf-gcc

TOP

解决了没

解决了,请说下如何处理。

TOP