ucli...@browserseal.com wrote:
> I first tried to compile for ARM SkyeEye simulator with default settings,
> i.e. glibc. The compilation failed at the glibc patch phase.
>
> I than changed glibc to uClibc (BTW, why glibc is the default, it used to
> be uClibc !?) and the compilation failed with the following error:
>
>   
Hmmm, I seem to recall that it DID default to uClibc, but it's been a
while since I started from scratch.

>   CC libc/sysdeps/linux/arm/syscall.o
> libc/sysdeps/linux/arm/syscall.c: In function 'syscall':
> libc/sysdeps/linux/arm/syscall.c:28: error: '__NR_syscall' undeclared
> (first use in this function)
> libc/sysdeps/linux/arm/syscall.c:28: error: (Each undeclared identifier
> is reported only once
> libc/sysdeps/linux/arm/syscall.c:28: error: for each function it appears
> in.)
> make[3]: *** [libc/sysdeps/linux/arm/syscall.o] Error 1
> make[3]: Leaving directory `/unpackaged/uClinux-dist/uClibc'
> make[2]: *** [uClibc] Error 2
> make[2]: Leaving directory `/unpackaged/uClinux-dist/lib'
> make[1]: *** [all] Error 2
> make[1]: Leaving directory `/unpackaged/uClinux-dist/lib'
> make: *** [subdirs] Error 1
>
>
> After I uClibc parameter CONFIG_ARM_OABI to CONFIG_ARM_EABI (BTW, why
> isn't it the default ?) 
Because not all working arm-compatible toolchains support EABI....you
just happen to be using one that does.


> this error went away, but another one appeared
> quite quickly
>
> make[3]: Entering directory `/unpackaged/uClinux-dist/user/boa'
> make[3]: warning: -jN forced in submake: disabling jobserver mode.
> for i in src ; do make -C $i all || exit ; done
> make[4]: Entering directory `/unpackaged/uClinux-dist/user/boa/src'
> ucfront-gcc arm-linux-gnueabi-gcc  -Os                     -g -pipe
> -msoft-float -fno-common -fno-builtin -Wall   -DEMBED -D__PIC__ -fpic
> -msingle-pic-base -Dlinux -D__linux__ -Dunix -D__uClinux__   -c -o
> alias.o alias.c
> In file included from
> /unpackaged/uClinux-dist/uClibc/include/bits/socket.h:31,
>                  from
> /unpackaged/uClinux-dist/uClibc/include/sys/socket.h:35,
>                  from arp.c:23:
> /unpackaged/uClinux-dist/uClibc/include/limits.h:124:26: error: limits.h:
> No such file or directory
> make[3]: Leaving directory `/unpackaged/uClinux-dist/user/games'
> [ ! -d "inetd" ] || ( touch inetd/.sgbuilt_user && make -j1 -C inetd )
> || exit $?
> make[3]: *** [arp.o] Error 1
> make[3]: Leaving directory `/unpackaged/uClinux-dist/user/dhcpcd-new'
> In file included from
> /unpackaged/uClinux-dist/uClibc/include/bits/socket.h:31,
>                  from
> /unpackaged/uClinux-dist/uClibc/include/sys/socket.h:35,
>                  from defines.h:103,
>                  from boa.h:32,
>                  from alias.c:27:
> /unpackaged/uClinux-dist/uClibc/include/limits.h:124:26: error: limits.h:
> No such file or directory
> make[2]: *** [dhcpcd-new] Error 2
> make[2]: *** Waiting for unfinished jobs....
> In file included from gdb/defs.h:27,
>                  from server.h:20,
>                  from utils.c:20:
> /unpackaged/uClinux-dist/uClibc/include/limits.h:124:26: error: limits.h:
> No such file or directory
> make[3]: Entering directory `/unpackaged/uClinux-dist/user/inetd'
> make[3]: warning: -jN forced in submake: disabling jobserver mode.
> ucfront-gcc arm-linux-gnueabi-gcc  -Os                     -g -pipe
> -msoft-float -fno-common -fno-builtin -Wall   -DEMBED -D__PIC__ -fpic
> -msingle-pic-base -Dlinux -D__linux__ -Dunix -D__uClinux__
> -DSERVICES=\"/etc/services\" -DINETD_CONF=\"/etc/inetd.conf\"
> -Wall -DMODIFY_CONFIG -DALT_INETD_CONF=\"/etc/config/inetd.conf\"  
> -c -o inetd.o inetd.c
> make[3]: *** [utils.o] Error 1
> make[3]: Leaving directory `/unpackaged/uClinux-dist/user/gdbserver'
> make[4]: *** [alias.o] Error 1
> make[4]: Leaving directory `/unpackaged/uClinux-dist/user/boa/src'
> make[2]: *** [gdbserver] Error 2
> make[3]: *** [all] Error 2
> make[3]: Leaving directory `/unpackaged/uClinux-dist/user/boa'
> make[2]: *** [boa] Error 2
> In file included from
> /unpackaged/uClinux-dist/uClibc/include/bits/socket.h:31,
>                  from
> /unpackaged/uClinux-dist/uClibc/include/sys/socket.h:35,
>                  from /unpackaged/uClinux-dist/uClibc/include/net/if.h:27,
>                  from inetd.c:38:
> /unpackaged/uClinux-dist/uClibc/include/limits.h:124:26: error: limits.h:
> No such file or directory
> inetd.c: In function ‘handle_incoming_fds’:
> inetd.c:284: warning: pointer targets in passing argument 3 of ‘accept’
> differ in signedness
> make[3]: *** [inetd.o] Error 1
> make[3]: Leaving directory `/unpackaged/uClinux-dist/user/inetd'
> make[2]: *** [inetd] Error 2
> make[2]: Leaving directory `/unpackaged/uClinux-dist/user'
> make[1]: *** [all] Error 2
> make[1]: Leaving directory `/unpackaged/uClinux-dist/user'
> make: *** [subdirs] Error 1
>
>   

