[ENBD] enbd build issues
Peter T. Breuer
enbd@lists.community.tummy.com
Fri, 17 Jan 2003 17:50:50 +0100 (MET)
"A month of sundays ago Ihar Viarheichyk wrote:"
> Hello. I compiled nbd-2.4.31 for 2.4.18 kernel with gcc-2.96 without
> problems, except some warnings.
OK. You do know that 2.4.31 is the development code, not the stable
code? The stable version is 2.4.30.
> I have looked at Makefile, and found code:
> ifeq ($(KERNELMAJOR),2.4)
> ln -s linux-2.2.10 $@
> ^^^^^^^^^^^^^^^^^^
> else
> ifeq ($(KERNELMAJOR),2.2)
> ln -s linux-2.2.10 $@
> else
> ln -s linux-2.0.36 $@
> endif
> endif
>
> Is it desired behaviour to use linux-2.2.10 for 2.4 kernel?
Yes, it's correct.
> What other linux-x.y.z (2.4.18, 2.5.12 etc) are used for? It is not
They are just snapshots of the code of the time against particular kernel
versions.
> mentioned in INSTALL. Compiling enbd with linux-2.4.18 instead 2.2.10
> failed.
>
> I also tried to build nbd with gcc-3.2.2. It produces a lot of errors like:
>
> ....
> /home/igor/install/nbd-2.4.31/nbd/enbd-server.c:3331: dereferencing
> pointer to incomplete type
Thanks for the report.
That would require investigation. What is the type that they were
complaining about? There is no a priori reason why a type should be
defined for one version of gcc and not defined for another.
On my version, the line is
self->child[i] = pid;
and if self is of undefined type, then that's "struct nbd_server",
which is certainly defined or it wouldn't have compiled under your
other gcc.
Peter