<< | Thread Index | >> ]    [ << | Date Index | >> ]

To: <cipe-l,AT,inka,DOT,de>
Subject: Re: trouble building cipe on debian / sarge
From: "Hans Steegers" <hsx,AT,dds,DOT,nl>
Date: Thu, 11 Sep 2003 09:38:05 +0200
Reply-to: "Hans Steegers" <steegers,AT,steegers,DOT,nl>

Stefan,

The stock 1.5.4 CIPE sources compile without errors for stock kernels, also
for
the latest kernels 2.4.21 and 2.4.22.
Errors may be caused by having the wrong krenel sources tree and /or kernel
include tree in your path: use the ./configure options to specify the
correct tree.
Also you need to have the source tree configured with the same .config as
used to build your kernel: 'make oldconfig; make dep' will do just that.

I have no experience with debian, but the same may apply to the debian
sources and the debian kernel: you need the correct and correctly configured
kernel source tree matching your kernel. If the source package belongs to
the debian kernel version, it should compile correctly: if not complain to
the debian maintainers.

Also to remember: you need to use the same compiler version for cipe as used
for building your kernel: different compilers MAY cause erratic behaviour.
Remember that you are building a kernel module, which becomes an integral
part of your kernel, once loaded.

The errors:
../cipe/output.c:196: warning: implicit declaration of function
`ip_route_output'
../cipe/output.c:257: error: structure has no member named `pmtu'
../cipe/output.c:398: error: `ip_send' undeclared (first use in this
function)

With kernel 2.5 they changed the layout of some structures and Debian
backported the changes in their latest kernels.

This is, for example, what you need for the above 'pmtu' error:
(define LINUX_26 to activate)
+#ifdef LINUX_26
+    mtu = dst_pmtu( &(rt->u.dst) ) - (cipehdrlen+cipefootlen);
+#else
     mtu = rt->u.dst.pmtu - (cipehdrlen+cipefootlen);
+#endif

end this one teh 'for ip_send' error
+#ifdef LINUX_26
+       return dst_output(skb);
+#else
+       return ip_send(skb);
+#endif
After solving these you probably will see others in output.c and sock.c

Maybe somebody else already posted a patch set for your debian kernel.

You probably have both kernel sources installed and somehow the source tree
and include tree are mixed. (just a guess).

I Hope this helps a little.

Hans Steegers
-----Original Message-----
From: Stefan Marx <marx.s,AT,gmx,DOT,net>
To: cipe-l,AT,inka,DOT,de <cipe-l,AT,inka,DOT,de>
Date: Thursday, September 11, 2003 8:50 AM
Subject: trouble building cipe on debian / sarge

>Hi,
>
>I want to build cipe on a debian/sarge box. I always end up with some
>errors. For the same sources are compiling fine on a gentoo box, I
>assume there is something missing ;-) But I can not figure out, what
>exactly. Some data:
>
>Source is either  cipe-1.5.4 or the debian package cipe-source,
>currently in sarge it is labeled 1.5.4free-6
>
>Kernel is either 2.4.21-4-686 from debian or a self build 2.4.21
>vanilla. On the gentoo boxes it is either 2.4.22 vanilla or
>2.4.20+something-gentoo
>
>Compiler is gcc 3.3 either on debian or on gentoo.
>
>I followed the instructions posted from Mark Smith on this list on 26th
>of August for "Compiling CIPE on a Debian system" and tried it also
>manually.
>
>./configure says:
>
>creating cache ./config.cache
>checking for gcc... gcc
>checking whether the C compiler (gcc  ) works... yes
>checking whether the C compiler (gcc  ) is a cross-compiler... no
>checking whether we are using GNU C... yes
>checking whether gcc accepts -g... yes
>checking how to run the C preprocessor... gcc -E
>checking for texinfo... no
>checking for tex... no
>checking for makeinfo... no
>checking for gmake... no
>checking for make... make
>checking for kernel include tree...
>/usr/src/kernel-source-2.4.21/include
>checking for kernel compile parameters... gcc -D__KERNEL__
>-I/usr/src/kernel-source-2.4.21/include -Wall -Wstrict-prototypes
>-Wno-trigraphs -O2 -fno-strict-aliasing -fno-common -fomit-frame-pointer
>-pipe -mpreferred-stack-boundary=2 -march=i686 -DMODULE -DMODVERSIONS
>-include /usr/src/kernel-source-2.4.21/include/linux/modversions.h
>checking for architecture... i386
>checking for kernel version... 2.4.21
>configure: warning: could not find kernel compiler version
>checking for SMP... no
>checking for post-2.5.47 modules... no
>checking for assembler parts... bf-i386.o
>checking for mlock... yes
>checking for mlockall... yes
>updating cache ./config.cache
>creating ./config.status
>creating Makefile
>creating 2.4.21-i386-cb/Makefile
>creating lib/Makefile
>creating pkcipe/Makefile
>creating pkcipe/rsa-keygen
>creating 2.4.21-i386-cb/config.h
>creating pkcipe/config.h
>
>Then it starts compiling and ends up with:
>
>gcc -MD -DKCC_BUILD -I. -include ./config.h  -D__KERNEL__
>-I/usr/src/kernel-source-2.4.21/include -Wall -Wstrict-prototypes
>-Wno-trigraphs -O2 -fno-strict-aliasing -fno-common -fomit-frame-pointer
>-pipe -mpreferred-stack-boundary=2 -march=i686 -DMODULE -DMODVERSIONS
>-include /usr/src/kernel-source-2.4.21/include/linux/modversions.h -o
>output.o -c ../cipe/output.c
>../cipe/output.c: In function `cipe_xmit':
>../cipe/output.c:196: warning: implicit declaration of function
>`ip_route_output'
>../cipe/output.c:240: error: structure has no member named `pmtu'
>../cipe/output.c:256: error: structure has no member named `pmtu'
>../cipe/output.c:257: error: structure has no member named `pmtu'
>../cipe/output.c:398: error: `ip_send' undeclared (first use in this
>function)
>../cipe/output.c:398: error: (Each undeclared identifier is reported
>only once
>../cipe/output.c:398: error: for each function it appears in.)
>make[2]: *** [output.o] Error 1
>make[2]: Leaving directory `/usr/src/modules/cipe/2.4.21-i386-cb'
>make[1]: *** [all] Error 2
>make[1]: Leaving directory `/usr/src/modules/cipe'
>make: *** [binary-modules] Error 2
>
>Is there anyone who can point me to what is missing on the debian boxes?
>Or is it simply that I should recompile the kernel on the debian boxes
>using make-kpkg and try again compiling cipe after installing this
>kernel? The debian kernels were not originally build on the machines
>where they are used...
>
>Thank you in advance for any helpful hint.
>
>Best regards,
>
>Stefan Marx
>
>
>--
>Message sent by the cipe-l,AT,inka,DOT,de mailing list.
>Unsubscribe: mail majordomo,AT,inka,DOT,de, "unsubscribe cipe-l" in body
>Other commands available with "help" in body to the same address.
>CIPE info and list archive:
<URL:http://sites.inka.de/~bigred/devel/cipe.html>


<< | Thread Index | >> ]    [ << | Date Index | >> ]