Re: 2.4.32: unresolved symbol unregister_qdisc

From: George P Nychis
Date: Sun Apr 09 2006 - 22:13:00 EST



> 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" <gnychis@xxxxxxx> 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
>>>>> netdev@xxxxxxxxxxxxxxx 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

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