View Full Version : Unknown symbol __create_workqueue
valkyrie
17th August 2004, 11:18 AM
hi all,
Encountered a problem & hope someone can help me with it, many thanks.
I was writing a device driver and using the workqueue to perform the bottom half processing.
Compiling was ok (ie. the .ko file was generated). But after i "insmod", this message appears:
Unknown symbol __create_workqueue
Is there something i miss out?
Thanks.
circulus
17th August 2004, 01:51 PM
hi,
one question: has made depmod -ae before modprobe (or insmod) command ?
circulus
valkyrie
17th August 2004, 02:21 PM
hi,
i didn't perform "depmod -ae".
i using fc2 & follow the steps from the linux doc on making kernel modules for precompiled kernels. The following are the steps i used:
1. Copy configuration file of pre-compiled kernel
=================================================
cp /boot/config-`uname -r` /usr/src/linux-`uname -r`/.config
2. Copy makefile of pre-compiled kernel
=======================================
cp /lib/modules/`uname -r`/build/Makefile /usr/src/linux-`uname -r`
3. Run make to update
=====================
/usr/src/`uname -r`/make
(Stop after seeing a lot of CC.)
Should "depmod -ae" be performed and are there other missing steps.
Thank you for your help.
valkyrie
17th August 2004, 04:17 PM
Forgot to mention that i try "depmod -ae", but still NG.
Any clues would be helpful, thanks.
valkyrie
17th August 2004, 05:15 PM
hi all,
I think the problem lies with the MODULE_LICENSE() setting in my kerner driver fiile. Here is the finding:
MODULE_LICENSE("Proprietary") ===> got problem with unknown symbols
MODULE_LICENSE("GPL") ===> ok
Anybody know why the license got such an impact?
Thanks.
circulus
18th August 2004, 12:17 PM
Hi,
maybe some modules in default kernel strictly required 3rd party modules to be in MODULE_LICENCE("GPL") ? Who knows ??? :-) . Somewhat about this maybe written in /usr/src/linux-2.6.7-xx/Documentation ? I don't investigate this.
circulus
valkyrie
19th August 2004, 08:35 AM
hi,
The "create_workqueue" method is a private/internel method of the kernel and it could only be available if the license is set to GPL. I use the default workqueue and could set the license to other than "GPL". Thanks.
vBulletin® v3.8.7, Copyright ©2000-2013, vBulletin Solutions, Inc.