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]> |
In article <[email protected]> you wrote: > > yours is (throughout the file) and all should be OK (crosses fingers). > > Let me know what happens! I'd like very much to know. > > i'm sorry, but i'm unable to do that 'cause i'm not a programmer. i just have > a tiny little knowledge of c. to me, touching the Makefile could be a nightmare. Well, as I said, swapping the references would do it, but I've had a go at updating the Makefile for 2.6.8.1 (I use 2.6.3 and it works fine there), and it mostly compiles in situ now - mostly, apart from the final ld ... -o enbd.ko, which the Makefile emits but doesn't seem to do. Mysterious. But you can do it by hand, since the lines are obvious on the screen :-). Really the problem is that the Makefile comes from 2.6.3, and they changed the 2.6.8.1 one in a subtle way that I haven't completely sussed yet. I might just swap in the new one, and not try to support the older one. It (the revised makefile) should be in the current 2.4.32 archive - I flushed from my portable to the archive a little while ago. betty:/usr/oboe/ptb/lang/c/nbd/nbd-2.4.32% sudo make ARCH=um LINUXDIR=/usr/local/src/linux-2.6.8.1-uml make -C /tmp VPATH=/home/oboe/ptb/lang/c/nbd/nbd-2.4.32/nbd \ ... gcc -Wp,-MD,/tmp/linux-2.6.x/drivers/block/enbd/.enbd.mod.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 -DKBUILD_BASENAME=enbd -DKBUILD_MODNAME=enbd -DMODULE -c -o /tmp/linux-2.6.x/drivers/block/enbd/enbd.mod.o /tmp/linux-2.6.x/drivers/block/enbd/enbd.mod.c ld -r -o /tmp/linux-2.6.x/drivers/block/enbd/enbd.ko /tmp/linux-2.6.x/drivers/block/enbd/enbd.o /tmp/linux-2.6.x/drivers/block/enbd/enbd.mod.o ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Do this by hand gcc -Wp,-MD,/tmp/linux-2.6.x/drivers/block/enbd/.enbd_ioctl.mod.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 -DKBUILD_BASENAME=enbd_ioctl -DKBUILD_MODNAME=enbd_ioctl -DMODULE -c -o /tmp/linux-2.6.x/drivers/block/enbd/enbd_ioct l.mod.o /tmp/linux-2.6.x/drivers/block/enbd/enbd_ioctl.mod.c ld -r -o /tmp/linux-2.6.x/drivers/block/enbd/enbd_ioctl.ko /tmp/linux-2.6.x/drivers/block/enbd/enbd_ioctl.o /tmp/linux-2.6.x/drivers/block/enbd/enbd_ioctl.mod.o ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ And this make[1]: Leaving directory `/usr/local/src/linux-2.6.8.1-uml' cp: cannot stat `/tmp/linux-2.6.x/drivers/block/enbd/*.ko': No such file or directory ************************************* * please apply kernel patch instead * ************************************* I don't know why those ld's don't get done. They work fine when I cut and paste. Sigh. I'll see what the 2.6.8.1 Makefile does. Peter