Duncan Webb wrote: > Ville Syrjälä wrote: >> On Thu, Dec 14, 2006 at 09:34:35PM +0100, Duncan Webb wrote: >>> Ville Syrjälä wrote: >>>> On Tue, Dec 12, 2006 at 10:56:45PM +0100, Duncan Webb wrote: >>>>> Problem compiling DirectFB-1.0.0-rc2, must be a header problem. I tried >>>>> upping the kernel headers to 2.6.18.5 but this caused too many problems >>>>> so I brought them back down to 2.6.12.0. >>>>> >>>>> The top of the output is: >>>>> >>>>> make[3]: Entering directory >>>>> `/sources/ffs/DirectFB-1.0.0-rc2/gfxdrivers/matrox' >>>>> /bin/sh ../../libtool --mode=compile gcc -DHAVE_CONFIG_H -I. -I. -I../.. >>>>> -I../../include -I../../lib -I../../lib >>>>> -I../../src -I../../systems -D_REENTRANT -O3 -ffast-math >>>>> -pipe -O3 -march=pentium3 -mtune=pentium3 -fPIC -pipe -D_GNU_SOURCE >>>>> -Werror-implicit-function-declaration -c matrox_maven.c >>>>> gcc -DHAVE_CONFIG_H -I. -I. -I../.. -I../../include -I../../lib >>>>> -I../../lib -I../../src -I../../systems -D_REENTRANT -O3 -ffast-math >>>>> -pipe -O3 -march=pentium3 -mtune=pentium3 -fPIC -pipe -D_GNU_SOURCE >>>>> -Werror-implicit-function-declaration -c matrox_maven.c -fPIC -DPIC -o >>>>> .libs/matrox_maven.o >>>>> In file included from matrox_maven.c:37: >>>>> /usr/include/linux/sysfs.h:70: error: field `s_sibling' has incomplete >>>>> type >>>> You kernel headers are broken (linux/i2c.h at least). linux/sysfs.h >>>> should not be included in user space code. >>>> >>> Just diff'ed various headers they are the same as in the >>> linux-libc-headers-2.6.12.0.tar.bz2 sources. Anyway DirectFB-0.9.25.1 >>> still compiles correctly. >> That's because it has a private non-broken copy of i2c.h. >> >>> in 0.9.25.1: >>> #ifdef USE_SYSFS >>> #include <sysfs/libsysfs.h> >>> #endif >>> >>> in 1.0.0-rc2 >>> #ifdef USE_SYSFS >>> #include <linux/sysfs.h> >>> #include <sysfs/libsysfs.h> >>> #endif >> In matrox_maven.c? Not in any official version. Are you sure you didn't >> add that yourself? > > Oh yes your quite correct I did, now I remember, I messed with the > headers a bit, because I was getting this failure. > > /bin/sh ../../libtool --mode=compile gcc -DHAVE_CONFIG_H -I. -I. -I../.. > -I../../include -I../../lib -I../../lib > -I../../src -I../../systems -D_REENTRANT -O3 -ffast-math > -pipe -O3 -march=pentium3 -mtune=pentium3 -fPIC -pipe -D_GNU_SOURCE > -Werror-implicit-function-declaration -c matrox_maven.c > gcc -DHAVE_CONFIG_H -I. -I. -I../.. -I../../include -I../../lib > -I../../lib -I../../src -I../../systems -D_REENTRANT -O3 -ffast-math > -pipe -O3 -march=pentium3 -mtune=pentium3 -fPIC -pipe -D_GNU_SOURCE > -Werror-implicit-function-declaration -c matrox_maven.c -fPIC -DPIC -o > .libs/matrox_maven.o > In file included from /usr/include/linux/sched.h:16, > from /usr/include/linux/module.h:9, > from /usr/include/linux/i2c.h:30, > from matrox_maven.c:40: > /usr/include/linux/signal.h:2:2: warning: #warning "You should include > <signal.h>. This time I will do it for you." > In file included from /usr/include/linux/sched.h:79, > from /usr/include/linux/module.h:9, > from /usr/include/linux/i2c.h:30, > from matrox_maven.c:40: > /usr/include/linux/resource.h:2:2: warning: #warning "You should include > <sys/resource.h>. This time I will do it for you." > In file included from /usr/include/linux/i2c.h:30, > from matrox_maven.c:40: > /usr/include/linux/module.h:41: error: field `attr' has incomplete type > /usr/include/linux/module.h:49: error: field `kobj' has incomplete type > In file included from /usr/include/linux/i2c.h:33, > from matrox_maven.c:40: > > > from /usr/include/linux/sched.h, /usr/include/linux/module.h and > /usr/include/linux/i2c.h are the same as distributed.
FYI, I'm using sysfsutils-2.1.0 and the include file diffs between 0.9.25.1 and 1.0.0rc2 are: #include <sys/stat.h> #include <fcntl.h> #include <sys/ioctl.h> +#include <errno.h> #ifdef USE_SYSFS #include <sysfs/libsysfs.h> #endif -#include "i2c-dev.h" +#include <linux/i2c.h> +#include <linux/i2c-dev.h> + +#include <directfb.h> #include <direct/memcpy.h> #include <direct/messages.h> #include <direct/util.h> #include <misc/conf.h> -#include <misc/util.h> #include "matrox.h" #include "regs.h" #include "mmio.h" So this looks like a problem with i2c includes. Slightly off topic but related to matrox_maven, is that occasionally, when starting freevo (freevo->pygame->SDL->directfb->matroxfb), the tv image from the second head has a slight interference problem showing diagonal interference lines. There is no pattern for this behaviour, most of the time (80%-90%) it is fine perfectly clear picture and then several failures, with different levels of interference. It's still possible to read the screen but just looks bad. Hope this helps. Duncan _______________________________________________ directfb-users mailing list [email protected] http://mail.directfb.org/cgi-bin/mailman/listinfo/directfb-users
