Re: 2.4.32: unresolved symbol unregister_qdisc
From: George P Nychis
Date: Sun Apr 09 2006 - 16:07:05 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
>
>
Sorry, I thought when you said top-post, I thought you were telling me about only posting the "top" most errors in my original e-mail, thats why i pasted full error output.
The thing is, it compiles successfully when CONFIG_NET_SCHED is not enabled in the kernel. But when its not enabled, i get the external symbol errors.
As soon as I enable CONFIG_NET_SCHED ... it no longer compiles.
I will look into this, it is supposed to work... the code has been used by others before.
If you or anyone else come up with anything, please let me know
Thanks!
George
-
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/