La compilation des modules livrés sur le CD avec la carte (unicorn_atm
et unicorn_pci) ne produit pas d'erreur, mais il manque les symboles
suivants lorsqu'on essaye de les charger:
dell:/var/opt/unicorn/unicorn_atm# depmod -e
depmod: *** Unresolved symbols in
/lib/modules/2.4.14-686-pppoatm/kernel/drivers/atm/unicorn_atm.o
depmod: schedule_timeout
depmod: __wake_up
depmod: __kfree_skb
depmod: alloc_skb
depmod: __generic_copy_from_user
depmod: kmalloc
depmod: cpu_raise_softirq
depmod: get_random_bytes
depmod: atm_charge
depmod: kfree
depmod: ___pskb_trim
depmod: skb_over_panic
depmod: sprintf
depmod: softnet_data
depmod: printk
depmod: atm_dev_register
depmod: irq_stat
depmod: shutdown_atm_dev
depmod: __generic_copy_to_user
depmod: *** Unresolved symbols in
/lib/modules/2.4.14-686-pppoatm/kernel/drivers/atm/unicorn_pci.o
depmod: send_sig
depmod: flush_signals
depmod: schedule_timeout
depmod: __wake_up
depmod: get_fast_time
depmod: vsprintf
depmod: kmalloc
depmod: pci_free_consistent
depmod: pci_enable_device
depmod: pcibios_present
depmod: pidhash
depmod: free_irq
depmod: iounmap
depmod: pci_alloc_consistent
depmod: interruptible_sleep_on_timeout
depmod: __ioremap
depmod: del_timer
depmod: mod_timer
depmod: pci_release_regions
depmod: kfree
depmod: request_irq
depmod: exit_files
depmod: pci_set_master
depmod: pci_find_device
depmod: pci_write_config_word
depmod: sprintf
depmod: daemonize
depmod: jiffies
depmod: printk
depmod: add_timer
depmod: complete_and_exit
depmod: kernel_thread
depmod: __const_udelay
depmod: __assert_fail
depmod: pci_request_regions
C'est une erreur qui semble classique d'après les recherches que j'ai pu
faire, mais je n'ai pas trouvé d'explication ni de solution claire à son
sujet, à part un conseil d'enlever l'option -DMODVERSIONS qui ne semble
pas activée dans mon cas:
dell:/var/opt/unicorn/unicorn_atm# make
gcc -O2 -fno-rtti -fno-exceptions -fno-gnu-linker -Wstrict-prototypes
-fomit-frame-pointer -fno-strict-aliasing -pipe -fno-strength-reduce
-Wall -DMODULE -D__KERNEL__ -DLINUX -DDEBUG=1 -I/usr/src/linux/include
-I../include/ -I../ -c -o unicorn_atmdrv.o unicorn_atmdrv.c
unicorn_atmdrv.c:30: warning: `ASSERT' redefined
/usr/src/linux/include/net/irda/irda.h:76: warning: this is the location
of the previous definition
ld -r -o unicorn_atm.o unicorn_atmdrv.o
dell:/var/opt/unicorn/unicorn_atm#
BTW, j'ai également ces deux warnings à la compilation