kernel 2.4.26 and qos + htb

Hi

I try to compile kernel 2.4.26 with qos and htb enabled for mips platform. However, it fails during linking and throws errors like this:

net/network.o(.text.init+0x598): In function `net_dev_init': : undefined reference to `pktsched_init' net/network.o(__ksymtab+0x860): undefined reference to `psched_time_base' net/network.o(__ksymtab+0x868): undefined reference to `psched_time_mark' net/network.o(__ksymtab+0x870): undefined reference to `pfifo_qdisc_ops' net/network.o(__ksymtab+0x878): undefined reference to `bfifo_qdisc_ops' net/network.o(__ksymtab+0x880): undefined reference to `register_qdisc' net/network.o(__ksymtab+0x888): undefined reference to `unregister_qdisc' net/network.o(__ksymtab+0x890): undefined reference to `qdisc_get_rtab' net/network.o(__ksymtab+0x898): undefined reference to `qdisc_put_rtab' net/network.o(__ksymtab+0x8a0): undefined reference to `qdisc_copy_stats' net/network.o(__ksymtab+0x8a8): undefined reference to `register_tcf_proto_ops' net/network.o(__ksymtab+0x8b0): undefined reference to `unregister_tcf_proto_ops'

Is that mean that I maybe forgot about setting some other options? I also tried to alternate the Makefile in net/sched directory in order to get the modules I want and then it compiles and links without errors. In that case is it good when I compile kernel with the modified Makefile? Or maybe it is somthing wrong with the kernel itself?

The options that I want to have enabled are as follows:

# # QoS and/or fair queueing # CONFIG_NET_SCHED=y CONFIG_NET_SCH_HTB=y CONFIG_NET_QOS=y CONFIG_NET_CLS=y CONFIG_NET_CLS_TCINDEX=y CONFIG_NET_CLS_ROUTE4=y CONFIG_NET_CLS_ROUTE=y CONFIG_NET_CLS_FW=y

Thanks in advance for any help.

Sebastian.

Reply to
Sebastian
Loading thread data ...

Did you do a 'make distclean' ? (save your .config to another file before). Are you using the approppriate Linker ?

HTH Martin

Reply to
Martin Klar

I did 'make mrproper' before. All config files I have saved. The linker is rather ok. But with few options is something wrong... because although I set one of the specific options - it does not seem to be included, I mean, the selected feature is not being compiled (and next during linking there are undeclared references). Is it maybe because of lack of support for that options in kernel...?

Sebastian.

Reply to
Sebastian

Hi Sebastian,

It sounds like something very strange is going on. Are you configuring your kernel options using 'make config' or 'make xconfig' etc? You might be getting things wrong if you're editing .config by hand.

Once the correct options are enabled in .config, it should be very simple to see which ones should get compiled.

All the missing objects you listed seem to be in the core sched files. These should be compiled from the first line in sched/Makefile:

obj-$(CONFIG_NET_SCHED) += sch_api.o sch_fifo.o sch_blackhole.o

Regards,

--
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  | Damion de Soto --------------------------------------------------
  | Software Engineer   email:  Damion_deSoto@au.securecomputing.com
  | Secure Computing Corporation web: http://www.securecomputing.com
  | fax:        +61 7 3891 3630   ph:                +61 7 3435 2809
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  ----  Free Embedded Linux Distro at  http://www.snapgear.org  ----
Reply to
Damion de Soto

Hi

The configuration I do by 'make menuconfig' and after that I don't edit config files. The Makefile in net/sched is very ordinary. Is it possible that the building environment doesn't allow to set some features?

Sebastian.

Reply to
Sebastian

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.