I guess the character driver in-kernel API has changed.
aoz@xpc ~/src/ulla-aoz/ulla $ ./configure --with-k-release=2.6.20-gentoo-r8 --enable-pretty-cmds checking build system type... i686-pc-linux-gnu checking host system type... i686-pc-linux-gnu checking target system type... i686-pc-linux-gnu checking for a BSD-compatible install... /usr/bin/install -c checking whether build environment is sane... yes checking for a thread-safe mkdir -p... /usr/bin/mkdir -p checking for gawk... gawk checking whether make sets $(MAKE)... yes checking for style of include used by make... GNU checking for gcc... gcc checking for C compiler default output file name... a.out checking whether the C compiler works... yes checking whether we are cross compiling... no checking for suffix of executables...
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes checking whether gcc accepts -g... yes checking for gcc option to accept ISO C89... none needed checking dependency style of gcc... gcc3 checking for flex... flex checking lex output file root... lex.yy checking lex library... -lfl checking whether yytext is a pointer... yes checking for bison... bison -y checking whether ln -s works... yes checking for a BSD-compatible install... /usr/bin/install -c checking for a sed that does not truncate output... /bin/sed checking for grep that handles long lines and -e... /bin/grep checking for egrep... /bin/grep -E checking for ld used by gcc... /usr/i686-pc-linux-gnu/bin/ld checking if the linker (/usr/i686-pc-linux-gnu/bin/ld) is GNU ld... yes checking for /usr/i686-pc-linux-gnu/bin/ld option to reload object files... -r checking for BSD-compatible nm... /usr/bin/nm -B checking how to recognise dependent libraries... pass_all checking how to run the C preprocessor... gcc -E checking for ANSI C header files... yes checking for sys/types.h... yes checking for sys/stat.h... yes checking for stdlib.h... yes checking for string.h... yes checking for memory.h... yes checking for strings.h... yes checking for inttypes.h... yes checking for stdint.h... yes checking for unistd.h... yes checking dlfcn.h usability... yes checking dlfcn.h presence... yes checking for dlfcn.h... yes checking for g++... g++ checking whether we are using the GNU C++ compiler... yes checking whether g++ accepts -g... yes checking dependency style of g++... gcc3 checking how to run the C++ preprocessor... g++ -E checking for g77... no checking for xlf... no checking for f77... no checking for frt... no checking for pgf77... no checking for cf77... no checking for fort77... no checking for fl32... no checking for af77... no checking for xlf90... no checking for f90... no checking for pgf90... no checking for pghpf... no checking for epcf90... no checking for gfortran... gfortran checking whether we are using the GNU Fortran 77 compiler... yes checking whether gfortran accepts -g... yes checking the maximum length of command line arguments... 32768 checking command to parse /usr/bin/nm -B output from gcc object... ok checking for objdir... .libs checking for ar... ar checking for ranlib... ranlib checking for strip... strip checking for correct ltmain.sh version... yes checking if gcc supports -fno-rtti -fno-exceptions... no checking for gcc option to produce PIC... -fPIC checking if gcc PIC flag -fPIC works... yes checking if gcc static flag -static works... yes checking if gcc supports -c -o file.o... yes checking whether the gcc linker (/usr/i686-pc-linux-gnu/bin/ld) supports shared libraries... yes checking whether -lc should be explicitly linked in... no checking dynamic linker characteristics... GNU/Linux ld.so checking how to hardcode library paths into programs... immediate checking whether stripping libraries is possible... yes checking if libtool supports shared libraries... yes checking whether to build shared libraries... yes checking whether to build static libraries... yes
configure: creating libtool
appending configuration tag "CXX" to libtool
checking for ld used by g++... /usr/i686-pc-linux-gnu/bin/ld checking if the linker (/usr/i686-pc-linux-gnu/bin/ld) is GNU ld... yes checking whether the g++ linker (/usr/i686-pc-linux-gnu/bin/ld) supports shared libraries... yes checking for g++ option to produce PIC... -fPIC checking if g++ PIC flag -fPIC works... yes checking if g++ static flag -static works... yes checking if g++ supports -c -o file.o... yes checking whether the g++ linker (/usr/i686-pc-linux-gnu/bin/ld) supports shared libraries... yes checking dynamic linker characteristics... GNU/Linux ld.so checking how to hardcode library paths into programs... immediate appending configuration tag "F77" to libtool checking if libtool supports shared libraries... yes checking whether to build shared libraries... yes checking whether to build static libraries... yes checking for gfortran option to produce PIC... -fPIC checking if gfortran PIC flag -fPIC works... yes checking if gfortran static flag -static works... yes checking if gfortran supports -c -o file.o... yes checking whether the gfortran linker (/usr/i686-pc-linux-gnu/bin/ld) supports shared libraries... yes checking dynamic linker characteristics... GNU/Linux ld.so checking how to hardcode library paths into programs... immediate checking for dist build lsb release file... no checking for dist build release file... no checking for dist build issue file... /etc/issue checking for dist build flavor...
checking for dist build vendor... pc
checking for dist build release...
checking for dist build distrib... Linux
checking for dist build codename...
checking for dist build cpu... i686
checking for dist host lsb release file... no
checking for dist host release file... no
checking for dist host issue file... /etc/issue
checking for dist host flavor...
checking for dist host vendor... pc
checking for dist host release...
checking for dist host distrib... Linux
checking for dist host codename...
checking for dist host cpu... i686
checking build system type... i686-pc-linux-gnu
checking host system type... i686-pc-linux-gnu
checking target system type... i686-pc-linux-gnu
checking for 32bit libs... no
checking for kernel release... 2.6.20-gentoo-r8
checking for kernel major release number... 2
checking for kernel minor release number... 6
checking for kernel patch release number... 20
checking for kernel extra release number... gentoo-r8
checking for kernel module/object linkage... loadable
checking for depmod... /sbin/depmod
checking for modprobe... /sbin/modprobe
checking for lsmod... /bin/lsmod
checking for lsof... no
checking for kernel modules directory... /lib/modules/2.6.20-gentoo-r8 checking for kernel module compression... no checking for kernel machine... i686 checking for kernel Linux boot... no checking for kernel build directory... searching... checking for kernel build directory... /lib/modules/2.6.20-gentoo-r8/build... yes checking for kernel build directory... /lib/modules/2.6.20-gentoo-r8/build
checking for kernel source directory... searching...
checking for kernel source directory... /lib/modules/2.6.20-gentoo-r8/build... yes checking for kernel source directory... /lib/modules/2.6.20-gentoo-r8/build
checking for kernel system map... searching...
checking for kernel system map... /lib/modules/2.6.20-gentoo-r8/build/System.map-2.6.20-gentoo-r8... no checking for kernel system map... /lib/modules/2.6.20-gentoo-r8/build/System.map... yes
configure: WARNING:
***
*** Configuration information is being read from an unreliable source:
***
*** "/lib/modules/2.6.20-gentoo-r8/build/System.map"
***
*** This may cause problems later if you have mismatches between the
*** target kernel and the kernel symbols contained in that file.
***
checking for kernel system map... /lib/modules/2.6.20-gentoo-r8/build/System.map
checking for kernel /proc/ksyms... no
checking for kernel /proc/kallsyms... no
checking for kernel minor device number bits... 20
checking for kernel arch directory... /lib/modules/2.6.20-gentoo-r8/build/arch
checking for kernel config file... searching...
checking for kernel config file... /usr/src/linux-2.6.20-gentoo-r8/.config... yes
configure: WARNING:
***
*** Configuration information is being read from an unreliable source:
***
*** "/usr/src/linux-2.6.20-gentoo-r8/.config"
***
*** This may cause problems later if you have mismatches between the
*** target kernel and the configuration information contained in that
*** file.
***
checking for kernel config file... /usr/src/linux-2.6.20-gentoo-r8/.config
checking for kernel package release... unknown
checking for kernel file sanity... ok
checking for kernel config CONFIG_SMP... no
checking for kernel config CONFIG_PREEMPT... no
checking for kernel config CONFIG_REGPARM... yes
checking for kernel config CONFIG_MODVERSIONS... no
checking for kernel module symbol versioning... no
checking for kernel module ver... searching...
checking for kernel module ver... /usr/src/kernels/2.6.20-gentoo-r8-i686/Module.symvers... no checking for kernel module ver... /usr/src/kernels/2.6.20-gentoo-r8/Module.symvers... no checking for kernel module ver... /lib/modules/2.6.20-gentoo-r8/build/Module.symvers-2.6.20-gentoo-r8... no checking for kernel module ver... /lib/modules/2.6.20-gentoo-r8/build/Module.symvers... yes
configure: WARNING:
***
*** Configuration information is being read from an unreliable source:
***
*** "/lib/modules/2.6.20-gentoo-r8/build/Module.symvers"
***
*** This may cause problems later if you have mismatches between the
*** target kernel and the kernel symbols contained in that file.
***
checking for kernel module ver...
checking for kernel config CONFIG_DEVFS_FS... no
checking for kernel config CONFIG_DEVFS_MOUNT... no
checking for devfs kernel support... no
checking for devfs modprobe entries... no
checking for devfs daemon config... no
checking for devfs daemon... no
checking for devfs build... no
configure: creating ./config.status
config.status: creating Makefile
config.status: creating doc/Makefile
config.status: creating etc/Makefile
config.status: creating common/Makefile
config.status: creating module-core/Makefile
config.status: creating module-storage/Makefile
config.status: creating lib/Makefile
config.status: creating tools/Makefile
config.status: creating man/Makefile
config.status: creating config.h
config.status: config.h is unchanged
config.status: executing depfiles commands
aoz@xpc ~/src/ulla-aoz/ulla $ make
make all-recursive
make[1]: Entering directory `/home/aoz/src/ulla-aoz/ulla' Making all in module-core
make[2]: Entering directory `/home/aoz/src/ulla-aoz/ulla/module-core'
make -C /lib/modules/2.6.20-gentoo-r8/build M=/home/aoz/src/ulla-aoz/ulla/module-core modules
make[3]: Entering directory `/usr/src/linux-2.6.20-gentoo-r8'
CC [M] /home/aoz/src/ulla-aoz/ulla/module-core/module.o
CC [M] /home/aoz/src/ulla-aoz/ulla/module-core/driver.o
/home/aoz/src/ulla-aoz/ulla/module-core/driver.c:131: error: variable ‘ulla_fops’ has initializer but incomplete type
/home/aoz/src/ulla-aoz/ulla/module-core/driver.c:132: error: unknown field ‘llseek’ specified in initializer
/home/aoz/src/ulla-aoz/ulla/module-core/driver.c:132: warning: excess elements in struct initializer
/home/aoz/src/ulla-aoz/ulla/module-core/driver.c:132: warning: (near initialization for ‘ulla_fops’)
/home/aoz/src/ulla-aoz/ulla/module-core/driver.c:133: error: unknown field ‘read’ specified in initializer
/home/aoz/src/ulla-aoz/ulla/module-core/driver.c:133: warning: excess elements in struct initializer
/home/aoz/src/ulla-aoz/ulla/module-core/driver.c:133: warning: (near initialization for ‘ulla_fops’)
/home/aoz/src/ulla-aoz/ulla/module-core/driver.c:134: error: unknown field ‘write’ specified in initializer
/home/aoz/src/ulla-aoz/ulla/module-core/driver.c:134: warning: excess elements in struct initializer
/home/aoz/src/ulla-aoz/ulla/module-core/driver.c:134: warning: (near initialization for ‘ulla_fops’)
/home/aoz/src/ulla-aoz/ulla/module-core/driver.c:135: error: unknown field ‘ioctl’ specified in initializer
/home/aoz/src/ulla-aoz/ulla/module-core/driver.c:135: warning: excess elements in struct initializer
/home/aoz/src/ulla-aoz/ulla/module-core/driver.c:135: warning: (near initialization for ‘ulla_fops’)
/home/aoz/src/ulla-aoz/ulla/module-core/driver.c:136: error: unknown field ‘open’ specified in initializer
/home/aoz/src/ulla-aoz/ulla/module-core/driver.c:136: warning: excess elements in struct initializer
/home/aoz/src/ulla-aoz/ulla/module-core/driver.c:136: warning: (near initialization for ‘ulla_fops’)
/home/aoz/src/ulla-aoz/ulla/module-core/driver.c:137: error: unknown field ‘release’ specified in initializer
/home/aoz/src/ulla-aoz/ulla/module-core/driver.c:137: warning: excess elements in struct initializer
/home/aoz/src/ulla-aoz/ulla/module-core/driver.c:137: warning: (near initialization for ‘ulla_fops’)
/home/aoz/src/ulla-aoz/ulla/module-core/driver.c: In function ‘ulla_exit_driver’:
/home/aoz/src/ulla-aoz/ulla/module-core/driver.c:149: warning: implicit declaration of function ‘unregister_chrdev’
/home/aoz/src/ulla-aoz/ulla/module-core/driver.c: In function ‘ulla_init_driver’:
/home/aoz/src/ulla-aoz/ulla/module-core/driver.c:166: warning: implicit declaration of function ‘register_chrdev’
make[4]: *** [/home/aoz/src/ulla-aoz/ulla/module-core/driver.o] Error 1
make[3]: *** [_module_/home/aoz/src/ulla-aoz/ulla/module-core] Error 2
make[3]: Leaving directory `/usr/src/linux-2.6.20-gentoo-r8'
make[2]: *** [all] Error 2
make[2]: Leaving directory `/home/aoz/src/ulla-aoz/ulla/module-core'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/aoz/src/ulla-aoz/ulla'
make: *** [all] Error 2
aoz@xpc ~/src/ulla-aoz/ulla $