Luca.
try replacing the 2.4 series include files in /usr/include with the ones
actually used by the 2.6 kernel (link to them as below) and you'll see what
i mean.

ntop will start complaining about undefined constants and header files it
cant find.
with the standard fedora 2 you won't get this compilation behaviour as it
has the 2.4.20 header files by default even if it uses a 2.6-series kernel.
( please start spelling data mis-alignment in compiled programs :p )

BUT, this will be (and is) a problem with systems which come with 2.6-series
include files by default in the distribution..
i think fedora core 3 might be one of them, and you might want to prepare
for those compilation problems from now.


Adrian


----- Original Message ----- 
From: "Luca Deri" <[EMAIL PROTECTED]>
To: <[EMAIL PROTECTED]>
Sent: Tuesday, September 07, 2004 9:47 AM
Subject: Re: [Ntop-dev] problems compiling in a pure 2.6 kernel
environment,and some fixes for them


> Adrian,
> this is my fedora 2
>
> [EMAIL PROTECTED] 204> uname -a
> Linux athlon 2.6.5-1.358custom #5 SMP Fri May 28 09:46:43 CEST 2004 i686
> athlon i386 GNU/Linux
>
> and I have never encountered such problems, even on fresh fedora's.
> Anybody out there that can comment about this problem?
>
> Regards, Luca
>
> [EMAIL PROTECTED] wrote:
>
> >hello list, and Luca
> >
> >i'm running fedora core 2 with kernel 2.6.8.1 compiled by myself, in a
build
> >environment adapted for 2.6 only... and i get errors when compiling ntop.
> >see below how to reproduce them and how to patch them.
> >
> >by default, fedora core 2, even if it comes with a 2.6 kernel, comes with
> >the 2.4 generation's include files.
> >
> >this can be tested by looking into /usr/include/linux/version.h, which
> >contains:
> >
> >#define UTS_RELEASE "2.4.20"
> >#define LINUX_VERSION_CODE 132116
> >#define KERNEL_VERSION(a,b,c) (((a) << 16) + ((b) << 8) + (c))
> >
> >while the 2.6.8.1 kernel has this version.h :
> >#define UTS_RELEASE "2.6.8.1"
> >#define LINUX_VERSION_CODE 132616
> >#define KERNEL_VERSION(a,b,c) (((a) << 16) + ((b) << 8) + (c))
> >
> >
> >this might lead to a number of incompatibilities for programs written for
> >the 2.4 kernel series includes which run under the 2.6 kernel, and i made
> >some alterations to the include files in /usr/include, all of them are
links
> >to
> >the include files that come with the kernel. i've compiled apache 2.0.50,
> >squid 2.5stable6, and some other programs, and all are running without
any
> >issues so far.
> >
> >all issues with the compile process are with header files being moved
> >around.
> >
> >i had to make a modification to the includes file list, the linux 2.6
kernel
> >doesnt include the file net/ethernet.h which i had to copy from the old
> >includes into the new one, to be able to compile programs.
> >
> >these are the modified includes in /usr/include. I linked directly to the
> >include files in the kernel source tree:
> >
> >acpi -> /usr/src/linux/include/acpi/
> >asm -> /usr/src/linux/include/asm-i386/
> >asm-generic -> /usr/src/linux/include/asm-generic/
> >linux -> /usr/src/linux/include/linux/
> >math-emu -> /usr/src/linux/include/math-emu/
> >media -> /usr/src/linux/include/media/
> >mtd -> /usr/src/linux/include/mtd/
> >net -> /usr/src/linux/include/net/
> >pcmcia -> /usr/src/linux/include/pcmcia/
> >rxrpc -> /usr/src/linux/include/rxrpc/
> >scsi -> /usr/src/linux/include/scsi/
> >sound -> /usr/src/linux/include/sound/
> >video -> /usr/src/linux/include/video/
> >
> >
> >
> >i downloaded a fresh cvs source tree today, and the modifications for the
> >2.6 new includes which allow me to compile ntop on my machine are:
> >
> >1)
> >in configure.in, and in a few other places (ntop.h)
> >net/if.h
> >should be for 2.6 (or should be added with a build environment test)
> >linux/if.h
> >
> >2)
> >config.log:/usr/include/netinet/if_ether.h:62:24: net/if_arp.h: No such
file
> >or directory
> >config.log:/usr/include/netinet/if_ether.h:62:24: net/if_arp.h: No such
file
> >or directory
> >
> >this is because if_arp.h is no longer in the net/ but in the linux/
section
> >too
> >
> >
> >3) in config.h
> >HAVE_NETINET_IF_ETHER_H
> >gets undefined by ./configure because the current header file
> >netinet/if_ether.h has a wrong include, net/if_arp.h instead of
> >linux/if_arp.h
> > I edited that include file to correct it. (i'd better submit it to the
> >kernel discussion list too, as a FIXME )
> >
> >
> >
> >after these tweaks ntop compiles cleanly and runs without issues, so far.
> >
> >Luca, can you please add a test to the configure script to test which
> >headers is ntop being built with and adjust the build process accordingly
?
> >
> >these header files might not be the only ones moved between 2.4 and 2.6,
but
> >are the ones that gave me the most headaches.
> >
> >Thankyou,
> >Adrian R.
> >
> >
> >_______________________________________________
> >Ntop-dev mailing list
> >[EMAIL PROTECTED]
> >http://listgateway.unipi.it/mailman/listinfo/ntop-dev
> >
> >
>
>
> -- 
> Luca Deri <[EMAIL PROTECTED]> http://luca.ntop.org/
> Hacker: someone who loves to program and enjoys being
> clever about it - Richard Stallman
>
> _______________________________________________
> Ntop-dev mailing list
> [EMAIL PROTECTED]
> http://listgateway.unipi.it/mailman/listinfo/ntop-dev
>


_______________________________________________
Ntop-dev mailing list
[EMAIL PROTECTED]
http://listgateway.unipi.it/mailman/listinfo/ntop-dev

Reply via email to