森山です。 On Mon, 15 Dec 2008 23:58:38 +0900 野宮 賢 / NOMIYA Masaru <nomiya@xxxxxxxxxxxxxxxx> wrote: > 野宮です. > http://communities.vmware.com/message/1065683#1065683 > > に解決法が書かれてありました. わざわざ、ありがとうございます。で、確認した所、 $ ls /usr/lib/vmware/modules/source vmblock.tar vmci.tar vmmon.tar vmnet.tar vmppuser.tar vsock.tar $ ls -l /lib/modules/2.6.16-76.39vl4/misc/ 合計 480 -rw-r--r-- 1 root root 206226 8月14日 18:14 ndiswrapper.ko lrwxrwxrwx 1 root root 43 12月14日 22:11 vmblock.ko -> /lib/modules/2.6.16-76.39vl4/misc/vmblock.o -rw-r--r-- 1 root root 24030 12月14日 22:11 vmblock.o lrwxrwxrwx 1 root root 40 12月14日 22:11 vmci.ko -> /lib/modules/2.6.16-76.39vl4/misc/vmci.o -rw-r--r-- 1 root root 64631 12月14日 22:11 vmci.o lrwxrwxrwx 1 root root 41 12月14日 22:10 vmmon.ko -> /lib/modules/2.6.16-76.39vl4/misc/vmmon.o -rw-r--r-- 1 root root 76119 12月14日 22:10 vmmon.o lrwxrwxrwx 1 root root 41 12月14日 22:11 vmnet.ko -> /lib/modules/2.6.16-76.39vl4/misc/vmnet.o -rw-r--r-- 1 root root 63005 12月14日 22:11 vmnet.o lrwxrwxrwx 1 root root 41 12月14日 22:11 vsock.ko -> /lib/modules/2.6.16-76.39vl4/misc/vsock.o -rw-r--r-- 1 root root 28860 12月14日 22:11 vsock.o となっていて、vmppuser.o と vmppuser.ko 相当が無いのが原因のようです。 で、適当なディレクトリに vmppuser.tar をコピーして、以下のように 操作した所、以下のようにエラーとなり、make出来無いというのが 現在の状況です。もう少し、調べてみます。 $ tar -xvf vmppuser.tar $ cd vmppuser-only/ $ make /usr/include/linux/autoconf.h:1 から include されたファイル中, driver-config.h:21 から, ppuser-stub.c:9 から: /usr/include/linux/err_kernel_only.h:1:2: #error Kernel only header included in userspace ppuser-stub.c:9 から include されたファイル中: driver-config.h:28:5: #error "No Module support in this kernel. Please configure with CONFIG_MODULES" /usr/include/linux/sched.h:16 から include されたファイル中, /usr/include/linux/module.h:9 から, ppdev.c:47 から, ppuser-stub.c:18 から: /usr/include/linux/signal.h:2:2: 警告: #warning "You should include <signal.h>. This time I will do it for you." /usr/include/linux/sched.h:79 から include されたファイル中, /usr/include/linux/module.h:9 から, ppdev.c:47 から, ppuser-stub.c:18 から: /usr/include/linux/resource.h:2:2: 警告: #warning "You should include <sys/resource.h>. This time I will do it for you." In file included from ppdev.c:47, from ppuser-stub.c:18: /usr/include/linux/module.h:41: error: field `attr' has incomplete type /usr/include/linux/module.h:49: error: field `kobj' has incomplete type ppuser-stub.c:18 から include されたファイル中: ppdev.c:54:25: asm/uaccess.h: そのようなファイルやディレクトリはありません /usr/include/linux/parport_pc.h:4 から include されたファイル中, ppdev.c:56 から, ppuser-stub.c:18 から: /usr/include/asm/io.h:1:2: 警告: #warning "You should include <sys/io.h>. This time I will do it for you." In file included from ppdev.c:56, from ppuser-stub.c:18: /usr/include/linux/parport_pc.h:40: error: 文法エラー before "dma_addr_t" /usr/include/linux/parport_pc.h:44: error: 文法エラー before '}' token /usr/include/linux/parport_pc.h: 関数 `parport_pc_write_data' 内: /usr/include/linux/parport_pc.h:68: error: dereferencing pointer to incomplete type /usr/include/linux/parport_pc.h: 関数 `parport_pc_read_data' 内: /usr/include/linux/parport_pc.h:73: error: dereferencing pointer to incomplete type /usr/include/linux/parport_pc.h: 関数 `__parport_pc_frob_control' 内: /usr/include/linux/parport_pc.h:132: error: dereferencing pointer to incomplete type /usr/include/linux/parport_pc.h:133: error: dereferencing pointer to incomplete type /usr/include/linux/parport_pc.h:140: error: dereferencing pointer to incomplete type /usr/include/linux/parport_pc.h:141: error: dereferencing pointer to incomplete type /usr/include/linux/parport_pc.h:142: error: dereferencing pointer to incomplete type /usr/include/linux/parport_pc.h: 関数 `parport_pc_write_control' 内: /usr/include/linux/parport_pc.h:166: error: `KERN_DEBUG' undeclared (first use in this function) /usr/include/linux/parport_pc.h:166: error: (Each undeclared identifier is reported only once /usr/include/linux/parport_pc.h:166: error: for each function it appears in.) /usr/include/linux/parport_pc.h:166: error: 文法エラー before string constant /usr/include/linux/parport_pc.h: 関数 `parport_pc_read_control' 内: /usr/include/linux/parport_pc.h:180: error: dereferencing pointer to incomplete type /usr/include/linux/parport_pc.h:181: error: dereferencing pointer to incomplete type /usr/include/linux/parport_pc.h: 関数 `parport_pc_frob_control' 内: /usr/include/linux/parport_pc.h:195: error: `KERN_DEBUG' undeclared (first use in this function) /usr/include/linux/parport_pc.h:195: error: 文法エラー before string constant /usr/include/linux/parport_pc.h: 関数 `parport_pc_read_status' 内: /usr/include/linux/parport_pc.h:213: error: dereferencing pointer to incomplete type In file included from ppuser-stub.c:18: ppdev.c: トップレベル: ppdev.c:73: error: 文法エラー before "wait_queue_head_t" ppdev.c:73: 警告: struct や union の最後にセミコロンがありません ppdev.c:74: 警告: type defaults to `int' in declaration of `irqc' ppdev.c:74: 警告: data definition has no type or storage class ppdev.c:81: error: 文法エラー before '}' token ppdev.c: 関数 `enable_irq' 内: ppdev.c:101: error: dereferencing pointer to incomplete type ppdev.c:102: error: dereferencing pointer to incomplete type ppdev.c: トップレベル: ppdev.c:105: 警告: `struct file' declared inside parameter list ppdev.c:105: 警告: its scope is only this definition or declaration, which is probably not what you want ppdev.c:111: 警告: `struct file' declared inside parameter list ppdev.c: 関数 `pp_read' 内: ppdev.c:113: 警告: implicit declaration of function `MINOR' ppdev.c:113: error: dereferencing pointer to incomplete type ppdev.c:114: error: dereferencing pointer to incomplete type ppdev.c:119: error: dereferencing pointer to incomplete type ppdev.c:121: error: `KERN_DEBUG' undeclared (first use in this function) ppdev.c:121: error: 文法エラー before string constant ppdev.c:126: 警告: implicit declaration of function `kmalloc' ppdev.c:126: error: `GFP_KERNEL' undeclared (first use in this function) ppdev.c:126: 警告: 代入により、キャストなしで整数からポインタを作りました ppdev.c:133: 警告: implicit declaration of function `parport_read' ppdev.c:133: error: dereferencing pointer to incomplete type ppdev.c:142: 警告: implicit declaration of function `copy_to_user' ppdev.c:149: 警告: implicit declaration of function `signal_pending' ppdev.c:149: error: `current' undeclared (first use in this function) ppdev.c:156: 警告: implicit declaration of function `schedule' ppdev.c:159: 警告: implicit declaration of function `kfree' ppdev.c:113: 警告: unused variable `minor' ppdev.c: トップレベル: ppdev.c:165: 警告: `struct file' declared inside parameter list ppdev.c: 関数 `pp_write' 内: ppdev.c:167: error: dereferencing pointer to incomplete type ppdev.c:168: error: dereferencing pointer to incomplete type ppdev.c:173: error: dereferencing pointer to incomplete type ppdev.c:175: error: `KERN_DEBUG' undeclared (first use in this function) ppdev.c:175: error: 文法エラー before string constant ppdev.c:180: error: `GFP_KERNEL' undeclared (first use in this function) ppdev.c:180: 警告: 代入により、キャストなしで整数からポインタを作りました ppdev.c:187: 警告: implicit declaration of function `copy_from_user' ppdev.c:192: 警告: implicit declaration of function `parport_write' ppdev.c:192: error: dereferencing pointer to incomplete type ppdev.c:202: error: `current' undeclared (first use in this function) ppdev.c:167: 警告: unused variable `minor' ppdev.c: 関数 `pp_irq' 内: ppdev.c:221: error: dereferencing pointer to incomplete type ppdev.c:222: 警告: implicit declaration of function `parport_write_control' ppdev.c:222: error: dereferencing pointer to incomplete type ppdev.c:222: error: dereferencing pointer to incomplete type ppdev.c:223: error: dereferencing pointer to incomplete type ppdev.c:226: 警告: implicit declaration of function `atomic_inc' ppdev.c:226: error: dereferencing pointer to incomplete type ppdev.c:227: 警告: implicit declaration of function `wake_up_interruptible' ppdev.c:227: error: dereferencing pointer to incomplete type ppdev.c: 関数 `register_device' 内: ppdev.c:237: 警告: implicit declaration of function `strlen' ppdev.c:237: error: `GFP_KERNEL' undeclared (first use in this function) ppdev.c:237: 警告: 代入により、キャストなしで整数からポインタを作りました ppdev.c:241: 警告: implicit declaration of function `sprintf' ppdev.c:242: 警告: implicit declaration of function `parport_enumerate' ppdev.c:242: 警告: 代入により、キャストなしで整数からポインタを作りました ppdev.c:244: error: dereferencing pointer to incomplete type ppdev.c:245: error: dereferencing pointer to incomplete type ppdev.c:248: error: `KERN_WARNING' undeclared (first use in this function) ppdev.c:248: error: 文法エラー before string constant ppdev.c:253: error: dereferencing pointer to incomplete type ppdev.c:253: error: `PARPORT_FLAG_EXCL' undeclared (first use in this function) ppdev.c:254: 警告: implicit declaration of function `parport_register_device' ppdev.c:255: 警告: 代入により、キャストなしで整数からポインタを作りました ppdev.c:258: error: 文法エラー before string constant ppdev.c:263: error: dereferencing pointer to incomplete type ppdev.c:264: error: `KERN_DEBUG' undeclared (first use in this function) ppdev.c:264: error: 文法エラー before string constant ppdev.c: トップレベル: ppdev.c:269: error: return type is an incomplete type ppdev.c: 関数 `init_phase' 内: ppdev.c:274: error: `IEEE1284_PH_REV_IDLE' undeclared (first use in this function) ppdev.c:274: 警告: 戻り型が void の関数で、`return' に値があります ppdev.c:276: error: `IEEE1284_PH_FWD_IDLE' undeclared (first use in this function) ppdev.c:276: 警告: 戻り型が void の関数で、`return' に値があります ppdev.c: トップレベル: ppdev.c:280: 警告: `struct file' declared inside parameter list ppdev.c:280: 警告: `struct inode' declared inside parameter list ppdev.c: 関数 `pp_ioctl' 内: ppdev.c:282: error: dereferencing pointer to incomplete type ppdev.c:283: error: dereferencing pointer to incomplete type ppdev.c:291: error: dereferencing pointer to incomplete type ppdev.c:293: error: `KERN_DEBUG' undeclared (first use in this function) ppdev.c:293: error: 文法エラー before string constant ppdev.c:298: error: dereferencing pointer to incomplete type ppdev.c:304: 警告: implicit declaration of function `parport_claim_or_block' ppdev.c:304: error: dereferencing pointer to incomplete type ppdev.c:305: error: dereferencing pointer to incomplete type ppdev.c:312: error: dereferencing pointer to incomplete type ppdev.c:313: error: dereferencing pointer to incomplete type ppdev.c:314: error: dereferencing pointer to incomplete type ppdev.c:314: error: dereferencing pointer to incomplete type ppdev.c:315: error: dereferencing pointer to incomplete type ppdev.c:315: error: dereferencing pointer to incomplete type ppdev.c:316: error: dereferencing pointer to incomplete type ppdev.c:316: error: dereferencing pointer to incomplete type ppdev.c:317: error: dereferencing pointer to incomplete type ppdev.c:317: error: dereferencing pointer to incomplete type ppdev.c:319: error: dereferencing pointer to incomplete type ppdev.c:323: error: dereferencing pointer to incomplete type ppdev.c:323: error: dereferencing pointer to incomplete type ppdev.c:324: error: dereferencing pointer to incomplete type ppdev.c:326: error: dereferencing pointer to incomplete type ppdev.c:329: error: dereferencing pointer to incomplete type ppdev.c:334: error: dereferencing pointer to incomplete type ppdev.c:336: error: 文法エラー before string constant ppdev.c:337: error: dereferencing pointer to incomplete type ppdev.c:346: error: dereferencing pointer to incomplete type ppdev.c:355: error: dereferencing pointer to incomplete type ppdev.c:356: error: dereferencing pointer to incomplete type ppdev.c:358: error: dereferencing pointer to incomplete type ppdev.c:359: error: dereferencing pointer to incomplete type ppdev.c:360: error: dereferencing pointer to incomplete type ppdev.c:360: error: dereferencing pointer to incomplete type ppdev.c:371: error: dereferencing pointer to incomplete type ppdev.c:373: error: dereferencing pointer to incomplete type ppdev.c:374: error: dereferencing pointer to incomplete type ppdev.c:381: error: dereferencing pointer to incomplete type ppdev.c:382: error: 文法エラー before string constant ppdev.c:387: error: dereferencing pointer to incomplete type ppdev.c:399: 警告: implicit declaration of function `parport_read_status' ppdev.c:404: 警告: implicit declaration of function `parport_read_data' ppdev.c:409: 警告: implicit declaration of function `parport_read_control' ppdev.c:414: 警告: implicit declaration of function `parport_yield_blocking' ppdev.c:414: error: dereferencing pointer to incomplete type ppdev.c:419: error: dereferencing pointer to incomplete type ppdev.c:420: error: dereferencing pointer to incomplete type ppdev.c:420: error: dereferencing pointer to incomplete type ppdev.c:421: error: dereferencing pointer to incomplete type ppdev.c:421: error: dereferencing pointer to incomplete type ppdev.c:422: error: dereferencing pointer to incomplete type ppdev.c:422: error: dereferencing pointer to incomplete type ppdev.c:423: error: dereferencing pointer to incomplete type ppdev.c:423: error: dereferencing pointer to incomplete type ppdev.c:424: 警告: implicit declaration of function `parport_release' ppdev.c:424: error: dereferencing pointer to incomplete type ppdev.c:425: error: dereferencing pointer to incomplete type ppdev.c:437: 警告: implicit declaration of function `parport_write_data' ppdev.c:447: 警告: implicit declaration of function `parport_frob_control' ppdev.c:454: error: dereferencing pointer to incomplete type ppdev.c:456: error: dereferencing pointer to incomplete type ppdev.c:462: 警告: implicit declaration of function `parport_negotiate' ppdev.c:481: error: dereferencing pointer to incomplete type ppdev.c:482: error: dereferencing pointer to incomplete type ppdev.c:486: 警告: implicit declaration of function `atomic_read' ppdev.c:486: error: dereferencing pointer to incomplete type ppdev.c:489: 警告: implicit declaration of function `atomic_sub' ppdev.c:489: error: dereferencing pointer to incomplete type ppdev.c:506: error: dereferencing pointer to incomplete type ppdev.c:510: error: dereferencing pointer to incomplete type ppdev.c:520: error: dereferencing pointer to incomplete type ppdev.c:522: error: dereferencing pointer to incomplete type ppdev.c:531: error: dereferencing pointer to incomplete type ppdev.c:533: error: dereferencing pointer to incomplete type ppdev.c:537: error: dereferencing pointer to incomplete type ppdev.c:539: error: dereferencing pointer to incomplete type ppdev.c:548: error: dereferencing pointer to incomplete type ppdev.c:550: error: dereferencing pointer to incomplete type ppdev.c:559: error: dereferencing pointer to incomplete type ppdev.c:559: error: dereferencing pointer to incomplete type ppdev.c:561: error: dereferencing pointer to incomplete type ppdev.c:565: error: dereferencing pointer to incomplete type ppdev.c:570: error: dereferencing pointer to incomplete type ppdev.c:575: error: 文法エラー before string constant ppdev.c: トップレベル: ppdev.c:584: 警告: `struct file' declared inside parameter list ppdev.c:584: 警告: `struct inode' declared inside parameter list ppdev.c: 関数 `pp_open' 内: ppdev.c:586: error: dereferencing pointer to incomplete type ppdev.c:592: error: invalid application of `sizeof' to an incomplete type ppdev.c:592: error: `GFP_KERNEL' undeclared (first use in this function) ppdev.c:592: 警告: 代入により、キャストなしで整数からポインタを作りました ppdev.c:596: error: dereferencing pointer to incomplete type ppdev.c:597: error: dereferencing pointer to incomplete type ppdev.c:597: error: dereferencing pointer to incomplete type ppdev.c:598: error: dereferencing pointer to incomplete type ppdev.c:599: error: dereferencing pointer to incomplete type ppdev.c:600: 警告: implicit declaration of function `atomic_set' ppdev.c:600: error: dereferencing pointer to incomplete type ppdev.c:601: 警告: implicit declaration of function `init_waitqueue_head' ppdev.c:601: error: dereferencing pointer to incomplete type ppdev.c:607: error: dereferencing pointer to incomplete type ppdev.c:608: error: dereferencing pointer to incomplete type ppdev.c: トップレベル: ppdev.c:614: 警告: `struct file' declared inside parameter list ppdev.c:614: 警告: `struct inode' declared inside parameter list ppdev.c: 関数 `pp_release' 内: ppdev.c:616: error: dereferencing pointer to incomplete type ppdev.c:617: error: dereferencing pointer to incomplete type ppdev.c:619: error: dereferencing pointer to incomplete type ppdev.c:620: error: dereferencing pointer to incomplete type ppdev.c:622: error: `KERN_DEBUG' undeclared (first use in this function) ppdev.c:622: error: 文法エラー before string constant ppdev.c:625: error: dereferencing pointer to incomplete type ppdev.c:626: error: dereferencing pointer to incomplete type ppdev.c:627: 警告: implicit declaration of function `parport_unregister_device' ppdev.c:627: error: dereferencing pointer to incomplete type ppdev.c:629: error: dereferencing pointer to incomplete type ppdev.c:630: error: 文法エラー before string constant ppdev.c:616: 警告: unused variable `minor' ppdev.c: トップレベル: ppdev.c:640: error: 文法エラー before "poll_table" ppdev.c:640: 警告: `struct file' declared inside parameter list ppdev.c:641: 警告: function declaration isn't a prototype ppdev.c: 関数 `pp_poll' 内: ppdev.c:642: error: `file' undeclared (first use in this function) ppdev.c:645: error: dereferencing pointer to incomplete type ppdev.c:648: 警告: implicit declaration of function `poll_wait' ppdev.c:648: error: dereferencing pointer to incomplete type ppdev.c:648: error: `wait' undeclared (first use in this function) ppdev.c: トップレベル: ppdev.c:652: error: variable `pp_fops' has initializer but incomplete type ppdev.c:653: 警告: 構造体初期化子内の要素が多すぎます ppdev.c:653: 警告: (`pp_fops' の初期化は不完全です) ppdev.c:654: 警告: 構造体初期化子内の要素が多すぎます ppdev.c:654: 警告: (`pp_fops' の初期化は不完全です) ppdev.c:655: 警告: 構造体初期化子内の要素が多すぎます ppdev.c:655: 警告: (`pp_fops' の初期化は不完全です) ppdev.c:656: 警告: 構造体初期化子内の要素が多すぎます ppdev.c:656: 警告: (`pp_fops' の初期化は不完全です) ppdev.c:657: 警告: 構造体初期化子内の要素が多すぎます ppdev.c:657: 警告: (`pp_fops' の初期化は不完全です) ppdev.c:658: 警告: 構造体初期化子内の要素が多すぎます ppdev.c:658: 警告: (`pp_fops' の初期化は不完全です) ppdev.c:659: 警告: 構造体初期化子内の要素が多すぎます ppdev.c:659: 警告: (`pp_fops' の初期化は不完全です) ppdev.c:660: 警告: 構造体初期化子内の要素が多すぎます ppdev.c:660: 警告: (`pp_fops' の初期化は不完全です) ppdev.c:661: 警告: 構造体初期化子内の要素が多すぎます ppdev.c:661: 警告: (`pp_fops' の初期化は不完全です) ppdev.c:663: 警告: 構造体初期化子内の要素が多すぎます ppdev.c:663: 警告: (`pp_fops' の初期化は不完全です) ppdev.c: 関数 `ppdev_init' 内: ppdev.c:668: 警告: implicit declaration of function `register_chrdev' ppdev.c:669: error: `KERN_WARNING' undeclared (first use in this function) ppdev.c:669: error: 文法エラー before string constant ppdev.c:674: error: `KERN_INFO' undeclared (first use in this function) ppdev.c:674: error: 文法エラー before string constant ppdev.c: 関数 `ppdev_cleanup' 内: ppdev.c:681: 警告: implicit declaration of function `unregister_chrdev' ppuser-stub.c: トップレベル: /usr/include/linux/parport_pc.h:42: error: storage size of `list' isn't known ppdev.c:78: error: storage size of `state' isn't known ppdev.c:79: error: storage size of `saved_state' isn't known ppdev.c:652: error: storage size of `pp_fops' isn't known make: *** [ppuser-stub.o] エラー 1 -- K.Moriyama