Re: Re: [LARTC} how can I compile tc

Linux Advanced Routing and Traffic Control

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



The story here is that I'm am using instructions my predecessor left for building a packet shapeing firewall and trying to update them for a new box that needs some drivers in the newer kernel version. (I can go back, use older versions and manually insert stuff but it makes more sense to try the latest stuff first)

I need to build tc because it needs to be patched with esfq-2.6.20/esfq-iproute2.patch.

So I built the Linux 2.6.20.3 with the necessary patches and left it in /usr/src/linux-2.6.20.3 with a /usr/src/linux symlink pointing to it. I didn't do anything after setting it up.

The git version unfortunatly won't compile either. I get this:

../include/linux/types.h:166: error: syntax error before ‘__kernel_daddr_t’
../include/linux/types.h:166: warning: no semicolon at end of struct or union ../include/linux/types.h:167: warning: type defaults to ‘int’ in declaration of ‘f_tinode’ ../include/linux/types.h:167: warning: data definition has no type or storage class
../include/linux/types.h:170: error: syntax error before ‘}’ token
make[1]: *** [ll_map.o] Error 1
make[1]: Leaving directory `/usr/src/iproute2/lib'
make: *** [all] Error 2

I'm going to see if I can get iproute 2.6.19 working with this. It seemed to compile once but without the proper patches. If not, I'll have to move back to the 2.6.15 versions that are already prove.

Unless you have some other suggestion for hte above error.

thanks for you help either way.

John

Andy Furniss wrote:
John Baker wrote:
Ok, I tried it out but for some reason it doesn't take for the compile process. This is, after export KERNEL_INCLUDE=/usr/src/linux/include/ if I run export this declare -x KERNEL_INCLUDE="/usr/src/linux/include/" is there. But when I run make in iproute2 I still get the /usr/include/linux/ip.h:93:2: error: #error "Endian problem - this didn't happen" error.

I tried to circumvent this by moving the /usr/include/linux directory to /usr/include/linux.old and then making /usr/include/linux a soft link pointing to /usr/src/linux/include and got a different set of errors as follows.

You shouldn't have to do this - maybe just maybe playing with symlinks can help build some old out of tree stuff, but you shouldn't need to do it here.

I don't know what distros do nowadays (use LFS myself), but the very existance of /usr/src/linux link to tree is depreciated.

Why do you need to build a new tc - unless you need the latest features your distro should already have it & I think it should work with a new kernel.

If you really need it, I assume you have built your own 2.6.20.3?

Where is it, what did you do? If after configuring/building it you cleaned with make mrproper that will be too clean to build against - make clean should be OK.



The first time I tried this I forgot to run make clean after trying to compile it against the original /usr/include/linux/ and it actually got past the initial endian error and died trying to compile tc. When I ran make clean and tried I go the above error.

I would expect tc to fail - you need the git version.

Generally if I have the tar and fail a build I just delete and start again - not saying that will help in this case.

If your distro has git already installed great - if not you can get it from here

http://kernel.org/pub/software/scm/git/git-1.5.0.5.tar.bz2

install where you want - see INSTALL

to get the iproute2 git do -

git clone git://git.kernel.org/pub/scm/linux/kernel/git/shemminger/iproute2.git

(as one line) and it will get the latest iproute2 tree for you.


Andy


--
John Baker
Network Systems Administrator
Marlboro College
Phone: 451-7551 off campus; 551 on campus
_______________________________________________
LARTC mailing list
LARTC@xxxxxxxxxxxxxxx
http://mailman.ds9a.nl/cgi-bin/mailman/listinfo/lartc

[Index of Archives]     [LARTC Home Page]     [Netfilter]     [Netfilter Development]     [Network Development]     [Bugtraq]     [GCC Help]     [Yosemite News]     [Linux Kernel]     [Fedora Users]
  Powered by Linux