Re: RTAI module: rtai functions undefined

Paolo Mantegazza <[email protected]>
Newsgroups gmane.linux.real-time.rtai
Message-ID <[email protected]>
Rtai_sched.ko is not inserted because there are symbols missing. So I 
suspect you did not insert rtai_hal.ko either.
Since you have seen that the examples in showroom works for you, I do 
not understand why you do not follow what's in the making-launch scripts 
found there.
Paolo.

On 02/22/2016 10:40 AM, Junhong Liu wrote:
> Than you, Paolo!
> I did the following in my current working directory where the 
> latency.c is. Then the message comes as:
> "
> root@huapeng-GA-990XA-UD3:/home/huapeng/Yritys/RT/latency# insmod 
> rtai_sched.ko
> insmod: ERROR: could not load module rtai_sched.ko: No such file or 
> directory
> root@huapeng-GA-990XA-UD3:/home/huapeng/Yritys/RT/latency# insmod 
> .rtai_sched.ko
> insmod: ERROR: could not load module .rtai_sched.ko: No such file or 
> directory
> root@huapeng-GA-990XA-UD3:/home/huapeng/Yritys/RT/latency# insmod 
> ./rtai_sched.ko
> insmod: ERROR: could not load module ./rtai_sched.ko: No such file or 
> directory
> root@huapeng-GA-990XA-UD3:/home/huapeng/Yritys/RT/latency#
> "
>
> Then I foound where  rtai_sched.ko is, i.e., /usr/realtime/modules and 
> /usr/src/rtai-4.1/base/sched, and INSMOD in those directories, there 
> came some information:
> "
> root@huapeng-GA-990XA-UD3:/home/huapeng/Yritys/RT/latency# insmod 
> /usr/realtime/modules/rtai_sched.ko
> insmod: ERROR: could not insert module 
> /usr/realtime/modules/rtai_sched.ko: Unknown symbol in module
> root@huapeng-GA-990XA-UD3:/home/huapeng/Yritys/RT/latency# insmod 
> /usr/src/rtai-4.1/base/sched/rtai_sched.ko
> insmod: ERROR: could not insert module 
> /usr/src/rtai-4.1/base/sched/rtai_sched.ko: Unknown symbol in module
> root@huapeng-GA-990XA-UD3:/home/huapeng/Yritys/RT/latency#
> "
> root@huapeng-GA-990XA-UD3:/usr/realtime/modules# insmod rtai_sched.ko
> insmod: ERROR: could not insert module rtai_sched.ko: Unknown symbol 
> in module
> root@huapeng-GA-990XA-UD3:/usr/realtime/modules# insmod .rtai_sched.ko
> insmod: ERROR: could not load module .rtai_sched.ko: No such file or 
> directory
> root@huapeng-GA-990XA-UD3:/usr/realtime/modules# insmod ./rtai_sched.ko
> insmod: ERROR: could not insert module ./rtai_sched.ko: Unknown symbol 
> in module
> root@huapeng-GA-990XA-UD3:/usr/realtime/modules# cd ..
> root@huapeng-GA-990XA-UD3:/usr/realtime# cd ..
> root@huapeng-GA-990XA-UD3:/usr# cd src/rtai-4.1/base/sched
> root@huapeng-GA-990XA-UD3:/usr/src/rtai-4.1/base/sched# insmod 
> ./rtai_sched.ko
> insmod: ERROR: could not insert module ./rtai_sched.ko: Unknown symbol 
> in module
> root@huapeng-GA-990XA-UD3:/usr/src/rtai-4.1/base/sched# insmod 
> .rtai_sched.ko
> insmod: ERROR: could not load module .rtai_sched.ko: No such file or 
> directory
> root@huapeng-GA-990XA-UD3:/usr/src/rtai-4.1/base/sched# insmod 
> rtai_sched.ko
> insmod: ERROR: could not insert module rtai_sched.ko: Unknown symbol 
> in module
> root@huapeng-GA-990XA-UD3:/usr/src/rtai-4.1/base/sched#
>  "
> How can I properly insmod rtai_sched.ko ?
>
> On Mon, Feb 22, 2016 at 11:00 AM, Paolo Mantegazza 
> <[email protected] <mailto:[email protected]>> wrote:
>
>     Did you "insmod rtai_sched.ko"?
>     Paolo
>
>
>     On 02/22/2016 09:05 AM, Junhong Liu wrote:
>>     Hello! I have something positive to tell, which is the example
>>     from showroom/user/latency works just fine on my system. Could
>>     somebody help me with this MODULE program, I really need it to
>>     work in my WORK. Thank you very much.
>>     Junhong
>>
>>     On Sat, Feb 20, 2016 at 4:59 AM, Junhong Liu
>>     <[email protected]
>>     <mailto:[email protected]>> wrote:
>>
>>         Hello, Paolo,
>>
>>         Thank you  very much! This short program is a miniature from
>>         the showroom /kern/latency. For simplicity and clarity, only
>>         a few codes are included while the symptom is the same.
>>
>>         1. the short program is now called "latency.h":
>>
>>         // ------ rtProcess.c ----- define MODULE
>>
>>         #include <linux/kernel.h> /* Needed for KERN_INFO */
>>         #include <linux/module.h> /*Needed by all modules*/
>>         #include <linux/moduleparam.h>
>>         #include <linux/init.h> /* Needed for the macros */
>>         #include <linux/stat.h>
>>         #include <linux/proc_fs.h>
>>         #include <linux/stringify.h>
>>         #include <asm/io.h>
>>         #include <linux/errno.h> /*EINVAL, ENOMEN*/
>>
>>         #include <rtai.h> // RTAI configuration switches
>>         #include <rtai_sched.h>
>>         #include <rtai_sem.h>  // RTAI semaphores
>>         #include <rtai_fifos.h>
>>         #include <rtai_proc_fs.h>
>>
>>         MODULE_LICENSE("GPL");
>>
>>         #define TICK_PERIOD 1000000
>>         #define TASK_PRIORITY 1
>>         #define STACK_SIZE 1024
>>         #define FIFO 0
>>
>>         static int __latency_init(void) // entry point
>>         {
>>             // ---1---
>>             rt_set_oneshot_mode();
>>             start_rt_timer(1); // the execution starts
>>             // ---1---
>>             printk("Hello in INIT!\n");
>>
>>             return 0;
>>         }
>>
>>         static void __latency_exit(void)
>>         {
>>              // ---2---
>>             stop_rt_timer(); rt_busy_sleep(10000000);
>>             // ---2---
>>
>>             printk("Goodbye & EXIT!\n");
>>             return;
>>         }
>>
>>         module_init(__latency_init);
>>         module_exit(__latency_exit);
>>
>>         2. The "Makefile" is:
>>         #Makefile
>>
>>         #RTAI_CFLAGS += $(shell rtai-config --lxrt-cflags)
>>         # # -I. -I/usr/realtime/include -Wall -Wstrict-prototypes -pipe
>>
>>         #RTAI_LIBFLAGS += $(shell rtai-config --lxrt-ldflags )
>>         # -L/usr/realtime/lib -llxrt -lpthread
>>         rtai_srctree := /usr/src/rtai
>>         EXTRA_CFLAGS += -I$(LINUX)/include -D__KERNEL__ -DMOUDLE -O2
>>         EXTRA_CFLAGS += $(shell rtai-config --module-cflags) -msse \
>>                 -I/usr/realtime/include -D__IN_RTAI__ \
>>                 -I$(rtai_srctree)/base/include \
>>                 -mpreferred-stack-boundary=4
>>
>>         KBUILD_EXTRA_SYMBOLS := $(shell rtai-config
>>         --prefix)/modules/Module.sysmvers
>>
>>         obj-m += latency.o
>>
>>         CURRENT = $(shell uname -r)
>>             KDIR ?= /lib/modules/$(CURRENT)/build
>>             PWD := $(shell pwd)
>>
>>         modules:
>>             $(MAKE) -C $(KDIR) M=$(PWD) modules
>>
>>         modules_install:
>>             $(MAKE) -C $(KDIR) M=$(PWD) modules_install
>>
>>         clean:
>>             $(MAKE) -C  $(KDIR) M=$(PWD) clean
>>
>>         3. By "make" as:
>>          root@huapeng-GA-990XA-UD3:/home/huapeng/Yritys/RT/latency#
>>         make, the following message comes:
>>         root@huapeng-GA-990XA-UD3:/home/huapeng/Yritys/RT/latency# make
>>         make -C /lib/modules/3.10.32-rtai/build
>>         M=/home/huapeng/Yritys/RT/latency modules
>>         make[1]: Entering directory `/usr/src/linux-headers-3.10.32-rtai'
>>           CC [M] /home/huapeng/Yritys/RT/latency/latency.o
>>         <command-line>:0:0: warning: "_FORTIFY_SOURCE" redefined
>>         [enabled by default]
>>         <built-in>:0:0: note: this is the location of the previous
>>         definition
>>           Building modules, stage 2.
>>           MODPOST 1 modules
>>         WARNING: "rt_busy_sleep"
>>         [/home/huapeng/Yritys/RT/latency/latency.ko] undefined!
>>         WARNING: "stop_rt_timer"
>>         [/home/huapeng/Yritys/RT/latency/latency.ko] undefined!
>>         WARNING: "start_rt_timer"
>>         [/home/huapeng/Yritys/RT/latency/latency.ko] undefined!
>>         WARNING: "rt_set_oneshot_mode"
>>         [/home/huapeng/Yritys/RT/latency/latency.ko] undefined!
>>           LD [M] /home/huapeng/Yritys/RT/latency/latency.ko
>>         make[1]: Leaving directory `/usr/src/linux-headers-3.10.32-rtai'
>>         root@huapeng-GA-990XA-UD3:/home/huapeng/Yritys/RT/latency# make
>>         make -C /lib/modules/3.10.32-rtai/build
>>         M=/home/huapeng/Yritys/RT/latency modules
>>         make[1]: Entering directory `/usr/src/linux-headers-3.10.32-rtai'
>>           CC [M] /home/huapeng/Yritys/RT/latency/latency.o
>>         <command-line>:0:0: warning: "_FORTIFY_SOURCE" redefined
>>         [enabled by default]
>>         <built-in>:0:0: note: this is the location of the previous
>>         definition
>>           Building modules, stage 2.
>>           MODPOST 1 modules
>>         WARNING: "rt_busy_sleep"
>>         [/home/huapeng/Yritys/RT/latency/latency.ko] undefined!
>>         WARNING: "stop_rt_timer"
>>         [/home/huapeng/Yritys/RT/latency/latency.ko] undefined!
>>         WARNING: "start_rt_timer"
>>         [/home/huapeng/Yritys/RT/latency/latency.ko] undefined!
>>         WARNING: "rt_set_oneshot_mode"
>>         [/home/huapeng/Yritys/RT/latency/latency.ko] undefined!
>>           CC /home/huapeng/Yritys/RT/latency/latency.mod.o
>>         <command-line>:0:0: warning: "_FORTIFY_SOURCE" redefined
>>         [enabled by default]
>>         <built-in>:0:0: note: this is the location of the previous
>>         definition
>>           LD [M] /home/huapeng/Yritys/RT/latency/latency.ko
>>         make[1]: Leaving directory `/usr/src/linux-headers-3.10.32-rtai'
>>         root@huapeng-GA-990XA-UD3:/home/huapeng/Yritys/RT/latency#
>>
>>         4. Do "insmod" in two ways and receive the following info:
>>         root@huapeng-GA-990XA-UD3:/home/huapeng/Yritys/RT/latency#
>>         insmod latency.ko
>>         insmod: ERROR: could not insert module latency.ko: Unknown
>>         symbol in module
>>         root@huapeng-GA-990XA-UD3:/home/huapeng/Yritys/RT/latency#
>>         insmod ./latency.ko
>>         insmod: ERROR: could not insert module ./latency.ko: Unknown
>>         symbol in module
>>
>>         By "dmesg|tail", obtain:
>>         root@huapeng-GA-990XA-UD3:/home/huapeng/Yritys/RT/latency#
>>         dmesg|tail
>>         [16666.583390] I-pipe: head domain RTAI unregistered.
>>         [16666.634074] RTAI[hal]: unmounted.
>>         [20291.607043] latency: Unknown symbol rt_busy_sleep (err 0)
>>         [20291.607082] latency: Unknown symbol start_rt_timer (err 0)
>>         [20291.607112] latency: Unknown symbol stop_rt_timer (err 0)
>>         [20291.607142] latency: Unknown symbol rt_set_oneshot_mode
>>         (err 0)
>>         [20305.727466] latency: Unknown symbol rt_busy_sleep (err 0)
>>         [20305.727504] latency: Unknown symbol start_rt_timer (err 0)
>>         [20305.727534] latency: Unknown symbol stop_rt_timer (err 0)
>>         [20305.727564] latency: Unknown symbol rt_set_oneshot_mode
>>         (err 0)
>>         root@huapeng-GA-990XA-UD3:/home/huapeng/Yritys/RT/latency#
>>
>>         By only "dmesg", obtain huge amount of information, selected
>>         ALL and saved into a file "latencyKOdmesg" attached (too long
>>         to be in the email body)
>>
>>         Your ideas will be  greatly appreciated!
>>
>>         Junhong
>>
>>
>>
>>
>>
>>
>>
>>
>>     _______________________________________________
>>     Rtai mailing list
>>     [email protected] <mailto:[email protected]>
>>     https://mail.rtai.org/cgi-bin/mailman/listinfo/rtai
>
>

_______________________________________________
Rtai mailing list
[email protected]
https://mail.rtai.org/cgi-bin/mailman/listinfo/rtai
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.