Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 67063 - DirectFB 0.9.20-r1 don't build on kernel 2.4
Summary: DirectFB 0.9.20-r1 don't build on kernel 2.4
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: High major (vote)
Assignee: Gentoo Games
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2004-10-11 02:38 UTC by Christophe Garault
Modified: 2004-10-14 02:33 UTC (History)
0 users

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Christophe Garault 2004-10-11 02:38:40 UTC
Emerging DirectFB fails with message:

matrox_maven.c:34:27: linux/i2c-dev.h: No such file or directory
matrox_maven.c: In function `maven_write_byte':
matrox_maven.c:68: error: implicit declaration of function `i2c_smbus_write_byte_data'
matrox_maven.c: In function `maven_write_word':
matrox_maven.c:85: error: implicit declaration of function `i2c_smbus_write_word_data'
matrox_maven.c: In function `maven_open':
matrox_maven.c:316: error: `I2C_SLAVE' undeclared (first use in this function)
matrox_maven.c:316: error: (Each undeclared identifier is reported only once
matrox_maven.c:316: error: for each function it appears in.)
matrox_maven.c: In function `maven_init':
matrox_maven.c:455: error: `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-r1/work/DirectFB-0.9.20/gfxdrivers/matrox'
make[2]: *** [all-recursive] Erreur 1
make[2]: Leaving directory `/var/tmp/portage/DirectFB-0.9.20-r1/work/DirectFB-0.9.20/gfxdrivers'
make[1]: *** [all-recursive] Erreur 1
make[1]: Leaving directory `/var/tmp/portage/DirectFB-0.9.20-r1/work/DirectFB-0.9.20'
make: *** [all-recursive-am] Erreur 2

!!! ERROR: dev-libs/DirectFB-0.9.20-r1 failed.
!!! Function src_compile, Line 99, Exitcode 2
!!! (no error message)

Reproducible: Always
Steps to Reproduce:
1. Have a 2.4 kernel
2. emerge DirectFB
3. see error message

Actual Results:  
Here is the content of matrox_maven.c

#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,0)
#include <linux/i2c-dev.h>
#else
#include <linux/i2c.h>
#endif

So it seems that the include statement fails since the build looks for file
i2c-dev.h instead of i2c.h as I have a 2.4.27 kernel


Expected Results:  
Include i2c.h 

marge linux # emerge info
Portage 2.0.50-r11 (default-x86-2004.2, gcc-3.3.4, glibc-2.3.3.20040420-r2, 2.4.27)
=================================================================
System uname: 2.4.27 i686 AMD Duron(tm)
Gentoo Base System version 1.4.16
ccache version 2.3 [enabled]
Autoconf: sys-devel/autoconf-2.59-r4
Automake: sys-devel/automake-1.8.5-r1
ACCEPT_KEYWORDS="x86"
AUTOCLEAN="yes"
CFLAGS="-march=athlon-xp -O2 -pipe -funroll-loops -fomit-frame-pointer"
CHOST="i686-pc-linux-gnu"
COMPILER=""
CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3/share/config
/usr/share/config /usr/share/texmf/dvipdfm/config/
/usr/share/texmf/dvips/config/ /usr/share/texmf/tex/generic/config/
/usr/share/texmf/tex/platex/config/ /usr/share/texmf
/xdvi/ /var/qmail/control"
CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d"
CXXFLAGS="-march=athlon-xp -O2 -pipe -funroll-loops -fomit-frame-pointer"
DISTDIR="/usr/portage/distfiles"
FEATURES="autoaddcvs ccache sandbox"
GENTOO_MIRRORS="http://gentoo.mirror.sdv.fr ftp://mir.zyrianes.net/gentoo/
ftp://ftp.easynet.nl/mirror/gentoo/ ftp://ftp
.gentoo.skynet.be/pub/gentoo/ ftp://ftp.solnet.ch/mirror/Gentoo/"
MAKEOPTS="-j2"
PKGDIR="/usr/portage/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY=""
SYNC="rsync://rsync.fr.gentoo.org/gentoo-portage"
USE="3dfx 3dnow aalib acl adns aim apache2 audiofile avi berkdb bindist
bitmap-fonts bonobo caps crypt cscope cups curl
directfb divx4linux doc encode ethereal f77 fastcgi fbcon fdftk flac flash
foomaticdb freetds gd gdbm ggi gif gpm gstrea
mer gtk2 guile icq imagemagick imap imlib innodb jabber jikes jpeg junit
kerberos krb4 lcms ldap lesstif libg++ libgda l
ibwww mad maildir mbox mcal md5sum mikmod mmx motif mozilla mpeg mpi msn mysql
ncurses nls nocd oci8 odbc oggvorbis open
gl oscar pam pdflib perl png postgres ppds prelude python quicktime readline
ruby samba sasl sdl slang slp snmp socks5 s
peex spell sqlite sse ssl svga tcpd tetex theora tiff truetype unicode usb
vhosts wmf x86 xface xml2 xprint xv xvid yaho
o zeo zlib"
Comment 1 Christophe Garault 2004-10-11 03:47:26 UTC
As I'm not confident enough with the emerge process, I've not been able to actualy see where and how the LINUX_VERSION_CODE is defined. Using the commande below has been of no help. If you could tell me where to look at for the next time, I'll try to give a patch for this kind of bugs. Tia.

find . -type f -exec grep LINUX_VERSION_CODE {} \; -print

Comment 2 Christophe Garault 2004-10-13 08:08:27 UTC
As my use of DirectFB is to create a very small Gentoo based distro (for Business cards CD) I'm a bit suprised to end up in a game area. :)
I would love to solve that problem by myself if only somebody could point me to a where to begin direction...
Comment 3 Chris Gianelloni (RETIRED) gentoo-dev 2004-10-13 09:39:04 UTC
Well, the games team are the maintainers for DirectFB.  In fact, SpanKY is the resident expert, so hopefully he'll pipe up shortly.
Comment 4 Christophe Garault 2004-10-14 02:33:22 UTC
Ok Guys, sorry for all that noise. I still don't understand how this happened, but  after emerging again the linux-headers the build now works fine. I saw that the LINUX_VERSION_CODE and KERNEL_VERSION were actually macros defined in linux/version.h and that's the reason why I decided to emerge the headers again.
What I still don't understand is how these macros works, and why they failed before. But that's another story and I don't want to bother you with my slowly increasing knowledge. Sorry again.