About build fiasco for xScale

Adam Lackorzynski adam at os.inf.tu-dresden.de
Wed Jul 25 23:21:35 CEST 2007


On Wed Jul 25, 2007 at 17:15:40 +0800, kashin Lin wrote:
> 2007/7/24, Adam Lackorzynski <adam at os.inf.tu-dresden.de>:
> >
> >
> >On Sun Jul 22, 2007 at 23:24:10 +0800, kashin Lin wrote:
> >> 2007/7/22, Adam Lackorzynski <adam at os.inf.tu-dresden.de>:
> >> >
> >> >
> >> >On Sat Jul 21, 2007 at 17:15:39 +0800, kashin Lin wrote:
> >> >> last problem was fixed, but there is another error message now:
> >> >>
> >> >>
> >/home/kashin08/L4Linux/L4_ARM/build/include/l4/log/log_printf.h:16:20:
> >> >> error: st
> >> >> darg.h: No such file or directory
> >> >>
> >> >> but it seems there is a such file in my computer, why it says it
> >can't
> >> >find
> >> >> that?
> >> >
> >> >This stdarg.h must be provided by your cross-compiler. Which type of
> >> >cross-compiler are you using? (arm-linux-gcc -v)
> >>
> >>
> >> arm-linux-gcc -v :
> >>
> >> Using built-in specs.
> >> Target: arm-unknown-linux-gnu
> >> Configured with: /home/pgauth/tmp/crosstool-0.38
> >> /build/arm-unknown-linux-gnu/gcc-4.0.2-glibc-2.3.3/gcc-4.0.2/configure
> >> --target=arm-unknown-linux-gnu --host=i686-host_pc-linux-gnu
> >> --prefix=/usr/local/arm/gcc-4.0.2-glibc-2.3.3/arm-unknown-linux-gnu
> >> --with-headers=/usr/local/arm/gcc-4.0.2-glibc-2.3.3
> >/arm-unknown-linux-gnu/arm-unknown-linux-gnu/include
> >> --with-local-prefix=/usr/local/arm/gcc-4.0.2-glibc-2.3.3
> >/arm-unknown-linux-gnu/arm-unknown-linux-gnu
> >> --disable-nls --enable-threads=posix --enable-symvers=gnu
> >> --enable-__cxa_atexit --enable-languages=c,c++ --enable-shared
> >--enable-c99
> >> --enable-long-long
> >> Thread model: posix
> >> gcc version 4.0.2
> >>
> >> this cross compiler is provided by the manufacturer of my target board
> >> (xscale).
> >
> >Ok, but lets hope 4.0 will do.
> >
> >> i use " locate stdarg.h " in command line.
> >> there is a such header file-stdarg.h in cross compiler's directory.
> >
> >You should check the following. In your l4env build directory, there's a
> >file Makeconf.bid.local, which should contain a line
> >GCCDIR=/path/to/gcc/things
> >
> >Now, please check if /path/to/gcc/things/include/stdarg.h exists, or at
> >least the include directory in there if stdarg.h should not happen to be
> >there. It should.
> 
> 
> the original GCCDIR pointed to wrong directory, and i correct it now.

A 'make oldconfig' directly in the build directory should also detect
this properly. If not then this gcc-version is doing something
different.
 
> There should also be a -I/path/to/gcc/things/include line on every
> >arm-linux-gcc call when building.
>
> 
> how to do it?
> after i modify GCCDIR, it can find stdarg.h now. so should i still
> add "-I/path/to/gcc/things/include" ?

No, the build system will add the right option for you automatically.

> there is a new problem :
> 
> /home/kashin08/L4Linux/L4_ARM/build/include/arm/l4/sys/syscalls_impl.h: In
> function 'l4_threadid_t l4_myself()':
> /home/kashin08/L4Linux/L4_ARM/build/include/arm/l4/sys/syscalls_impl.h:69:
> error: address of explicit register variable 'id' requested
> /home/kashin08/L4Linux/L4_ARM/build/include/arm/l4/sys/syscalls_impl.h:69:
> error:   initializing argument 1 of 'static l4_threadid_t
> l4_threadid_t::_convert(l4_threadid_t)'
> /home/kashin08/L4Linux/L4_ARM/build/include/arm/l4/sys/syscalls_impl.h: In
> function 'l4_threadid_t l4_myself_noprof()':
> /home/kashin08/L4Linux/L4_ARM/build/include/arm/l4/sys/syscalls_impl.h:99:
> error: address of explicit register variable 'id' requested
> /home/kashin08/L4Linux/L4_ARM/build/include/arm/l4/sys/syscalls_impl.h:99:
> error:   initializing argument 1 of 'static l4_threadid_t
> l4_threadid_t::_convert(l4_threadid_t)'
> make[6]: *** [thread.o] Error 1
> make[6]: Leaving directory
> `/home/kashin08/L4Linux/L4_ARM/build/pkg/cxx/lib/thread/src/OBJ-arm_xScale-l4v2'
> make[5]: ***
> [/home/kashin08/L4Linux/L4_ARM/build/pkg/cxx/lib/thread/src/OBJ-arm_xScale-l4v2]

This is strange, seems that this gcc-4.0 does not like this code. On the
other side I'm successfully compiling with 3.4 and 4.1. Can you try
another ARM cross-compiler? Is there something special about your
version for your hw?




Adam
-- 
Adam                 adam at os.inf.tu-dresden.de
  Lackorzynski         http://os.inf.tu-dresden.de/~adam/




More information about the l4-hackers mailing list