Opened 18 years ago

Closed 18 years ago

#1782 closed task (fixed)

upgrading linux headers from linux-libc-headers-2.6.12.0 to 2.6.16.11 to support inotify

Reported by: Eloi Primaux Owned by: lfs-book@…
Priority: normal Milestone: Future
Component: Book Version: SVN
Severity: normal Keywords: inotify kernel-2.6.16.11 headers
Cc:

Description

I've built the SVN-20060420 and also installed in a 3/4 working gnome-2.14 (due to xorg7), but i had to (badly) update the kernel headers to include inotify.h. Then, is there a plan to update the Linux-Libc-Headers to a 2.6.14 or 2.6.16 (which include inotify) ? But i know that it would break big part of the 6.2 release process

dependencies of inotify.h from a 2.6.16.5

<linux/types.h> big modifications

<linux/config.h> some changes, things go now in autoconf.h

<linux/autoconf.h> big modifications due to config.h changes

<linux/posix_types.h> no changes <asm/types.h> big modifications (there is an important update for amd in asm)

<linux/dcache.h> absent from 2.6.12.0 !!

<asm/atomic.h> some changes

<linux/config.h> ... <linux/compiler.h>

<linux/compiler-gcc4.h> <linux/compiler-gcc3.h> <linux/compiler-intel.h>

<asm/processor.h> <asm-generic/atomic.h>

<linux/list.h> <linux/spinlock.h> <linux/cache.h> <linux/rcupdate.h>

<linux/fs.h>

<linux/config.h> <linux/limits.h> <linux/ioctl.h> <linux/linkage.h> <linux/wait.h> <linux/types.h> <linux/kdev_t.h> <linux/dcache.h> <linux/stat.h> <linux/cache.h> <linux/kobject.h> <linux/list.h> <linux/radix-tree.h> <linux/prio_tree.h> <linux/init.h> <linux/sched.h> <linux/mutex.h> <asm/atomic.h> <asm/semaphore.h> <asm/byteorder.h> <linux/quota.h> <linux/seqlock.h> <linux/nfs_fs_i.h> <linux/fcntl.h> <linux/err.h>

... blabla will be hard to track

i'll build another SVN but with including headers from 2.6.16 to see what going on.

Change History (9)

comment:1 by Eloi Primaux, 18 years ago

Well, i used the headers of the 2.6.16.11 kernel also i followed the old method (book 5.0) to install it

all glibc test were succeeded all gcc test were also succeeded

because autoconf.h in 2.6.12.0 include an empty file i just did a 'touch include/autoconf.h' (as in 5.0) Also i ran 'make include/linux/config.h' in kernel source before making the tarball

But sysklog build failed:

In file included from /usr/include/asm/atomic.h:6, from module.h:31, from ksym_mod.c:97: /usr/include/asm/processor.h:73: error: 'CONFIG_X86_L1_CACHE_SHIFT' undeclared here (not in a function) /usr/include/asm/processor.h:73: error: requested alignment is not a constant make: * [ksym_mod.o] Error 1

i'm on...

comment:2 by Eloi Primaux, 18 years ago

things are ok now : before installing headers, i had to do the following things:

in kernel tree make oldconfig (to use my .config file)

make all just the time to generate the necessary files and because make dep do nothing in 2.6 kernel

rm -f include/linux/autoconf.h

touch include/linux/autoconf.h (to not depend of a specific conf)

and then copy headers to the tool and sys.

comment:3 by Eloi Primaux, 18 years ago

the header-2.6.16.11 tarball is available at : http://www.bliscat.org/linux/lfs/header-2.6.16.11.tar.bz2 the SVN-20060423 system built with it is available for tests here : (in ~30min) http://www.bliscat.org/linux/lfs/lfs-20060423-2.6.16.11.tar.bz2 (not configured)

comment:4 by Eloi Primaux, 18 years ago

Keywords: inotify kernel-2.6.16.11 headers added
Summary: inotify is'nt supported by Linux-Libc-Headers-2.6.12.0upgrading linux headers from linux-libc-headers-2.6.12.0 to 2.6.16.11 to support inotify

comment:5 by jim@…, 18 years ago

eloi, The Cross-LFS team has come up with a project to take care of the headers. http://headers.cross-lfs.org.

comment:6 by archaic@…, 18 years ago

Milestone: 6.2Future
Type: enhancementtask

It is too late in the release cycle to start using a whole new set of headers. However, once the testing branch is created, trunk will look at available options starting with Jim's sanitizing scripts.

comment:7 by dbn.lists@…, 18 years ago

This is a bit off-topic since the OP asked for full support of 2.6.16 headers. However, using the patch here (http://www.linuxfromscratch.org/~dnicholson/downloads/linux-libc-headers-2.6.12.0-inotify-1.patch) for linux-libc-headers and rebuilding glibc has given me inotify support. I built gnome-vfs with inotify support, but also fetched the inotify-tools package that Jim mentioned:

http://rohanpm.net/files/inotify-tools-1.5.tar.gz

It works as shown below when I access a file I'm watching. This is definitely a workable stopgap until we adopt full blown header sanitization system like Jim's headers project.

[08:31 PM dan@silky] ./inotifywait /home/dan/python/if.py OPEN

comment:8 by Matthew Burgess, 18 years ago

I think #1845 was a duplicate of this and is now marked as fixed. If so, could someone close this one off too? If not, if someone could clarify what additional fixes need to go in the book, that'd be great.

comment:9 by dnicholson@…, 18 years ago

Resolution: fixed
Status: newclosed

Right. This specific case of inotify has been addressed. A new bug (if it's not open yet) will have to be opened for the future case where we generate our own headers. Then the fun and flames will begin. :-)

Note: See TracTickets for help on using tickets.