Re: do_gettimeofday unresolved kernel-symbol

On 18/08/06 12:42, Uwe Damm wrote:
> I got some problems installing the comedi.o kernel-module
> 
> modprobe comedi -->
> 
>> /lib/modules/2.4.21-99-default/comedi/comedi.o: unresolved symbol
> do_gettimeofday
>> /lib/modules/2.4.21-99-default/comedi/comedi.o: insmod
> /lib/modules/2.4.21-99-default/comedi/comedi.o failed
>> /lib/modules/2.4.21-99-default/comedi/comedi.o: insmod comedi failed
> 
> do_gettimeofday is inside the System.map-2.4.21-99-default file:
>> c010e0f0 T do_gettimeofday

It looks like a symbol version bug in the kernel.  Try:

   grep do_gettimeofday /proc/ksyms

I suspect it will display something like this:

   c010e0f0 do_gettimeofday_RXXXXXXXX

(where XXXXXXXX is some hex number).

> Suse9.0 kernel: linux-2.4.21-99
> 
> I tried to recompile the kernel, but with my minor knowledge, I was not able to
> get it to work:-( (unresolved symbols in reiserfs driver (but that is a
> different topic to solve)

Try upgrading to kernel-source-2.4.21-303 and k_default-2.4.21-303 and
reconfiguring Comedi to use that kernel version.  (I don't have SuSE 9.0
 installed anywhere at the moment, but I managed to install those
packages on a RedHat 7.3 system, and managed to build and insmod the
comedi.ko module OK.)

> I allready included the two following lines into the time.h file in the comedi
> directory because of the change of the HZ definition to get_hz() what was done
> by SUSE:-(
> 
> #undef HZ
> #define HZ 100

Thanks for catching that.  I've now simplified the jiffies_to_msecs and
msecs_to_jiffies functions in the include/linux/time.h compatibility
header so that they no longer use fancy preprocessor optimizations that
assume HZ is a C constant value, so you will no longer need that HZ
hack.  It's updated in CVS, or you can just apply the attached patch:

  patch -p0 < time_h.patch

-- 
-=( Ian Abbott _at_ MEV Ltd.    E-mail: <abbotti_at_mev.co.uk>        )=-
-=( Tel: +44 (0)161 477 1898   FAX: +44 (0)161 718 3587         )=-

Received on 2006-08-21Z15:44:52