Distribution: Mandrake 9.1 Hardware Environment: AMD Athlon 750 Software Environment: gcc 3.2 Problem Description: pm3fb does not compile Steps to reproduce: make config and select Permedia 3 as module. make modules gives the following output: CC [M] drivers/video/pm3fb.o drivers/video/pm3fb.c:72:25: video/fbcon.h: No such file or directory drivers/video/pm3fb.c:73:29: video/fbcon-mfb.h: No such file or directory drivers/video/pm3fb.c:74:30: video/fbcon-cfb2.h: No such file or directory drivers/video/pm3fb.c:75:30: video/fbcon-cfb4.h: No such file or directory drivers/video/pm3fb.c:76:30: video/fbcon-cfb8.h: No such file or directory drivers/video/pm3fb.c:77:31: video/fbcon-cfb16.h: No such file or directory drivers/video/pm3fb.c:78:31: video/fbcon-cfb24.h: No such file or directory drivers/video/pm3fb.c:79:31: video/fbcon-cfb32.h: No such file or directory drivers/video/pm3fb.c:136: field `gen' has incomplete type drivers/video/pm3fb.c:683: variable `pm3fb_switch' has initializer but incomplete type drivers/video/pm3fb.c:684: warning: excess elements in struct initializer drivers/video/pm3fb.c:684: warning: (near initialization for `pm3fb_switch') drivers/video/pm3fb.c:684: warning: excess elements in struct initializer drivers/video/pm3fb.c:684: warning: (near initialization for `pm3fb_switch') drivers/video/pm3fb.c:684: warning: excess elements in struct initializer drivers/video/pm3fb.c:684: warning: (near initialization for `pm3fb_switch') drivers/video/pm3fb.c:684: warning: excess elements in struct initializer drivers/video/pm3fb.c:684: warning: (near initialization for `pm3fb_switch') drivers/video/pm3fb.c:685: warning: excess elements in struct initializer drivers/video/pm3fb.c:685: warning: (near initialization for `pm3fb_switch') drivers/video/pm3fb.c:685: warning: excess elements in struct initializer drivers/video/pm3fb.c:685: warning: (near initialization for `pm3fb_switch') drivers/video/pm3fb.c:685: warning: excess elements in struct initializer drivers/video/pm3fb.c:685: warning: (near initialization for `pm3fb_switch') drivers/video/pm3fb.c:686: warning: excess elements in struct initializer drivers/video/pm3fb.c:686: warning: (near initialization for `pm3fb_switch') drivers/video/pm3fb.c:686: warning: excess elements in struct initializer drivers/video/pm3fb.c:686: warning: (near initialization for `pm3fb_switch') drivers/video/pm3fb.c:687: warning: excess elements in struct initializer drivers/video/pm3fb.c:687: warning: (near initialization for `pm3fb_switch') drivers/video/pm3fb.c:691: unknown field `fb_get_fix' specified in initializer drivers/video/pm3fb.c:691: `fbgen_get_fix' undeclared here (not in a function) drivers/video/pm3fb.c:691: initializer element is not constant drivers/video/pm3fb.c:691: (near initialization for `pm3fb_ops.fb_open') drivers/video/pm3fb.c:692: unknown field `fb_get_var' specified in initializer drivers/video/pm3fb.c:692: `fbgen_get_var' undeclared here (not in a function) drivers/video/pm3fb.c:692: initializer element is not constant drivers/video/pm3fb.c:692: (near initialization for `pm3fb_ops.fb_release') drivers/video/pm3fb.c:693: unknown field `fb_set_var' specified in initializer drivers/video/pm3fb.c:693: `fbgen_set_var' undeclared here (not in a function) drivers/video/pm3fb.c:693: initializer element is not constant drivers/video/pm3fb.c:693: (near initialization for `pm3fb_ops.fb_read') drivers/video/pm3fb.c:694: unknown field `fb_get_cmap' specified in initializer drivers/video/pm3fb.c:694: `fbgen_get_cmap' undeclared here (not in a function) drivers/video/pm3fb.c:694: initializer element is not constant drivers/video/pm3fb.c:694: (near initialization for `pm3fb_ops.fb_write') drivers/video/pm3fb.c:695: unknown field `fb_set_cmap' specified in initializer drivers/video/pm3fb.c:695: `fbgen_set_cmap' undeclared here (not in a function) drivers/video/pm3fb.c:695: initializer element is not constant drivers/video/pm3fb.c:695: (near initialization for `pm3fb_ops.fb_check_var') drivers/video/pm3fb.c:697: `fbgen_pan_display' undeclared here (not in a function) drivers/video/pm3fb.c:697: initializer element is not constant drivers/video/pm3fb.c:697: (near initialization for `pm3fb_ops.fb_pan_display') drivers/video/pm3fb.c:698: `fbgen_blank' undeclared here (not in a function) drivers/video/pm3fb.c:698: initializer element is not constant drivers/video/pm3fb.c:698: (near initialization for `pm3fb_ops.fb_blank') drivers/video/pm3fb.c:699: warning: initialization from incompatible pointer type drivers/video/pm3fb.c: In function `pm3fb_common_init': drivers/video/pm3fb.c:1602: invalid use of undefined type `struct display' drivers/video/pm3fb.c:1606: invalid use of undefined type `struct display' drivers/video/pm3fb.c:1610: `fbgen_switch' undeclared (first use in this function) drivers/video/pm3fb.c:1610: (Each undeclared identifier is reported only once drivers/video/pm3fb.c:1610: for each function it appears in.) drivers/video/pm3fb.c:1611: `fbgen_update_var' undeclared (first use in this function) drivers/video/pm3fb.c:1619: warning: implicit declaration of function `fbgen_get_var' drivers/video/pm3fb.c:1619: invalid use of undefined type `struct display' drivers/video/pm3fb.c:1624: invalid use of undefined type `struct display' drivers/video/pm3fb.c:1625: invalid use of undefined type `struct display' drivers/video/pm3fb.c:1628: warning: implicit declaration of function `fbgen_do_set_var' drivers/video/pm3fb.c:1628: invalid use of undefined type `struct display' drivers/video/pm3fb.c:1631: warning: implicit declaration of function `fbgen_set_disp' drivers/video/pm3fb.c:1633: warning: implicit declaration of function `do_install_cmap' drivers/video/pm3fb.c: In function `pm3fb_set_disp': drivers/video/pm3fb.c:3298: dereferencing pointer to incomplete type drivers/video/pm3fb.c:3351: dereferencing pointer to incomplete type drivers/video/pm3fb.c:3351: `fbcon_dummy' undeclared (first use in this function) drivers/video/pm3fb.c:3355: warning: comparison of distinct pointer types lacks a cast drivers/video/pm3fb.c: In function `cleanup_module': drivers/video/pm3fb.c:3815: warning: passing arg 2 of `__release_region' makes integer from pointer without a cast drivers/video/pm3fb.c:3818: warning: passing arg 2 of `__release_region' makes integer from pointer without a cast include/asm/uaccess.h: At top level: drivers/video/pm3fb.c:557: storage size of `disp' isn't known drivers/video/pm3fb.c:683: storage size of `pm3fb_switch' isn't known make[2]: *** [drivers/video/pm3fb.o] Error 1 make[1]: *** [drivers/video] Error 2 make: *** [drivers] Error 2
For the record, it still happens in 2.6.3-mm4
*** This bug has been marked as a duplicate of 368 ***