Hi again,

I am sorry to ask help again about this point but I still am no able to
compile a kernel module with Xenomai 3.x support.

I made the changes pointed in the previous email:
In the module is now being included just:

<rtdm/driver.h>

and the makefile is now:

EXTRA_CFLAGS := $(shell xeno-config --kcflags)
all:

make -C /lib/modules/$(shell uname -r)/build M=$(PWD) modules


but it did not work. The error make issued was:

In file included from include/xenomai/cobalt/kernel/sched.h:24:0,
                 from include/xenomai/rtdm/driver.h:36,
                 from /root/prg/01-rtdm_interrupt/ps2auxint.c:4:
include/xenomai/cobalt/kernel/thread.h:32:33: fatal error:
asm/xenomai/machine.h: No such file or directory


Then I ran xeno-config --kcflags in the cmd line and it returned:

-Iarch/$(SRCARCH)/xenomai/include -Iinclude/xenomai


So I tried to explicitly add it to the Makefile (according to my kernel):

EXTRA_CFLAGS := -I/usr/src/linux-headers-3.16.0-ipipe/include/xenomai
-Iinclude/xenomai


Make returned asimilar error:

In file included from
/usr/src/linux-headers-3.16.0-ipipe/include/xenomai/cobalt/kernel/sched.h:24:0,
                 from
/usr/src/linux-headers-3.16.0-ipipe/include/xenomai/rtdm/driver.h:36,
                 from /root/prg/01-rtdm_interrupt/ps2auxint.c:4:
/usr/src/linux-headers-3.16.0-ipipe/include/xenomai/cobalt/kernel/thread.h:32:33:
fatal error: asm/xenomai/machine.h: No such file or directory


I am not sure what I am missing. Another header?
The wrong path to Xenomai headers?

My Xenomai install is cobalt on kernel 3.16.

$> uname -r
3.16.0-ipipe

$> /usr/xenomai/sbin/version -a
Xenomai/cobalt v3.0-rc3 --
Target: x86_64-unknown-linux-gnu
Compiler: gcc version 4.7.2 (Debian 4.7.2-5)
Build args:  '--with-core=cobalt' '--enable-registry' '--enable-smp'
'--enable-pshared' '--prefix=/usr/xenomai'


On 6 March 2015 at 10:14, Philippe Gerum <[email protected]> wrote:

> On 03/06/2015 11:03 AM, Helder Daniel wrote:
> > On 6 March 2015 at 09:38, Philippe Gerum <[email protected]
> > <mailto:[email protected]>> wrote:
> >
> >     >
> >     > obj-m += intr.o
> >     >
> >     > EXTRA_CFLAGS := -I/usr/xenomai/include -I/usr/include
> >
> >     This is wrong, you are pulling userland headers. The CFLAGS required
> to
> >     build a kernel module using the RTDM API should be obtained by:
> >
> >     $(shell xeno-config --kcflags)
> >
> >
> > Ok I was suspecting that (even makefile worked with 2.5) .
> > I tried:
> >
> > EXTRA_CFLAGS := $(shell xeno-config --kcflags)
> >
> > but now it can not find rtdm.h:
> >
>
> rtdm.h provides the RTDM API definitions to userland applications. You
> want rtdm/driver.h for building a module implementing a RTDM driver.
>
> > /root/prg/01-rtdm_interrupt/intr.c:2:18: fatal error: rtdm.h: No such
> > file or directory
> >
> > Whether It is included as <rtdm/rtdm.h>
> > or just <rtdm.h>
> >
> > I run the command in a shell and the output is:
> >
> > root@debian:~/prg/01-rtdm_interrupt# xeno-config --kcflags
> >
> > -Iarch/$(SRCARCH)/xenomai/include -Iinclude/xenomai
> >
> > However complete output of make, tells SRCARCH not found:
> >
> > $> make
> > make -C /lib/modules/3.18.7-rt2/build M=/root/prg/01-rtdm_interrupt
> modules
> > make[1]: Entering directory `/usr/src/linux-headers-3.18.7-rt2'
> >   CC [M]  /root/prg/01-rtdm_interrupt/intr.o
> > /bin/sh: 1: SRCARCH: not found
> > /root/prg/01-rtdm_interrupt/intr.c:2:18: fatal error: rtdm.h: No such
> > file or directory
> > compilation terminated.
> > make[2]: *** [/root/prg/01-rtdm_interrupt/intr.o] Error 1
> > make[1]: *** [_module_/root/prg/01-rtdm_interrupt] Error 2
> > make[1]: Leaving directory `/usr/src/linux-headers-3.18.7-rt2'
> > make: *** [all] Error 2
> >
>
> SRCARCH is defined by the standard Kbuild infrastructure, this is not a
> Xenomai-specific variable. You may want to look at
> xenomai3/kernel/drivers/ipc/Makefile for an illustration of its usage.
>
> --
> Philippe.
>



-- 
Helder Daniel
UALG - FCT
DEEI

http://w3.ualg.pt/~hdaniel



-- 
Helder Daniel
UALG - FCT
DEEI

http://w3.ualg.pt/~hdaniel
_______________________________________________
Xenomai mailing list
[email protected]
http://www.xenomai.org/mailman/listinfo/xenomai

Reply via email to