This thread might help, try that instead of the "fix" you attempted
afterwards:

http://mailman.uclinux.org/pipermail/uclinux-dev/2009-May/000890.html

> I managed to work around this problem by adding the following flag
> VENDOR_CFLAGS=-I/usr/lib/gcc/arm-linux-gnueabi/4.3.2/include-fixed/
>
> only to discover yet another issue:
>
> ucfront-gcc arm-linux-gnueabi-gcc  -Wl,-elf2flt -msoft-float -D__PIC__
> -fpic -msingle-pic-base -Wl,-elf2flt -msoft-float -D__PIC__ -fpic
> -msingle-pic-base -o dhcpcd arp.o buildmsg.o client.o dhcpcd.o peekfd.o
> signals.o udpipgen.o
> /usr/lib/gcc/arm-linux-gnueabi/4.3.2/../../../../arm-linux-gnueabi/bin/ld:
> warning: cannot find entry symbol lf2flt; defaulting to 000080d0
> /unpackaged/uClinux-dist/uClibc/lib/libc.a(sigrestorer.o):(.ARM.exidx+0x0):
> undefined reference to `__aeabi_unwind_cpp_pr1'
> collect2: ld returned 1 exit status
> make[3]: *** [dhcpcd] Error 1
> make[3]: Leaving directory `/unpackaged/uClinux-dist/user/dhcpcd-new'
> ucfront-gcc arm-linux-gnueabi-gcc  -Os                     -g -pipe
> -msoft-float -fno-common -fno-builtin -Wall 
> -I/usr/lib/gcc/arm-linux-gnueabi/4.3.2/include-fixed/ -DEMBED -D__PIC__
> -fpic -msingle-pic-base -Dlinux -D__linux__ -Dunix -D__uClinux__   -c -o
> response.o response.c
> make[2]: *** [dhcpcd-new] Error 2
> ucfront-gcc arm-linux-gnueabi-gcc  -Os                     -g -pipe
> -msoft-float -fno-common -fno-builtin -Wall 
> -I/usr/lib/gcc/arm-linux-gnueabi/4.3.2/include-fixed/ -DEMBED -D__PIC__
> -fpic -msingle-pic-base -Dlinux -D__linux__ -Dunix -D__uClinux__   -c -o
> signals.o signals.c
> ucfront-gcc arm-linux-gnueabi-gcc  -Os                     -g -pipe
> -msoft-float -fno-common -fno-builtin -Wall 
> -I/usr/lib/gcc/arm-linux-gnueabi/4.3.2/include-fixed/ -DEMBED -D__PIC__
> -fpic -msingle-pic-base -Dlinux -D__linux__ -Dunix -D__uClinux__   -c -o
> timestamp.o timestamp.c
> ucfront-gcc arm-linux-gnueabi-gcc  -Os                     -g -pipe
> -msoft-float -fno-common -fno-builtin -Wall 
> -I/usr/lib/gcc/arm-linux-gnueabi/4.3.2/include-fixed/ -DEMBED -D__PIC__
> -fpic -msingle-pic-base -Dlinux -D__linux__ -Dunix -D__uClinux__   -c -o
> util.o util.c
> ucfront-gcc arm-linux-gnueabi-gcc  -Wl,-elf2flt -msoft-float -D__PIC__
> -fpic -msingle-pic-base -Wl,-elf2flt -msoft-float -D__PIC__ -fpic
> -msingle-pic-base -o boa alias.o auth.o boa.o cgi.o cgi_header.o
> config.o get.o hash.o globals.o log.o nls.o pipe.o queue.o read.o
> request.o response.o signals.o timestamp.o util.o -lcrypt
> /usr/lib/gcc/arm-linux-gnueabi/4.3.2/../../../../arm-linux-gnueabi/bin/ld:
> warning: cannot find entry symbol lf2flt; defaulting to 000080d0
> /unpackaged/uClinux-dist/uClibc/lib/libc.a(sigrestorer.o):(.ARM.exidx+0x0):
> undefined reference to `__aeabi_unwind_cpp_pr1'
> collect2: ld returned 1 exit status
> make[4]: *** [boa] Error 1
> make[4]: Leaving directory `/unpackaged/uClinux-dist/user/boa/src'
> make[3]: *** [all] Error 2
> make[3]: Leaving directory `/unpackaged/uClinux-dist/user/boa'
> make[2]: *** [boa] Error 2
> make[2]: Leaving directory `/unpackaged/uClinux-dist/user'
> make[1]: *** [all] Error 2
> make[1]: Leaving directory `/unpackaged/uClinux-dist/user'
> make: *** [subdirs] Error 1
>
>
>   

Sounds like a toolchain issue, not a source issue. I'm not an expert in
this area though, perhaps someone else will respond..

> At which point I gave up. What happened to uClinux !!??
>
> I tried both Codesourcery (uClinux version) and emdebian cross compiler
> toolchains with the same results.
>   
there are many codesourcery versions. They seem to be released on a set
schedule. Which one are you using?

> _______________________________________________
> uClinux-dev mailing list
> uClinux-dev@uclinux.org
> http://mailman.uclinux.org/mailman/listinfo/uclinux-dev
> This message was resent by uclinux-dev@uclinux.org
> To unsubscribe see:
> http://mailman.uclinux.org/mailman/options/uclinux-dev
>
>   

_______________________________________________
uClinux-dev mailing list
uClinux-dev@uclinux.org
http://mailman.uclinux.org/mailman/listinfo/uclinux-dev
This message was resent by uclinux-dev@uclinux.org
To unsubscribe see:
http://mailman.uclinux.org/mailman/options/uclinux-dev

Reply via email to