I've done all that and in fact, the compiler works correctly for all kinds of
other things. And I already cross-compiled the kernel. The build for ocera
starts and builds a bunch of other stuff then dies looking for stdarg.h
CONFGEN lincan_config.h in /usr/local/src/ocera-can/_build/kern/lincan/src
rm lincan_config.h.tmp
CC [K] boardlist.o
if
/usr/local/opt/crosstool/arm-none-linux-gnueabi/bin/arm-none-linux-gnueabi-gcc
-I /usr/local/src/ocera-can/lincan/src/../include -I . -DWITH_DEVFS_FS -I
/usr/local/src/linux-2.6.21-ts -idirafter
/usr/local/src/linux-2.6.21-ts/include/linux -idirafter
/opt/crosstool/gcc-2005q3-glibc-2.3.5/arm-none-linux-gnueabi/lib/gcc/arm-none-linux-gnueabi/3.4.4//include
-D__KERNEL__ -I"/usr/local/src/linux-2.6.21-ts/include" -include
include/linux/autoconf.h -mlittle-endian -Wall -Wundef -Wstrict-prototypes
-Wno-trigraphs -fno-strict-aliasing -fno-common -Os -marm
-fno-omit-frame-pointer -mapcs -mno-sched-prolog -mabi=aapcs-linux
-mno-thumb-interwork -D__LINUX_ARM_ARCH__=5 -march=armv5t -mtune=xscale
-msoft-float -Uarm -fno-omit-frame-pointer -fno-optimize-sibling-calls
-Wdeclaration-after-statement -DMODULE -DOMK_FOR_KERNEL -DEXPORT_SYMTAB
-nostdinc -MT boardlist.o -MD -MP -MF "boardlist.o.d.tmp"
-D"KBUILD_MODNAME=((THIS_MODULE)?(THIS_MODULE)->name:NULL)"
-D"KBUILD_BASENAME=\"boardlist\"" -o boardlist.o -c
/usr/local/src/ocera-can/lincan/src/boardlist.c ; then mv -f
"boardlist.o.d.tmp" "boardlist.o.d" ; else rm -f "boardlist.o.d.tmp" ; exit 1;
fi
In file included from
/usr/local/src/linux-2.6.21-ts/include/linux/spinlock.h:53,
from /usr/local/src/linux-2.6.21-ts/include/linux/seqlock.h:29,
from /usr/local/src/linux-2.6.21-ts/include/linux/time.h:7,
from /usr/local/src/ocera-can/lincan/src/../include/can.h:15,
from /usr/local/src/ocera-can/lincan/src/boardlist.c:9:
/usr/local/src/linux-2.6.21-ts/include/linux/kernel.h:10:20: stdarg.h: No such
file or directory
In file included from
/usr/local/src/linux-2.6.21-ts/include/linux/spinlock.h:53,
from /usr/local/src/linux-2.6.21-ts/include/linux/seqlock.h:29,
from /usr/local/src/linux-2.6.21-ts/include/linux/time.h:7,
from /usr/local/src/ocera-can/lincan/src/../include/can.h:15,
from /usr/local/src/ocera-can/lincan/src/boardlist.c:9:
/usr/local/src/linux-2.6.21-ts/include/linux/kernel.h:112: error: syntax error
before "va_list"
/usr/local/src/linux-2.6.21-ts/include/linux/kernel.h:113: warning: function
declaration isn't a prototype
/usr/local/src/linux-2.6.21-ts/include/linux/kernel.h:116: error: syntax error
before "va_list"
/usr/local/src/linux-2.6.21-ts/include/linux/kernel.h:117: warning: function
declaration isn't a prototype
/usr/local/src/linux-2.6.21-ts/include/linux/kernel.h:120: error: syntax error
before "va_list"
/usr/local/src/linux-2.6.21-ts/include/linux/kernel.h:121: warning: function
declaration isn't a prototype
/usr/local/src/linux-2.6.21-ts/include/linux/kernel.h:127: error: syntax error
before "va_list"
/usr/local/src/linux-2.6.21-ts/include/linux/kernel.h:128: warning: function
declaration isn't a prototype
/usr/local/src/linux-2.6.21-ts/include/linux/kernel.h:143: error: syntax error
before "va_list"
/usr/local/src/linux-2.6.21-ts/include/linux/kernel.h:144: warning: function
declaration isn't a prototype
make[3]: *** [boardlist.o] Error 1
make[2]: *** [kernel-mod-pass] Error 2
make[2]: Leaving directory `/usr/local/src/ocera-can/_build/kern/lincan/src'
make[1]: *** [kernel-mod-pass] Error 1
make[1]: Leaving directory `/usr/local/src/ocera-can/_build/kern/lincan'
make: *** [kernel-mod-pass] Error 1
--- In Kevin Cozens <> wrote:
>
> jiggersplat wrote:
> > 1) no, i'm not passing anything to anything. i'm typing "make" at the
> > command prompt and wishing and hoping that the makefile works ;)
>
> If you are compiling for your native machine, 'make' will usually work but
> you need to make some changes to the Makefile when cross-compiling.
> Fortunately, the changes aren't major.
>
> I have worked with a TS-7250 and used the gcc 3.3.4 cross-compiler as I
> needed to compile the Linux kernel to get a couple of extra modules (a
> Linux one for printing, the other was a custom module).
>
> I downloaded the cross compiler tools from the TS website. I extracted the
> files under /opt/crosstool. The next step was to tell make how to invoke
> the cross-compiler and not the standard compiler. This was easily done by
> adding the following two lines to the top of the Makefile:
>
> CROSS = /opt/crosstool/gcc-3.3.4-glibc-2.3.2/bin/arm-linux-
> CC = $(CROSS)gcc
>
> If you install to a different directory, update the path accordingly. Don't
> drop the /bin/arm-linux- from the end as it is part of the overall path to
> the compiler programs. When I need to run strip after one of my programs
> has been built, I tell make to use "$(CROSS)strip". You can do the same
> thing with any other compiler tools such as ar (by using "$(CROSS)ar").
>
> Having done this, I haven't needed to use -I or -L with the cross-compiler.
> The include files and files needed at link time are found automatically.
>
------------------------------------
Yahoo! Groups Links
<*> To visit your group on the web, go to:
http://groups.yahoo.com/group/ts-7000/
<*> Your email settings:
Individual Email | Traditional
<*> To change settings online go to:
http://groups.yahoo.com/group/ts-7000/join
(Yahoo! ID required)
<*> To change settings via email:
<*> To unsubscribe from this group, send an email to:
<*> Your use of Yahoo! Groups is subject to:
http://docs.yahoo.com/info/terms/
|