[Rtai] Problem of compiling rtai-3.7.1 for ARM

付言华 yanhwa.fu at gmail.com
Wed Dec 9 13:34:35 CET 2009


Hi all,
       I get a error when I compiled rtai-3.7.1 for ARM. Culd you help me?
Thanks.
       I compile it with default config for ARM.
Firstly, I used the command:

       $make ARCH=arm CROSS_COMPILE=arm-linux-

       Then there were erros like the follow:
===========================================================================


 cc -DHAVE_CONFIG_H -I. -I../../.. -g
-I/usr/work/rtai/linux-2.6.20.13/include -Wall -Wstrict-prototypes -pipe
-D__IN_RTAI__ -D_GNU_SOURCE -fno-inline -I../../../base/include
-I../../include -MT services.lo -MD -MP -MF .deps/services.Tpo -c services.c
-fPIC -DPIC -o .libs/services.o
In file included from ../../../base/include/asm/rtai.h:42,
                 from ../../../base/include/rtai.h:25,
                 from ../../../base/include/rtai_sched.h:22,
                 from ../../../base/include/rtai_lxrt.h:69,
                 from services.c:27:
../../../base/include/asm/rtai_hal.h: In function `__rtai_generic_ulldiv':
../../../base/include/asm/rtai_hal.h:156: invalid register name `r4' for
register variable
../../../base/include/asm/rtai_hal.h:156: invalid register name `r0' for
register variable


make[4]: *** [services.lo] Error 1
make[4]: Leaving directory `/usr/work/rtai/rtai-3.7.1/base/sched/lib

===============================================================================



   I found the cross compiler arm-linux-gcc did not work in compiling.

   Hence, I used the follow compile command to have a try:



   $make ARCH=arm CC=arm-linux-gcc CXX=arm-linux-g++ LD=arm-linux-ld



   Then I get the follow error:

============================================================

../../../base/include/asm/rtai_lxrt.h:148:2: warning: #warning "RTAI_DO_SWI
is not working yet. Please configure RTAI with
--enable-lxrt-use-linux-syscall."
mv -f .deps/display-display.Tpo .deps/display-display.Po
/bin/sh ../../../libtool --tag=CC   --mode=link arm-linux-gcc     -o display
display-display.o
mkdir .libs
arm-linux-gcc -o display display-display.o
display-display.o(.text+0x2ac): In function `linux_syscall_server_fun':
../../../base/include/rtai_lxrt.h:725: undefined reference to
`rt_thread_delete'collect2: ld returned 1 exit status
make[4]: *** [display] Error 1
make[4]: Leaving directory
`/usr/work/rtai/rtai-3.7.1/testsuite/kern/latency'
make[3]: *** [all-recursive] Error 1

===============================================================



  In the second line of the information, it says:   Please configure RTAI
with --enable-lxrt-use-linux-syscall."



  But in the default config for ARM there is _not_ any
option named "lxrt-use-linux-syscall", so I can not configure RTAI with
--enable-lxrt-use-linux-syscall.



   Howere, if I disable the option "[]testsuite", I can compile the rtai
successfully. But, I really need the testsuite to test my system after
install the rtai.



   How can I compile successfully with "testsuite", that is get rid of the
above error?



   Thank you very much.



Best regards,

Yanhua Fu,
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.rtai.org/pipermail/rtai/attachments/20091209/7b4ef2a1/attachment.htm>


More information about the Rtai mailing list