When I try to emerge ffmpeg, DirectFB's emerge failed I am having a lot of errors related to matrox card. See below Reproducible: Always Steps to Reproduce: 1. emerge ffmpeg 2. 3. Actual Results: Here is the last relevant lines from emerge's output : gcc -DHAVE_CONFIG_H -I. -I. -I../.. -I../../include -I../../src -I/usr/include/libmpeg3 -D_REENTRANT -Wall -O3 -ffast-math -pipe -O3 -march=pentium4 -fomit-frame-pointer -ffast-math -fforce-addr -falign-functions=4 -fprefetch-loop-arrays -funroll-loops -pipe -fforce-mem -DFUSION_FAKE -Werror-implicit-function-declaration -c matrox_maven.c -fPIC -DPIC -o matrox_maven.lo In file included from matrox_maven.c:32: /usr/include/linux/i2c-dev.h:37: field `__user' has incomplete type /usr/include/linux/i2c-dev.h:37: parse error before '*' token /usr/include/linux/i2c-dev.h:42: field `__user' has incomplete type /usr/include/linux/i2c-dev.h:42: parse error before '*' token /usr/include/linux/i2c-dev.h:44: parse error before '}' token matrox_maven.c: In function `maven_write_byte': matrox_maven.c:63: implicit declaration of function `i2c_smbus_write_byte_data' matrox_maven.c: In function `maven_write_word': matrox_maven.c:80: implicit declaration of function `i2c_smbus_write_word_data' matrox_maven.c: In function `maven_open': matrox_maven.c:311: `I2C_SLAVE' undeclared (first use in this function) matrox_maven.c:311: (Each undeclared identifier is reported only once matrox_maven.c:311: for each function it appears in.) matrox_maven.c: In function `maven_init': matrox_maven.c:450: `I2C_SLAVE' undeclared (first use in this function) make[3]: *** [matrox_maven.lo] Erreur 1 make[3]: Leaving directory `/var/tmp/portage/DirectFB-0.9.19-r1/work/DirectFB-0.9.19/gfxdrivers/matrox' make[2]: *** [all-recursive] Erreur 1 make[2]: Leaving directory `/var/tmp/portage/DirectFB-0.9.19-r1/work/DirectFB-0.9.19/gfxdrivers' make[1]: *** [all-recursive] Erreur 1 make[1]: Leaving directory `/var/tmp/portage/DirectFB-0.9.19-r1/work/DirectFB-0.9.19' make: *** [all-recursive-am] Erreur 2 !!! ERROR: dev-libs/DirectFB-0.9.19-r1 failed. !!! Function src_compile, Line 57, Exitcode 2 !!! (no error message) Expected Results: Emerging correctly DirectFB and proceed with other dependencies until ffmpeg is correctly emerged. Running 2.6.1-gentoo Gentoo has been installed fron stage1 with 2.6 kernel-headers Nvidia vendor Drivers version is media-video/nvidia-kernel-1.0.4496-r3 X version is xfree-4.3.0-r3
Try 0.9.20 version of DirectFB since it contains som 2.6 fixes. By the way don't write that program x do not compile under kernel y because a optional dependancy is broken.
Tryint to emerge DirectFB 0.9.20 does not work at all. Actually my initial report's title was "DirectFB failed to compile with 2.6" someone else changed it into "ffmpeg failed to compile with 2.6" HEre is the output of the command ebuild DirectFB-0.9.20.ebuild merge : gcc -DHAVE_CONFIG_H -I. -I. -I../.. -I../../include -I../../src -I/usr/include/libmpeg3 -D_REENTRANT -Wall -O3 -ffast-math -pipe -O3 -march=pentium4 -fomit-frame-pointer -ffast-math -fforce-addr -falign-functions=4 -fprefetch-loop-arrays -funroll-loops -pipe -fforce-mem -DFUSION_FAKE -Werror-implicit-function-declaration -c matrox_maven.c -fPIC -DPIC -o .libs/matrox_maven.o In file included from matrox_maven.c:32: /usr/include/linux/i2c-dev.h:37: field `__user' has incomplete type /usr/include/linux/i2c-dev.h:37: parse error before '*' token /usr/include/linux/i2c-dev.h:42: field `__user' has incomplete type /usr/include/linux/i2c-dev.h:42: parse error before '*' token /usr/include/linux/i2c-dev.h:44: parse error before '}' token matrox_maven.c: In function `maven_write_byte': matrox_maven.c:63: implicit declaration of function `i2c_smbus_write_byte_data' matrox_maven.c: In function `maven_write_word': matrox_maven.c:80: implicit declaration of function `i2c_smbus_write_word_data' matrox_maven.c: In function `maven_open': matrox_maven.c:311: `I2C_SLAVE' undeclared (first use in this function) matrox_maven.c:311: (Each undeclared identifier is reported only once matrox_maven.c:311: for each function it appears in.) matrox_maven.c: In function `maven_init': matrox_maven.c:450: `I2C_SLAVE' undeclared (first use in this function) make[3]: *** [matrox_maven.lo] Erreur 1 make[3]: Leaving directory `/var/tmp/portage/DirectFB-0.9.20/work/DirectFB-0.9.20/gfxdrivers/matrox' make[2]: *** [all-recursive] Erreur 1 make[2]: Leaving directory `/var/tmp/portage/DirectFB-0.9.20/work/DirectFB-0.9.20/gfxdrivers' make[1]: *** [all-recursive] Erreur 1 make[1]: Leaving directory `/var/tmp/portage/DirectFB-0.9.20/work/DirectFB-0.9.20' make: *** [all-recursive-am] Erreur 2 !!! ERROR: dev-libs/DirectFB-0.9.20 failed. !!! Function src_compile, Line 66, Exitcode 2 !!! (no error message) BUT when I emerge DirectFB with VIDEO_CARDS=nvidia which is my video card 0.9.20 emerged successfully
hmm i guess the reason i never saw this is because i only build the nvidia driver ;)
plasmaroo: the bug here is that i2c.h needs a little __KERNEL__ loving i'll attach a patch for it
Created attachment 25137 [details, diff] linux-i2c.h.patch it's pretty raw ... you might want to give it a look over ... but it does allow many i2c functions to be used from user space
Fixed in linux-headers-2.6.1. Thanks Mike.
*** Bug 41148 has been marked as a duplicate of this bug. ***
*** Bug 44009 has been marked as a duplicate of this bug. ***
*** Bug 44527 has been marked as a duplicate of this bug. ***