Fedora Core 5
Kernel: 2.6.15
По инструкции все делал в результате:
[root@ADIL_COMP slmodem-2.9.11-20051101]# make
make -C modem all
make[1]: Entering directory `/root/slmodem-2.9.11-20051101/slmodem-2.9.11-20051101/modem '
make[1]: Leaving directory `/root/slmodem-2.9.11-20051101/slmodem-2.9.11-20051101/modem '
make -C drivers KERNEL_DIR=/lib/modules/2.6.15-1.2054_FC5/build
make[1]: Entering directory `/root/slmodem-2.9.11-20051101/slmodem-2.9.11-20051101/drive rs'
cc -I/lib/modules/2.6.15-1.2054_FC5/build/include -o kernel-ver kernel-ver.c
make all KERNEL_VER=2.4.20
make[2]: Entering directory `/root/slmodem-2.9.11-20051101/slmodem-2.9.11-20051101/drive rs'
cc -Wall -pipe -O3 -fomit-frame-pointer -D__KERNEL__ -DMODULE -DEXPORT_SYMTAB -DMODVERSIONS --include /lib/modules/2.6.15-1.2054_FC5/build/include/linux/modversio ns.h -I/lib/modules/2.6.15-1.2054_FC5/build/include -I. -I./../modem -o amrmo_init.o -c amrmo_init.c
In file included from <command line>:1:
/lib/modules/2.6.15-1.2054_FC5/build/include/linux/modversio ns.h:1:2: error: #error Modules should never use kernel-headers system headers,
/lib/modules/2.6.15-1.2054_FC5/build/include/linux/modversio ns.h:2:2: error: #error but rather headers from the appropriate kernel package.
/lib/modules/2.6.15-1.2054_FC5/build/include/linux/modversio ns.h:3:2: error: #error Change -I/usr/src/linux/include (or similar) to
/lib/modules/2.6.15-1.2054_FC5/build/include/linux/modversio ns.h:4:2: error: #error -I/lib/modules/$(uname -r)/build/include
/lib/modules/2.6.15-1.2054_FC5/build/include/linux/modversio ns.h:5:2: error: #error to build against the currently-running kernel.
In file included from amrmo_init.c:46:
/lib/modules/2.6.15-1.2054_FC5/build/include/linux/config.h: 5:2: error: #error Incorrectly using glibc headers for a kernel module
In file included from /lib/modules/2.6.15-1.2054_FC5/build/include/linux/interrupt .h:9,
from amrmo_init.c:52:
/usr/include/asm/bitops.h:327:2: warning: #warning This includefile is not available on all architectures.
/usr/include/asm/bitops.h:328:2: warning: #warning Using kernel headers in userspace: atomicity not guaranteed
In file included from amrmo_init.c:52:
/lib/modules/2.6.15-1.2054_FC5/build/include/linux/interrupt .h:12:25: error: asm/hardirq.h: No such file or directory
/lib/modules/2.6.15-1.2054_FC5/build/include/linux/interrupt .h:13:25: error: asm/softirq.h: No such file or directory
amrmo_init.c:55:25: error: asm/uaccess.h: No such file or directory
amrmo_init.c:56:35: error: linux/devfs_fs_kernel.h: No such file or directory
amrmo_init.c:183: error: expected specifier-qualifier-list before ‘spinlock_t’
amrmo_init.c:191: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘extern’
amrmo_init.c:192: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘extern’
amrmo_init.c:193: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘extern’
amrmo_init.c:194: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘extern’
amrmo_init.c:195: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘extern’
amrmo_init.c:196: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘extern’
amrmo_init.c:197: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘extern’
amrmo_init.c:198: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘extern’
amrmo_init.c:199: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘extern’
amrmo_init.c:200: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘extern’
amrmo_init.c:227: error: array type has incomplete element type
amrmo_init.c:229: error: ‘PCI_ANY_ID’ undeclared here (not in a function)
amrmo_init.c:292: error: invalid application of ‘sizeof’ to incomplete type ‘struct pci_device_id’
amrmo_init.c:307: error: expected declaration specifiers or ‘...’ before ‘va_list’
amrmo_init.c: In function ‘amrmo_vprintf’:
amrmo_init.c:310: error: storage size of ‘tv’ isn’t known
amrmo_init.c:314: warning: implicit declaration of function ‘strlen’
amrmo_init.c:314: warning: incompatible implicit declaration of built-in function ‘strlen’
amrmo_init.c:316: warning: implicit declaration of function ‘do_gettimeofday’
amrmo_init.c:320: warning: implicit declaration of function ‘sprintf’
amrmo_init.c:320: warning: incompatible implicit declaration of built-in function ‘sprintf’
amrmo_init.c:321: warning: implicit declaration of function ‘in_interrupt’
amrmo_init.c:324: warning: implicit declaration of function ‘vsprintf’
amrmo_init.c:324: error: ‘args’ undeclared (first use in this function)
amrmo_init.c:324: error: (Each undeclared identifier is reported only once
amrmo_init.c:324: error: for each function it appears in.)
amrmo_init.c:330: warning: implicit declaration of function ‘printk’
amrmo_init.c:330: error: ‘KERN_DEBUG’ undeclared (first use in this function)
amrmo_init.c:330: error: expected ‘)’ before string constant
amrmo_init.c:310: warning: unused variable ‘tv’
amrmo_init.c: At top level:
amrmo_init.c:334: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘int’
amrmo_init.c:351: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘void’
amrmo_init.c:361: warning: ‘struct file’ declared inside parameter list
amrmo_init.c:361: warning: its scope is only this definition or declaration, which is probably not what you want
amrmo_init.c: In function ‘amrmo_read’:
amrmo_init.c:363: error: dereferencing pointer to incomplete type
amrmo_init.c:366: warning: implicit declaration of function ‘access_ok’
amrmo_init.c:366: error: ‘VERIFY_READ’ undeclared (first use in this function)
amrmo_init.c:367: error: ‘EFAULT’ undeclared (first use in this function)
amrmo_init.c:368: error: ‘struct amrmo_struct’ has no member named ‘ibuf’
amrmo_init.c:369: error: ‘struct amrmo_struct’ has no member named ‘ibuf’
amrmo_init.c:370: warning: implicit declaration of function ‘amrmo_card_read’
amrmo_init.c:370: error: ‘struct amrmo_struct’ has no member named ‘ibuf’
amrmo_init.c:371: warning: implicit declaration of function ‘copy_to_user’
amrmo_init.c:371: error: ‘struct amrmo_struct’ has no member named ‘ibuf’
amrmo_init.c: At top level:
amrmo_init.c:376: warning: ‘struct file’ declared inside parameter list
amrmo_init.c: In function ‘amrmo_write’:
amrmo_init.c:378: error: dereferencing pointer to incomplete type
amrmo_init.c:381: error: ‘VERIFY_WRITE’ undeclared (first use in this function)
amrmo_init.c:382: error: ‘EFAULT’ undeclared (first use in this function)
amrmo_init.c:383: error: ‘struct amrmo_struct’ has no member named ‘obuf’
amrmo_init.c:384: error: ‘struct amrmo_struct’ has no member named ‘obuf’
amrmo_init.c:385: warning: implicit declaration of function ‘copy_from_user’
amrmo_init.c:385: error: ‘struct amrmo_struct’ has no member named ‘obuf’
amrmo_init.c:387: warning: implicit declaration of function ‘amrmo_card_write’
amrmo_init.c:387: error: ‘struct amrmo_struct’ has no member named ‘obuf’
amrmo_init.c: At top level:
amrmo_init.c:392: error: expected declaration specifiers or ‘...’ before ‘poll_table’
amrmo_init.c:392: warning: ‘struct file’ declared inside parameter list
amrmo_init.c: In function ‘amrmo_poll’:
amrmo_init.c:394: error: dereferencing pointer to incomplete type
amrmo_init.c:397: warning: implicit declaration of function ‘poll_wait’
amrmo_init.c:397: error: ‘struct amrmo_struct’ has no member named ‘wait’
amrmo_init.c:397: error: ‘wait’ undeclared (first use in this function)
amrmo_init.c:398: warning: implicit declaration of function ‘spin_lock_irqsave’
amrmo_init.c:398: error: ‘struct amrmo_struct’ has no member named ‘lock’
amrmo_init.c:407: warning: implicit declaration of function ‘spin_unlock_irqrestore’
amrmo_init.c:407: error: ‘struct amrmo_struct’ has no member named ‘lock’
amrmo_init.c: At top level:
amrmo_init.c:413: warning: ‘struct file’ declared inside parameter list
amrmo_init.c:413: warning: ‘struct inode’ declared inside parameter list
amrmo_init.c: In function ‘amrmo_ioctl’:
amrmo_init.c:415: error: dereferencing pointer to incomplete type
amrmo_init.c:419: error: ‘KERN_DEBUG’ undeclared (first use in this function)
amrmo_init.c:419: error: expected ‘)’ before string constant
amrmo_init.c:423: error: ‘struct amrmo_struct’ has no member named ‘lock’
amrmo_init.c:426: error: ‘struct amrmo_struct’ has no member named ‘lock’
amrmo_init.c:427: warning: implicit declaration of function ‘put_user’
amrmo_init.c:428: error: ‘EFAULT’ undeclared (first use in this function)
amrmo_init.c:431: warning: implicit declaration of function ‘amrmo_card_start’
amrmo_init.c:435: warning: implicit declaration of function ‘amrmo_card_stop’
amrmo_init.c:439: warning: implicit declaration of function ‘amrmo_card_ctl’
amrmo_init.c:441: error: ‘EINVAL’ undeclared (first use in this function)
amrmo_init.c: At top level:
amrmo_init.c:444: warning: ‘struct file’ declared inside parameter list
amrmo_init.c:444: warning: ‘struct inode’ declared inside parameter list
amrmo_init.c: In function ‘amrmo_open’:
amrmo_init.c:447: warning: implicit declaration of function ‘MINOR’
amrmo_init.c:447: error: dereferencing pointer to incomplete type
amrmo_init.c:449: error: ‘ENODEV’ undeclared (first use in this function)
amrmo_init.c:453: error: ‘KERN_DEBUG’ undeclared (first use in this function)
amrmo_init.c:453: error: expected ‘)’ before string constant
amrmo_init.c:455: error: ‘EBUSY’ undeclared (first use in this function)
amrmo_init.c:457: error: dereferencing pointer to incomplete type
amrmo_init.c:459: warning: implicit declaration of function ‘atomic_inc’
amrmo_init.c:459: error: ‘__this_module’ undeclared (first use in this function)
amrmo_init.c:461: warning: implicit declaration of function ‘init_waitqueue_head’
amrmo_init.c:461: error: ‘struct amrmo_struct’ has no member named ‘wait’
amrmo_init.c: At top level:
amrmo_init.c:465: warning: ‘struct file’ declared inside parameter list
amrmo_init.c:465: warning: ‘struct inode’ declared inside parameter list
amrmo_init.c: In function ‘amrmo_release’:
amrmo_init.c:467: error: dereferencing pointer to incomplete type
amrmo_init.c:468: error: ‘KERN_DEBUG’ undeclared (first use in this function)
amrmo_init.c:468: error: expected ‘)’ before string constant
amrmo_init.c:474: warning: implicit declaration of function ‘atomic_dec’
amrmo_init.c:474: error: ‘__this_module’ undeclared (first use in this function)
amrmo_init.c: At top level:
amrmo_init.c:479: error: variable ‘amrmo_fops’ has initializer but incomplete type
amrmo_init.c:480: error: unknown field ‘owner’ specified in initializer
amrmo_init.c:480: error: ‘__this_module’ undeclared here (not in a function)
amrmo_init.c:480: warning: excess elements in struct initializer
amrmo_init.c:480: warning: (near initialization for ‘amrmo_fops’)
amrmo_init.c:481: error: unknown field ‘llseek’ specified in initializer
amrmo_init.c:481: error: ‘no_llseek’ undeclared here (not in a function)
amrmo_init.c:481: warning: excess elements in struct initializer
amrmo_init.c:481: warning: (near initialization for ‘amrmo_fops’)
amrmo_init.c:482: error: unknown field ‘read’ specified in initializer
amrmo_init.c:482: warning: excess elements in struct initializer
amrmo_init.c:482: warning: (near initialization for ‘amrmo_fops’)
amrmo_init.c:483: error: unknown field ‘write’ specified in initializer
amrmo_init.c:483: warning: excess elements in struct initializer
amrmo_init.c:483: warning: (near initialization for ‘amrmo_fops’)
amrmo_init.c:484: error: unknown field ‘poll’ specified in initializer
amrmo_init.c:484: warning: excess elements in struct initializer
amrmo_init.c:484: warning: (near initialization for ‘amrmo_fops’)
amrmo_init.c:485: error: unknown field ‘ioctl’ specified in initializer
amrmo_init.c:485: warning: excess elements in struct initializer
amrmo_init.c:485: warning: (near initialization for ‘amrmo_fops’)
amrmo_init.c:486: error: unknown field ‘open’ specified in initializer
amrmo_init.c:486: warning: excess elements in struct initializer
amrmo_init.c:486: warning: (near initialization for ‘amrmo_fops’)
amrmo_init.c:487: error: unknown field ‘release’ specified in initializer
amrmo_init.c:487: warning: excess elements in struct initializer
amrmo_init.c:487: warning: (near initialization for ‘amrmo_fops’)
amrmo_init.c: In function ‘amrmo_pci_interrupt’:
amrmo_init.c:501: warning: implicit declaration of function ‘amrmo_card_interrupt’
amrmo_init.c: In function ‘amrmo_pci_probe’:
amrmo_init.c:519: error: ‘KERN_INFO’ undeclared (first use in this function)
amrmo_init.c:519: error: expected ‘)’ before string constant
amrmo_init.c:523: warning: implicit declaration of function ‘pci_enable_device’
amrmo_init.c:524: error: dereferencing pointer to incomplete type
amrmo_init.c:525: error: ‘ENODEV’ undeclared (first use in this function)
amrmo_init.c:527: warning: implicit declaration of function ‘kmalloc’
amrmo_init.c:527: error: ‘GFP_KERNEL’ undeclared (first use in this function)
amrmo_init.c:527: warning: assignment makes pointer from integer without a cast
amrmo_init.c:529: warning: implicit declaration of function ‘pci_disable_device’
amrmo_init.c:530: error: ‘ENOMEM’ undeclared (first use in this function)
amrmo_init.c:532: warning: implicit declaration of function ‘memset’
amrmo_init.c:532: warning: incompatible implicit declaration of built-in function ‘memset’
amrmo_init.c:534: error: dereferencing pointer to incomplete type
amrmo_init.c:537: error: dereferencing pointer to incomplete type
amrmo_init.c:538: warning: implicit declaration of function ‘pci_resource_flags’
amrmo_init.c:538: error: ‘IORESOURCE_MEM’ undeclared (first use in this function)
amrmo_init.c:539: warning: implicit declaration of function ‘pci_resource_start’
amrmo_init.c:540: warning: implicit declaration of function ‘pci_resource_len’
amrmo_init.c:555: warning: implicit declaration of function ‘spin_lock_init’
amrmo_init.c:555: error: ‘struct amrmo_struct’ has no member named ‘lock’
amrmo_init.c:556: error: ‘struct amrmo_struct’ has no member named ‘wait’
amrmo_init.c:558: warning: implicit declaration of function ‘amrmo_card_create’
amrmo_init.c:558: error: dereferencing pointer to incomplete type
amrmo_init.c:558: warning: assignment makes pointer from integer without a cast
amrmo_init.c:560: error: ‘KERN_ERR’ undeclared (first use in this function)
amrmo_init.c:560: error: expected ‘)’ before string constant
amrmo_init.c:562: warning: implicit declaration of function ‘kfree’
amrmo_init.c:566: warning: implicit declaration of function ‘pci_set_master’
amrmo_init.c:568: warning: implicit declaration of function ‘pci_request_regions’
amrmo_init.c:570: error: expected ‘)’ before string constant
amrmo_init.c:571: warning: implicit declaration of function ‘amrmo_card_delete’
amrmo_init.c:577: warning: implicit declaration of function ‘ioremap’
amrmo_init.c:577: warning: assignment makes pointer from integer without a cast
amrmo_init.c:579: error: expected ‘)’ before string constant
amrmo_init.c:580: warning: implicit declaration of function ‘pci_release_regions’
amrmo_init.c:584: error: ‘EIO’ undeclared (first use in this function)
amrmo_init.c:588: warning: implicit declaration of function ‘request_irq’
amrmo_init.c:588: error: ‘SA_SHIRQ’ undeclared (first use in this function)
amrmo_init.c:591: error: expected ‘)’ before string constant
amrmo_init.c:593: warning: implicit declaration of function ‘iounmap’
amrmo_init.c:601: warning: implicit declaration of function ‘amrmo_card_enable’
amrmo_init.c:603: error: expected ‘)’ before string constant
amrmo_init.c:604: warning: implicit declaration of function ‘free_irq’
amrmo_init.c:622: error: ‘EBUSY’ undeclared (first use in this function)
amrmo_init.c:626: error: ‘KERN_DEBUG’ undeclared (first use in this function)
amrmo_init.c:626: error: expected ‘)’ before string constant
amrmo_init.c:629: error: expected ‘)’ before string constant
amrmo_init.c:632: warning: implicit declaration of function ‘pci_set_drvdata’
amrmo_init.c: In function ‘amrmo_pci_remove’:
amrmo_init.c:661: warning: implicit declaration of function ‘pci_get_drvdata’
amrmo_init.c:661: warning: initialization makes pointer from integer without a cast
amrmo_init.c:662: error: ‘KERN_DEBUG’ undeclared (first use in this function)
amrmo_init.c:662: error: expected ‘)’ before string constant
amrmo_init.c:679: warning: implicit declaration of function ‘amrmo_card_disable’
amrmo_init.c: At top level:
amrmo_init.c:692: error: variable ‘amrmo_pci_driver’ has initializer but incomplete type
amrmo_init.c:693: error: unknown field ‘name’ specified in initializer
amrmo_init.c:693: warning: excess elements in struct initializer
amrmo_init.c:693: warning: (near initialization for ‘amrmo_pci_driver’)
amrmo_init.c:694: error: unknown field ‘id_table’ specified in initializer
amrmo_init.c:694: warning: excess elements in struct initializer
amrmo_init.c:694: warning: (near initialization for ‘amrmo_pci_driver’)
amrmo_init.c:695: error: unknown field ‘probe’ specified in initializer
amrmo_init.c:695: warning: excess elements in struct initializer
amrmo_init.c:695: warning: (near initialization for ‘amrmo_pci_driver’)
amrmo_init.c:696: error: unknown field ‘remove’ specified in initializer
amrmo_init.c:696: warning: excess elements in struct initializer
amrmo_init.c:696: warning: (near initialization for ‘amrmo_pci_driver’)
amrmo_init.c: In function ‘amrmo_init’:
amrmo_init.c:717: warning: implicit declaration of function ‘pci_present’
amrmo_init.c:718: error: ‘ENODEV’ undeclared (first use in this function)
amrmo_init.c:721: error: ‘KERN_INFO’ undeclared (first use in this function)
amrmo_init.c:721: error: expected ‘)’ before string constant
amrmo_init.c:728: warning: implicit declaration of function ‘pci_for_each_dev’
amrmo_init.c:728: error: expected ‘;’ before ‘{’ token
amrmo_init.c:715: warning: unused variable ‘err’
amrmo_init.c: In function ‘amrmo_exit’:
amrmo_init.c:791: error: ‘KERN_DEBUG’ undeclared (first use in this function)
amrmo_init.c:791: error: expected ‘)’ before string constant
amrmo_init.c:792: warning: implicit declaration of function ‘unregister_chrdev’
amrmo_init.c:793: warning: implicit declaration of function ‘pci_unregister_driver’
amrmo_init.c: In function ‘amrmo_init’:
amrmo_init.c:787: warning: control reaches end of non-void function
make[2]: *** [amrmo_init.o] Error 1
make[2]: Leaving directory `/root/slmodem-2.9.11-20051101/slmodem-2.9.11-20051101/drive rs'
make[1]: *** [all] Error 2
make[1]: Leaving directory `/root/slmodem-2.9.11-20051101/slmodem-2.9.11-20051101/drive rs'
make: *** [drivers] Error 2
[root@ADIL_COMP slmodem-2.9.11-20051101]#