Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 110160

Summary: gamin-0.1.6 doesn't recognize inotify in self-rolled kernel
Product: Gentoo Linux Reporter: Jim Faulkner <dogshu>
Component: [OLD] GNOMEAssignee: Gentoo Linux Gnome Desktop Team <gnome>
Status: RESOLVED INVALID    
Severity: normal    
Priority: High    
Version: unspecified   
Hardware: All   
OS: Linux   
Whiteboard:
Package list:
Runtime testing required: ---

Description Jim Faulkner 2005-10-22 10:46:31 UTC
I have a laptop running linux 2.6.13.3, which I downloaded and built myself
without using portage.  In /etc/portage/profile/package.provided I have this:
sys-kernel/gentoo-sources-2.6.13-r4

I have built the kernel with inotify support:
lucy ~ # grep INOTIFY /usr/src/linux/.config
CONFIG_INOTIFY=y
lucy ~ # ls -al /usr/src/linux/include/linux/inotify.h
-rw-r--r--  1 root root 3461 Oct  3 19:27
/usr/src/linux/include/linux/inotify.hlucy ~ #

However gamin-0.1.6 does not recognize that I have inotify support:
lucy ~ # emerge gamin
Calculating dependencies ...done!
>>> emerge (1 of 1) app-admin/gamin-0.1.6 to /
>>> md5 files   ;-) gamin-0.1.5.ebuild
...
checking TEST_LIBS... -lglib-2.0
checking linux/inotify.h usability... no
checking linux/inotify.h presence... no
checking for linux/inotify.h... no
checking for kevent... no
...

Presumably gamin is looking in the wrong place for the kernel headers, so I
figured I'd just emerge linux-headers-2.6.13.  However, the latest linux-headers
ebuild is version 2.6.11-r2.

I haven't tried it, but it seems to me that even if I had gentoo-sources-2.6.13
emerged, inotify would still be disabled because gamin would see the old kernel
headers from linux-kernel rather than the headers included in gentoo-sources. 
Therefore this message in the gamin ebuild is incorrect:
 * It is strongly suggested you use Gamin with an inotify enabled
 * kernel for best performance. For this release of gamin you need
 * at least gentoo-sources-2.6.13 or later.
since you actually need linux-headers-2.6.13 or later.


Reproducible: Always
Steps to Reproduce:
1.
2.
3.




Portage 2.0.51.22-r3 (default-linux/x86/2005.0, gcc-3.3.6, glibc-2.3.5-r2,
2.6.13.3 i686)
=================================================================
System uname: 2.6.13.3 i686 Pentium III (Coppermine)
Gentoo Base System version 1.6.13
dev-lang/python:     2.4.2
sys-apps/sandbox:    1.2.12
sys-devel/autoconf:  2.13, 2.59-r6
sys-devel/automake:  1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r1
sys-devel/binutils:  2.15.92.0.2-r10
sys-devel/libtool:   1.5.20
virtual/os-headers:  2.6.11-r2
ACCEPT_KEYWORDS="x86"
AUTOCLEAN="yes"
CBUILD="i686-pc-linux-gnu"
CFLAGS="-march=pentium3 -O2 -ffast-math -fomit-frame-pointer -s -mfpmath=sse -pipe"
CHOST="i686-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3/share/config
/usr/lib/X11/xkb /usr/share/config /var/qmail/control"
CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d"
CXXFLAGS="-march=pentium3 -O2 -ffast-math -fomit-frame-pointer -s -mfpmath=sse
-pipe"
DISTDIR="/usr/portage/distfiles"
FEATURES="autoconfig distlocks nodoc noinfo sandbox sfperms strict"
GENTOO_MIRRORS="http://distfiles.gentoo.org
http://distro.ibiblio.org/pub/Linux/distributions/gentoo"
LDFLAGS="-Wl,-O1 -Wl,--enable-new-dtags -Wl,--sort-common -s"
PKGDIR="/usr/portage/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/local/portage-overlay"
SYNC="rsync://jove.eng.yale.edu/gentoo-portage"
USE="x86 X a52 acpi alsa apm arts avi bash-completion berkdb bitmap-fonts bzip2
cdparanoia crypt cups curl dio dvd eds emboss encode esd fam flac foomaticdb
fortran gdbm gif gnome gpm gstreamer gtk gtk2 imagemagick imlib ipv6 java jpeg
kde libg++ libwww mad mikmod motif mp3 mpeg ncurses nls ogg oggvorbis opengl oss
pam pdflib perl png python qt quicktime readline sdl spell ssl svga tcpd tiff
truetype truetype-fonts type1-fonts udev vorbis xine xml2 xmms xv zlib
userland_GNU kernel_linux elibc_glibc"
Unset:  ASFLAGS, CTARGET, LANG, LC_ALL, LINGUAS, MAKEOPTS
Comment 1 Joe McCann (RETIRED) gentoo-dev 2005-10-22 11:27:11 UTC
This doesn't mean gamin with inotify support doesn't work. If gamin can't find
the inotify.h provided by the kernel(or headers pkg in this case) it will fall
back to using local_inotify.h(That will still require and use inotify in your
running kernel). The message at the end is displayed to anybody that is running
a linux kernel just as a reminder that you should be using 2.6.13 or later for
the best inotify support.
Comment 2 Daniel Gryniewicz (RETIRED) gentoo-dev 2005-10-22 11:33:35 UTC
That header isn't necessary.  I can build gamin here (outside of portage)
without that file in /usr/include, and configure returns no for those checks,
but it still builds the inotify backend.  Looking through the configure, it
looks like inotify is always enabled, unless you explicitly disable it.

backends:                 polling, inotify, dnotify

The message from the ebuild is always printed, and has nothing to do with any
detected value for inotify.