Benoît CAMUS wrote:
>>The most simple way to compile an example for Xenomai posix skin is to
>>use the xeno-config script as installed by Xenomai. If you have run
>>Xenomai installation with DESTDIR set, pass the same DESTDIR in
>>xeno-config environment. Examples usually come with Makefiles that do so.
> 
> 
>>What version of Xenomai are you using ?
> 
> 
> I'm using xenomai last version (2.3.1), 
> and have the same error using makefile with XENO parameter

I just tried compiling the examples and found two reasons why it might
not compile:
- the patched Linux kernel sources must have been compiled (so that the
include/asm symlink is created)
- if you are cross-compiling, you must pass the proper ARCH variable at
make invocation for compiling the kernel modules.

The last problem I have is the link order, but to solve this, I guess
the Makefiles should be changed.

Here is what I get:

make[1]: Entering directory
`/home/gcx/build/xenomai-examples/rtdm/profiles/serial'
gcc -m32 -I/usr/xenomai-2.3.1/include -D_GNU_SOURCE -D_REENTRANT
-L/usr/xenomai-2.3.1/lib -lpthread  -lnative -lrtdm -Xlinker -rpath
-Xlinker /usr/xenomai-2.3.1/lib  cross-link.c   -o cross-link
/tmp/ccQMPxBI.o(.text+0x19): In function `close_file':
cross-link.c: undefined reference to `rt_dev_close'
/tmp/ccQMPxBI.o(.text+0x5e):cross-link.c: undefined reference to
`rt_task_sleep'
/tmp/ccQMPxBI.o(.text+0x136): In function `cleanup_all':
cross-link.c: undefined reference to `rt_task_delete'
/tmp/ccQMPxBI.o(.text+0x169):cross-link.c: undefined reference to
`rt_task_delete'
/tmp/ccQMPxBI.o(.text+0x1bc): In function `write_task_proc':
cross-link.c: undefined reference to `rt_timer_ns2ticks'
/tmp/ccQMPxBI.o(.text+0x1e0):cross-link.c: undefined reference to
`rt_task_set_periodic'
/tmp/ccQMPxBI.o(.text+0x217):cross-link.c: undefined reference to
`rt_task_wait_period'
/tmp/ccQMPxBI.o(.text+0x244):cross-link.c: undefined reference to
`rt_timer_read'
/tmp/ccQMPxBI.o(.text+0x266):cross-link.c: undefined reference to
`rt_dev_write'
/tmp/ccQMPxBI.o(.text+0x372): In function `read_task_proc':
cross-link.c: undefined reference to `rt_dev_ioctl'
/tmp/ccQMPxBI.o(.text+0x3cb):cross-link.c: undefined reference to
`rt_dev_read'
/tmp/ccQMPxBI.o(.text+0x3df):cross-link.c: undefined reference to
`rt_timer_read'
/tmp/ccQMPxBI.o(.text+0x54e): In function `main':
cross-link.c: undefined reference to `rt_dev_open'
/tmp/ccQMPxBI.o(.text+0x5be):cross-link.c: undefined reference to
`rt_dev_ioctl'
/tmp/ccQMPxBI.o(.text+0x609):cross-link.c: undefined reference to
`rt_dev_open'
/tmp/ccQMPxBI.o(.text+0x679):cross-link.c: undefined reference to
`rt_dev_ioctl'
/tmp/ccQMPxBI.o(.text+0x6dc):cross-link.c: undefined reference to
`rt_task_create'
/tmp/ccQMPxBI.o(.text+0x74c):cross-link.c: undefined reference to
`rt_task_create'
/tmp/ccQMPxBI.o(.text+0x7b8):cross-link.c: undefined reference to
`rt_task_start'
/tmp/ccQMPxBI.o(.text+0x808):cross-link.c: undefined reference to
`rt_task_start'
collect2: ld returned 1 exit status
make[1]: *** [cross-link] Error 1

IMHO, the command line should be:
gcc -m32 -I/usr/xenomai-2.3.1/include -D_GNU_SOURCE -D_REENTRANT
cross-link.c  -L/usr/xenomai-2.3.1/lib -lpthread  -lnative -lrtdm
-Xlinker -rpath -Xlinker /usr/xenomai-2.3.1/lib  -o cross-link

-- 
                                                 Gilles Chanteperdrix

_______________________________________________
Xenomai-help mailing list
[email protected]
https://mail.gna.org/listinfo/xenomai-help

Reply via email to