Re: 2.4.32: unresolved symbol unregister_qdisc

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

 



On Sun, 9 Apr 2006 23:20:01 -0400 (EDT) George P Nychis wrote:

> 
> > On Sun, 9 Apr 2006 22:49:50 -0400 (EDT) George P Nychis wrote:
> > 
> >> 
> >>> On Sun, 9 Apr 2006 22:05:33 -0400 (EDT) George P Nychis wrote:
> >>> 
> >>>> 
> >>>>> On Sun, 9 Apr 2006 13:37:25 -0400 (EDT) George P Nychis wrote:
> >>>>> 
> >>>>>> Thanks for the help.
> >>>>>> 
> >>>>>> Here is the makefile:
> >>>>>> http://rafb.net/paste/results/auchPH75.html
> >>>>>> 
> >>>>>> And here is the full errors I receive: 
> >>>>>> http://rafb.net/paste/results/Qplpqw74.html
> >>>>>> 
> >>>>>> Greatly appreciate it
> >>>>>> 
> >>>>>> - George
> >>>>> 
> >>>>> [repeat: please don't top-post]
> >>>>> 
> >>>>> I don't know how much I can help you.  It's been a long time
> >>>>> since I've built external modules on 2.4.x.
> >>>>> 
> >>>>> Problems that I see: - the Makefile does not use the expected 2.4
> >>>>>  kernel build infrastructure; - kernel Makefile uses -nostdinc to
> >>>>>  prevent use of userspace headers; - Makefile is trying to
> >>>>> include userspace headers instead of kernel headers, e.g.: In file
> >>>>> included from /usr/include/linux/if_ether.h:107, from 
> >>>>> /usr/include/linux/netdevice.h:29, from sch_xcp.c:8: - this
> >>>>> specified include directory is only in 2.6.x, not 2.4.x:
> >>>>> -I/lib/modules/`uname -r`/build/include/asm/mach-default
> >>>>> 
> >>>>> It's not clear to me how this makefile could work with 2.4.x at
> >>>>> all. Is it supposed to, or that's just what you want to see it do?
> >>>>> 
> >>>>> 
> >>>>> You could try to fix the Makefile based on makefile-changes
> >>>>> articles at lwn.net. E.g.: http://lwn.net/Articles/151784/ 
> >>>>> http://lwn.net/Articles/79984/ http://lwn.net/Articles/74767/ 
> >>>>> http://lwn.net/Articles/69148/ http://lwn.net/Articles/21823/
> >>>>> 
> >>>>> 
> >>>>> 
> >>>>>>> On Sat, 8 Apr 2006 19:18:47 -0400 (EDT) George P Nychis
> >>>>>>> wrote:
> >>>>>>> 
> >>>>>>>> Yeah, this module is unfortunately not under the GPL, it
> >>>>>>>> was made for research and i am not the author, I was only
> >>>>>>>> given the code for my own research.
> >>>>>>>> 
> >>>>>>>> I enabled that support in the kernel, and then tried to 
> >>>>>>>> recompile and get tons of errors/warnings... so maybe I am 
> >>>>>>>> missing something else to be enabled in the kernel... here
> >>>>>>>> are a few examples of errors:
> >>>>>>>> /usr/include/linux/skbuff.h:30:26: net/checksum.h: No such
> >>>>>>>> file or directory /usr/include/asm/irq.h:16:25:
> >>>>>>>> irq_vectors.h: No such file or directory
> >>>>>>>> /usr/include/linux/irq.h:72: error: `NR_IRQS' undeclared
> >>>>>>>> here (not in a function) /usr/include/asm/hw_irq.h:28:
> >>>>>>>> error: `NR_IRQ_VECTORS' undeclared here (not in a function)
> >>>>>>>> 
> >>>>>>>> I think those are the top most errors, so if i can fix
> >>>>>>>> those hopefully the rest shall vanish!
> >>>>>>> 
> >>>>>>> Looks like a Makefile problem then.  Can you post the
> >>>>>>> Makefile? Hopefully it is using a Makefile and not just an
> >>>>>>> elaborate gcc command line.
> >>>>>>> 
> >>>>>>> [and please don't top-post]
> >>>>>>> 
> >>>>>>>> - George
> >>>>>>>> 
> >>>>>>>> 
> >>>>>>>>> From: "George P Nychis" <[email protected]> Date: Sat, 8
> >>>>>>>>> Apr 2006 18:47:34 -0400 (EDT)
> >>>>>>>>> 
> >>>>>>>>>> Hey,
> >>>>>>>>>> 
> >>>>>>>>>> I have a kernel module that uses unregister_qdisc and 
> >>>>>>>>>> register_qdisc, whenever i try to insert the module I
> >>>>>>>>>> get: /lib/modules/2.4.32/kernel/net/sched/sch_xcp.o: 
> >>>>>>>>>> /lib/modules/2.4.32/kernel/net/sched/sch_xcp.o:
> >>>>>>>>>> unresolved symbol unregister_qdisc 
> >>>>>>>>>> /lib/modules/2.4.32/kernel/net/sched/sch_xcp.o: 
> >>>>>>>>>> /lib/modules/2.4.32/kernel/net/sched/sch_xcp.o:
> >>>>>>>>>> unresolved symbol register_qdisc
> >>>>>>>>>> 
> >>>>>>>>>> Am i missing some sort of support in the kernel?
> >>>>>>>>> 
> >>>>>>>>> Make sure CONFIG_NET_SCHED is enabled and that you
> >>>>>>>>> compiled your module against that kernel.
> >>>>>>>>> 
> >>>>>>>>> Where does this sch_xcp come from?  It's not in the
> >>>>>>>>> vanilla sources.
> >>>>>>>>> 
> >>>>>>>>> Also, please direct networking questions to the 
> >>>>>>>>> [email protected] mailing list which I have added to
> >>>>>>>>> the CC:.
> >>>>> 
> >>>>> --- ~Randy
> >>>>> 
> >>>>> 
> >>>> 
> >>>> By the way, if I add -I/usr/src/linux/include to the compile line,
> >>>> it successfully compiles, however, i am back to the start:
> >>>> lanthanum-ini src-1.0.1 # insmod sch_xcp Using 
> >>>> /lib/modules/2.4.32/kernel/net/sched/sch_xcp.o 
> >>>> /lib/modules/2.4.32/kernel/net/sched/sch_xcp.o: 
> >>>> /lib/modules/2.4.32/kernel/net/sched/sch_xcp.o: unresolved symbol 
> >>>> unregister_qdisc /lib/modules/2.4.32/kernel/net/sched/sch_xcp.o: 
> >>>> /lib/modules/2.4.32/kernel/net/sched/sch_xcp.o: unresolved symbol 
> >>>> register_qdisc
> >>> 
> >>> Yet your 2.4.32 kernel image file does have those symbols in it? Can
> >>> you verify that by using 'nm' on the kernel image file?
> >>> 
> >>> If so, then I suppose that you'll need to make a small module test
> >>> case that exhibits this behavior, or just tell us where to get the
> >>> sch_xcp files...
> >>> 
> >>> (re-added cc: for netdev)
> >>> 
> >>> --- ~Randy
> >>> 
> >>> 
> >> 
> >> By kernel image, do you mean /usr/src/linux/vmlinux ? if so, 
> >> lanthanum-ini linux # nm vmlinux | grep register_qdisc c0399200 R
> >> __kstrtab_register_qdisc c0399240 R __kstrtab_unregister_qdisc c039ebc8 R
> >> __ksymtab_register_qdisc c039ebd0 R __ksymtab_unregister_qdisc c02eda40 T
> >> register_qdisc c02edaf0 T unregister_qdisc
> > 
> > Yes.  That's good, then.
> > 
> > --- ~Randy
> > 
> > 
> 
> *sigh* ... still getting the unresolved symbols, i totally don't get it, my /usr/src/linux/vmlinux says that the symbols exist, i install the kernel, reboot, and still get the same errors

Yes, I understood that.

> Any other way of doing this or reason i can find out whats causing this?

Well, one of the makefile gods can step in and spot the problem, or you can
create a test case so that others can try to help out with it.  Or tell us
where to get the code that you are using.

> thanks for your help

---
~Randy
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Stuff]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]     [Linux Resources]
  Powered by Linux