On linux Mandrake 7.1, Having installed i2c-2.5.4, now I try to compile bttv-0.7.44, which supports my card. But I have the following error: I thinked it was due to the patched kernel 2.2.15 coming with Mandrake, so I have downloaded the original one, and recompiled it. The problem hasn't disappeared. Could someone help me ? [root@julian bttv-0.7.44]# make make -C driver make[1]: Entering directory `/usr/local/src/bttv-0.7.44/driver' DIR=`pwd`; (cd /usr/src/linux; make SUBDIRS=$DIR modules) make[2]: Entering directory `/usr/src/linux-2.2.15' make -C /usr/local/src/bttv-0.7.44/driver CFLAGS="-Wall -Wstrict-prototypes -O2 -fomit-frame-pointer -fno-strict-aliasing -pipe -O3 -fomit-frame-pointer -fno-e xceptions -fno-rtti -pipe -s -mpentium -mcpu=pentium -march=pentium -ffast-math -fexpensive-optimizations -m486 -malign-loops=2 -malign-jumps=2 -malign-function s=2 -DCPU=586 -DMODULE -DMODVERSIONS -include /usr/src/linux/include/linux/modve rsions.h" MAKING_MODULES=1 modules make[3]: Entering directory `/usr/local/src/bttv-0.7.44/driver' gcc -D__KERNEL__ -I/usr/src/linux/include -Wall -Wstrict-prototypes -O2 -fomit-f rame-pointer -fno-strict-aliasing -pipe -O3 -fomit-frame-pointer -fno-exceptions -fno-rtti -pipe -s -mpentium -mcpu=pentium -march=pentium -ffast-math -fexpensi ve-optimizations -m486 -malign-loops=2 -malign-jumps=2 -malign-functions=2 -DCPU =586 -DMODULE -DMODVERSIONS -include /usr/src/linux/include/linux/modversions.h -c -o msp3400.o msp3400.c In file included from msp3400.c:60: kcompat24.h:82: warning: `request_region' redefined /usr/src/linux/include/linux/modules/ksyms.ver:434: warning: this is the locatio n of the previous definition msp3400.c:65: `I2C_CLIENT_END' undeclared here (not in a function) msp3400.c:65: initializer element is not constant msp3400.c:65: (near initialization for `normal_i2c[0]') msp3400.c:66: `I2C_CLIENT_END' undeclared here (not in a function) msp3400.c:66: initializer element is not constant msp3400.c:66: (near initialization for `normal_i2c_range[2]') msp3400.c:67: `I2C_CLIENT_END' undeclared here (not in a function) msp3400.c:67: initializer element is not constant msp3400.c:67: (near initialization for `probe[0]') msp3400.c:67: `I2C_CLIENT_END' undeclared here (not in a function) msp3400.c:67: initializer element is not constant msp3400.c:67: (near initialization for `probe[1]') msp3400.c:68: `I2C_CLIENT_END' undeclared here (not in a function) msp3400.c:68: initializer element is not constant msp3400.c:68: (near initialization for `probe_range[0]') msp3400.c:68: `I2C_CLIENT_END' undeclared here (not in a function) msp3400.c:68: initializer element is not constant msp3400.c:68: (near initialization for `probe_range[1]') msp3400.c:69: `I2C_CLIENT_END' undeclared here (not in a function) msp3400.c:69: initializer element is not constant msp3400.c:69: (near initialization for `ignore[0]') msp3400.c:69: `I2C_CLIENT_END' undeclared here (not in a function) msp3400.c:69: initializer element is not constant msp3400.c:69: (near initialization for `ignore[1]') msp3400.c:70: `I2C_CLIENT_END' undeclared here (not in a function) msp3400.c:70: initializer element is not constant msp3400.c:70: (near initialization for `ignore_range[0]') msp3400.c:70: `I2C_CLIENT_END' undeclared here (not in a function) msp3400.c:70: initializer element is not constant msp3400.c:70: (near initialization for `ignore_range[1]') msp3400.c:71: `I2C_CLIENT_END' undeclared here (not in a function) msp3400.c:71: initializer element is not constant msp3400.c:71: (near initialization for `force[0]') msp3400.c:71: `I2C_CLIENT_END' undeclared here (not in a function) msp3400.c:71: initializer element is not constant msp3400.c:71: (near initialization for `force[1]') msp3400.c:72: variable `addr_data' has initializer but incomplete type msp3400.c:73: warning: excess elements in struct initializer msp3400.c:73: warning: (near initialization for `addr_data') msp3400.c:73: warning: excess elements in struct initializer msp3400.c:73: warning: (near initialization for `addr_data') msp3400.c:74: warning: excess elements in struct initializer msp3400.c:74: warning: (near initialization for `addr_data') msp3400.c:74: warning: excess elements in struct initializer msp3400.c:74: warning: (near initialization for `addr_data') msp3400.c:75: warning: excess elements in struct initializer msp3400.c:75: warning: (near initialization for `addr_data') msp3400.c:75: warning: excess elements in struct initializer msp3400.c:75: warning: (near initialization for `addr_data') msp3400.c:77: warning: excess elements in struct initializer msp3400.c:77: warning: (near initialization for `addr_data') msp3400.c: In function `msp3400c_reset': msp3400.c:139: warning: implicit declaration of function `i2c_master_send' msp3400.c: In function `msp3400c_read': msp3400.c:154: elements of array `msgs' have incomplete type msp3400.c:155: dereferencing pointer to incomplete type msp3400.c:155: warning: excess elements in struct initializer msp3400.c:155: warning: (near initialization for `msgs[0]') msp3400.c:155: warning: excess elements in struct initializer msp3400.c:155: warning: (near initialization for `msgs[0]') msp3400.c:155: warning: excess elements in struct initializer msp3400.c:155: warning: (near initialization for `msgs[0]') msp3400.c:155: warning: excess elements in struct initializer msp3400.c:155: warning: (near initialization for `msgs[0]') msp3400.c:156: dereferencing pointer to incomplete type msp3400.c:156: warning: excess elements in struct initializer msp3400.c:156: warning: (near initialization for `msgs[1]') msp3400.c:156: `I2C_M_RD' undeclared (first use in this function) msp3400.c:156: (Each undeclared identifier is reported only once msp3400.c:156: for each function it appears in.) msp3400.c:156: warning: excess elements in struct initializer msp3400.c:156: warning: (near initialization for `msgs[1]') msp3400.c:156: warning: excess elements in struct initializer msp3400.c:156: warning: (near initialization for `msgs[1]') msp3400.c:156: warning: excess elements in struct initializer msp3400.c:156: warning: (near initialization for `msgs[1]') msp3400.c:154: storage size of `msgs' isn't known msp3400.c:163: warning: implicit declaration of function `i2c_transfer' msp3400.c:163: dereferencing pointer to incomplete type msp3400.c:154: warning: unused variable `msgs' msp3400.c: In function `msp3400c_setmode': msp3400.c:353: dereferencing pointer to incomplete type msp3400.c: In function `msp3400c_setstereo': msp3400.c:409: dereferencing pointer to incomplete type msp3400.c: In function `autodetect_stereo': msp3400.c:545: dereferencing pointer to incomplete type msp3400.c: In function `watch_stereo': msp3400.c:645: dereferencing pointer to incomplete type msp3400.c: In function `msp3400c_thread': msp3400.c:664: dereferencing pointer to incomplete type msp3400.c: In function `msp3410d_thread': msp3400.c:915: dereferencing pointer to incomplete type msp3400.c: At top level: msp3400.c:1093: warning: `struct i2c_adapter' declared inside parameter list msp3400.c:1093: warning: its scope is only this definition or declaration, which is probably not what you want. msp3400.c:1095: warning: `struct i2c_adapter' declared inside parameter list msp3400.c:1101: unknown field `flags' specified in initializer msp3400.c:1101: `I2C_DF_NOTIFY' undeclared here (not in a function) msp3400.c:1101: initializer element is not constant msp3400.c:1101: (near initialization for `driver.addr_l') msp3400.c:1102: unknown field `attach_adapter' specified in initializer msp3400.c:1102: warning: initialization makes integer from pointer without a cas t msp3400.c:1102: initializer element is not computable at load time msp3400.c:1102: (near initialization for `driver.addr_h') msp3400.c:1103: unknown field `detach_client' specified in initializer msp3400.c:1103: warning: initialization from incompatible pointer type msp3400.c:1104: warning: initialization from incompatible pointer type msp3400.c:1107: variable `client_template' has initializer but incomplete type msp3400.c:1109: unknown field `name' specified in initializer msp3400.c:1109: warning: excess elements in struct initializer msp3400.c:1109: warning: (near initialization for `client_template') msp3400.c:1110: unknown field `driver' specified in initializer msp3400.c:1110: warning: excess elements in struct initializer msp3400.c:1110: warning: (near initialization for `client_template') msp3400.c:1114: warning: `struct i2c_adapter' declared inside parameter list msp3400.c:1115: conflicting types for `msp_attach' msp3400.c:1093: previous declaration of `msp_attach' msp3400.c: In function `msp_attach': msp3400.c:1121: invalid use of undefined type `struct i2c_client' msp3400.c:1122: invalid use of undefined type `struct i2c_client' msp3400.c:1129: sizeof applied to an incomplete type msp3400.c:1131: sizeof applied to an incomplete type msp3400.c:1131: sizeof applied to an incomplete type msp3400.c:1131: sizeof applied to an incomplete type msp3400.c:1142: dereferencing pointer to incomplete type msp3400.c:1164: dereferencing pointer to incomplete type msp3400.c:1182: dereferencing pointer to incomplete type msp3400.c:1205: warning: implicit declaration of function `i2c_attach_client' msp3400.c: In function `msp_detach': msp3400.c:1212: dereferencing pointer to incomplete type msp3400.c:1235: warning: implicit declaration of function `i2c_detach_client' msp3400.c: At top level: msp3400.c:1242: warning: `struct i2c_adapter' declared inside parameter list msp3400.c:1243: conflicting types for `msp_probe' msp3400.c:1095: previous declaration of `msp_probe' msp3400.c: In function `msp_probe': msp3400.c:1244: dereferencing pointer to incomplete type msp3400.c:1244: `I2C_ALGO_BIT' undeclared (first use in this function) msp3400.c:1244: `I2C_HW_B_BT848' undeclared (first use in this function) msp3400.c:1245: warning: implicit declaration of function `i2c_probe' msp3400.c: In function `msp_command': msp3400.c:1251: dereferencing pointer to incomplete type msp3400.c: In function `msp3400_init_module': msp3400.c:1427: warning: implicit declaration of function `i2c_add_driver' msp3400.c: In function `msp3400_cleanup_module': msp3400.c:1433: warning: implicit declaration of function `i2c_del_driver' make[3]: *** [msp3400.o] Error 1 make[3]: Leaving directory `/usr/local/src/bttv-0.7.44/driver' make[2]: *** [_mod_/usr/local/src/bttv-0.7.44/driver] Error 2 make[2]: Leaving directory `/usr/src/linux-2.2.15' make[1]: *** [here] Error 2 make[1]: Leaving directory `/usr/local/src/bttv-0.7.44/driver' make: *** [bttv] Error 2 [root@julian bttv-0.7.44]# -- __o _ \<_ (_)/(_) Saludos de Julián Telecommunication Engineer -.- Linux hamradio database: http://linux.radio.org.au Linux portail: http://www.linuxstart.com