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
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.