Re: problems compiling enbd-2.4.32pre and fr1-2.16 under kernel 2.6.8.1
[email protected] (Peter T. Breuer)
| Newsgroups | gmane.linux.enbd.general |
|---|---|
| Message-ID | <[email protected]> |
edward mzj <[email protected]> wrote: > hi peter > > i've modified the Makefile. here is the result > ... Omitted ... > make -f /usr/src/nbd-2.4.32/kernel/linux-2.6.x/scripts/Makefile.build > obj=/tmp/linux-2.6.x/drivers/block/enbd > gcc -Wp,-MD,/tmp/linux-2.6.x/drivers/block/enbd/.enbd_base.o.d -nostdinc -iwithprefix include -D__KERNEL__ -Iinclude -D__KERNEL__ -Iinclude -Wall -Wstrict-prototypes -Wno-trigraphs -fno-strict-aliasing -fno-common -pipe -mpreferred-stack-boundary=2 -march=i686 -Iinclude/asm-i386/mach-default -O2 -fomit-frame-pointer -g -DMODULE -DKBUILD_BASENAME=enbd_base -DKBUILD_MODNAME=enbd -c -o /tmp/linux-2.6.x/drivers/block/enbd/.tmp_enbd_base.o /tmp/linux-2.6.x/drivers/block/enbd/enbd_base.c When I do the compile (for UML) it gives gcc -Wp,-MD,/tmp/linux-2.6.x/drivers/block/enbd/.enbd_base.o.d -nostdinc -iwithprefix include -D__KERNEL__ -Iinclude -D__KERNEL__ -Iinclude -Wall -Wstrict-prototypes -Wno-trigraphs -fno-strict-aliasing -fno-common -U__i386__ -Ui386 -D__arch_um__ -DSUBARCH=\"i386\" -D_LARGEFILE64_SOURCE -Iarch/um/include -Derrno=kernel_errno -Dsigprocmask=kernel_sigprocmask -I/usr/local/src/linux-2.6.8.1-uml/arch/um/kernel/tt/include -I/usr/local/src/linux-2.6.8.1-uml/arch/um/kernel/skas/include -Os -fomit-frame-pointer -DUM_FASTCALL -D__arch_um__ -DSUBARCH=\"i386\" -D_LARGEFILE64_SOURCE -I/usr/local/src/linux-2.6.8.1-uml/arch/um/include -Derrno=kernel_errno -I/usr/local/src/linux-2.6.8.1-uml/arch/um/kernel/tt/include -I/usr/local/src/linux-2.6.8.1-uml/arch/um/kernel/skas/include -DMODULE -DKBUILD_BASENAME=enbd_base -DKBUILD_MODNAME=enbd -c -o /tmp/linux-2.6.x/drivers/block/enbd/enbd_base.o /tmp/lin ux-2.6.x/drivers/block/enbd/enbd_base.c So yours does not look too bad. > /tmp/linux-2.6.x/drivers/block/enbd/enbd_base.c:284: linux/enbd.h: No such file or directory Well, perhaps an extra -I/tmp/linux-2.6.x/include would be useful. It probably didn't matter for me, because I also had the files in the directory tree to fall back on. > it seems the protype of proc_dointvec() has changed. since kernel 2.6.8, the new declaration in > sysctl.h is > extern int proc_dointvec(ctl_table *, int, struct file *, > void __user *, size_t *, loff_t *); Yes, I updated the 2.6.x dir code to fix that when I saw it. Just add a loff_t *ppos to the end of the arguments. Redownload the archive and see if it is any better that way. Peter