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
