[OpenAFS-devel] Symbol memcpy not found?

Jeffrey Hutzelman jhutz@cmu.edu
Wed, 13 Dec 2000 21:31:25 -0800 (PST)


On Thu, 14 Dec 2000, Adam Thornton wrote:

> When I try to load the libafs module under Linux/390 2.2.16-MP (compiled
> from Neale Ferguson's patches), I get:
> 
> lgate-is:/usr/local/src/openafs-1.0.1/src # insmod -v
> /usr/vice/etc/modload/libafs-2.2.16.mp.o 
> Using /usr/vice/etc/modload/libafs-2.2.16.mp.o
> Symbol version prefix 'smp_'
> /usr/vice/etc/modload/libafs-2.2.16.mp.o: unresolved symbol memcpy
> 
> memcpy is part of libc, isn't it?
> 
> However, I don't necessarily want to be linking libc in a kernel module,
> do I?  So should the kernel be exporting memcpy and isn't?  Or what?
> Where should I be picking up my memcpy implementation from?  Or am I
> *really* looking for smp_memcpy?  I'm baffled.

There is a memcpy implementation in the Linux kernel.  It sounds like you
have a symbol version mismatch problem.  To verify this, do the following:

nm /usr/vice/etc/modload/libafs-2.2.16.mp.o | grep memcpy
grep memcpy /proc/ksyms

I bet you find that the requested symbol differs from the one available in
the kernel only in version and/or SMP-ness.

-- Jeffrey T. Hutzelman (N3NHS) <jhutz+@cmu.edu>
   Sr. Research Systems Programmer
   School of Computer Science - Research Computing Facility
   Carnegie Mellon University - Pittsburgh, PA