Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Errore compilazione/caricamento modulo

0 views
Skip to first unread message

L

unread,
Jul 11, 2008, 8:21:47 AM7/11/08
to
Salve a tutti,

sto mettendo mano a un modulo che ha realizzato un'altra persona...
che però non si ricorda come aveva risolto...

Ha realizzato questo modulo, ma se provo a caricarlo (insmod
modulo.ko) mi dice:
insmod: error inserting 'modulo.ko': -1 Unknown symbol in module

A quanto pare, il problema appare in compilazione, quando appaiono
questi warning:

WARNING: "floorf" [/home/rtaiscara/Scrivania/scara/modulo/modulo.ko]
undefined!
WARNING: "fabsf" [/home/rtaiscara/Scrivania/scara/modulo/modulo.ko]
undefined!

Qualcuno sa come posso risolvere?

Sto usando Ubuntu 8.04, con kernel 2.6.23 e la RTAI 3.6 per il
realtime. Sto usando proprio questa versione del kernel perchè il
modulo è stato realizzato usando questa versione... quindi non volevo
cambiare nulla...

ciao
Lorenzo

Dildo Bogumil di Boscopelo

unread,
Jul 11, 2008, 8:43:59 AM7/11/08
to
L wrote:

> A quanto pare, il problema appare in compilazione, quando appaiono
> questi warning:
>
> WARNING: "floorf" [/home/rtaiscara/Scrivania/scara/modulo/modulo.ko]
> undefined!
> WARNING: "fabsf" [/home/rtaiscara/Scrivania/scara/modulo/modulo.ko]
> undefined!
>
> Qualcuno sa come posso risolvere?

quando compili il modulo mi sa che devi passare -lm come parametro a gcc.
Quelle che mancano infatti sono le definizioni delle funzioni matematiche.


--
SF

Games are very educational. Scrabble teaches us vocabulary, Monopoly teaches
us cash-flow management, and Dungeons & Dragons teaches us to loot dead bodies.

L

unread,
Jul 11, 2008, 9:06:37 AM7/11/08
to
On 11 Lug, 14:43, Dildo Bogumil di Boscopelo <psycho...@libero.it>
wrote:

>
> quando compili il modulo mi sa che devi passare -lm come parametro a gcc.
> Quelle che mancano infatti sono le definizioni delle funzioni matematiche.
>

Ciao e grazie della risposta!

Penso sia intuibile che io non è che sia molto esperto di queste
cose... quindi spero mi riuscirai/riuscirete ad aiutare...

Per compilare il modulo, la persona che l'ha creato ha creato anche un
Makefile; quindi, io faccio semplicemente "make",e in teoria il modulo
si compila, giusto?
Intuisco che probabilmente dovrò modificare il makefile... ma come?
Attualmente il makefile è questo:

##############

obj-m += modulo.o

KDIR := /lib/modules/$(shell uname -r)/build
PWD := $(shell pwd)
EXTRA_CFLAGS := -I/usr/realtime/include -I/usr/include/ -ffast-math -
mhard-float -O3 -s -fomit-frame-pointer


all:
make -C $(KDIR) M=$(PWD) modules

clean:
make -C $(KDIR) M=$(PWD) clean

#################

Che modifiche devo fare?

grazie
Lorenzo

Dildo Bogumil di Boscopelo

unread,
Jul 11, 2008, 9:19:02 AM7/11/08
to
L wrote:

uhm.. prova a mettere -lm in EXTRA_CFLAGS

L

unread,
Jul 11, 2008, 9:37:06 AM7/11/08
to
On 11 Lug, 15:19, Dildo Bogumil di Boscopelo <psycho...@libero.it>
wrote:

>


> uhm.. prova a mettere -lm in EXTRA_CFLAGS
>

così?


EXTRA_CFLAGS := -I/usr/realtime/include -I/usr/include/ -ffast-math -

mhard-float -O3 -s -fomit-frame-pointer -lm

non cambia niente, purtroppo...

ciao
Lorenzo

Giovanni

unread,
Jul 11, 2008, 9:34:01 AM7/11/08
to

I moduli del kernel non possono linkare librerie esterne. Sembra che
il kernel originale avesse una configurazione diversa (forse includeva
l'emulazione del coprocessore matematico).

Ciao
Giovanni
--
A computer is like an air conditioner,
it stops working when you open Windows.
Registered Linux user #337974 < http://giovanni.homelinux.net/ >

Dildo Bogumil di Boscopelo

unread,
Jul 11, 2008, 9:45:50 AM7/11/08
to
L wrote:

> On 11 Lug, 15:19, Dildo Bogumil di Boscopelo <psycho...@libero.it>
> wrote:
>
>
>>uhm.. prova a mettere -lm in EXTRA_CFLAGS
>>
>
>

> cosě?


> EXTRA_CFLAGS := -I/usr/realtime/include -I/usr/include/ -ffast-math -
> mhard-float -O3 -s -fomit-frame-pointer -lm
>
> non cambia niente, purtroppo...

ha ragione Giovanni, io ho scritto una bella ca**ata.

Devi ricompilare il kernel in modo che quelle due funzioni vengano definite
(attraverso opportuna modifiche su config.h), oppure implementarle tu.

L

unread,
Jul 11, 2008, 12:10:00 PM7/11/08
to
On 11 Lug, 15:45, Dildo Bogumil di Boscopelo <psycho...@libero.it>
wrote:
>

> Devi ricompilare il kernel in modo che quelle due funzioni vengano definite
> (attraverso opportuna modifiche su config.h), oppure implementarle tu.
>

Vi ringrazio tantissimo per l'interessamento...

Vi chiedo una cortesia: riuscireste a spiegarmi passo-passo come devo
fare? (in realtà la prossima settimana sono via e non posso provare,
quindi non c'è fretta, non è necessaria una risposta immediata)

grazie mille
Lorenzo

L

unread,
Jul 11, 2008, 12:11:35 PM7/11/08
to
Dimenticavo di dire "come sono arrivato a questo punto".
Ho installato ubuntu hardy. Poi ho seguito questa guida
https://www.rtai.org/RTAILAB/RTAI-UbuntuGutsy-Matlab.txt
per installare RTAI. Come dicevo, mi serviva di usare il kernel
2.6.23, e RTAI 3.6.

ciao
Lorenzo

L

unread,
Jul 22, 2008, 4:29:48 AM7/22/08
to
Rinnovo la richiesta...

grazie mille
Lorenzo

0 new messages