[realtek] cant insmod rtl8139.o - unresolved symbols

Denis Abramov denis.abramov@verizon.net
Wed, 22 Aug 2001 14:01:09 -0400

    Thank you very much for your help... Followed all of your steps... This
one is problematic:

>You should symlink the /usr/src/linux/include/linux/modules directory
>   to /usr/lib/include/linux/modules or you are going to have problems
>   using modversions.h to compile other source.

don't have anything resembling: /usr/lib/include/linux/modules

Unfortunately this didn't really solve the problem... I now get compilationg
errors when I do:

gcc -DMODULE -D__KERNEL__ -DEXPORT_SYMTAB -Wall -Wstrict-prototypes -O6 -c
pci-scan.c -o pci-scan.o -I/usr/src/linux-2.4.2/include/linux

pci-scan.c: In function 'init_module':
pci-scan.c: 558: warning: implicit declaration of function
pci-scan.c: In function 'cleanup_module':
pci-scan.c: 565: warning: implicit declaration of function

This DOES compile using the netdriver-3.0 release Makefile provided by David
Becker but doesn't 'insmod.' I'm doing all of my compiling on the contents
installed by netdriver.3.0.1.src.rpm in
/usr/src/redhat/BUILD/netdrivers-3.0. So I guess I'm kind of stuck between a
rock and a hard place again... :-) Anyone had this problem and know how to
fix it?

                                        - Denis
----- Original Message -----
From: "shawn" <rboles@vt.edu>
To: "Denis Abramov" <daa82@columbia.edu>
Sent: Wednesday, August 22, 2001 9:31 AM
Subject: Re: [realtek] cant insmod rtl8139.o - unresolved symbols

> I eventually got my card working last night.  Note that it is not a
> cardbus card, but some of the following may be helpful.  If it is too
> basic, I apologize.
> - You need to get the kernel source with the exact same kernel that you
>   are currently running.  Issue the `uname -a` command and check your
>   kernel version.  There will definately be a rpm for this.  Get
>   it and install it.
> - Your source should install somewhere like /usr/src/kernel-source-2.X.XX
>   or maybe /usr/src/linux.  Either way, make sure that the source is
>   avaiable at /usr/src/linux with a symlink if necessary.
> - cd into /usr/src/linux and just run `make oldconfig`.  This will do
>   a sort of default compilation of your kernel source.  After 'make
>   oldconfig' is finished, edit the file /usr/src/linux/.config.  Look
>   for the line containing MODVERSIONS.  It will probably be set to off
>   by defautlt.  Change this so that the MODVERSIONS flag is set to Y.
>   This modversions line needs to be set in order to generate
>   /usr/src/linux/include/linux/modversions.h
> - Run `make oldconfig` again, and then `make dep`.  Note, this is the
>   and dirty way to get your kernel source built, I would definately not
>   use this kernel source for anything other than library inclusions.
> - You should symlink the /usr/src/linux/include/linux/modules directory
>   to /usr/lib/include/linux/modules or you are going to have problems
>   using modversions.h to compile other source.
> - Ok, now you have kernel source that should be useful.  Try to compile
>   pci-scan.c and rtl8139.c using Donald's compilation instructions.
>   You should include the lines: -I/usr/src/linux/include/linux and
>   -include /usr/src/linux/include/linux/modversions.h in your compile
>   command.
> It might be helpful to check and see if your vendor has a linux driver.
> If so it may be Donald's code anyway.  But in the end, it was Donald's
> code supplied by my vendor that worked.
> Good luck.
> -shawn
> On Tue, Aug 21, 2001 at 08:51:02PM -0400, Denis Abramov wrote:
> > I have the exact same problem under RedHat 7.1... Where exactly can I
> > the header files for the 2.4.2 kernel running under Redhat 7.1? The
> > page only describes the how to incorporate the networking changes for
> > kernels 1.2 - 2.2. Are there specific header files that I should be
> > with RedHat 7.1? (sorry, I'm kind of new new at this...) FYI, I have an
> > rtl8139 chip with CardBus (your diag program doesn't specify if it is
> > A/B/C)...
> >
> > > On Tue, 21 Aug 2001, shawn wrote:
> > >
> > > > - Background (what I have done so far):
> > > > I have a DLink DFE530-TX+, which I understand uses the RTL8139B
> > > > The box in in question is Debian running a 2.2.17 kernel.  My kernel
> > > ...
> > > > No problem there.  The problem is that I can not insert either into
> > > > the kernel as modules.  I get 'unresolved symbol' errors.
> > >
> > > Your header files do not match your kernel version.
> > > Read
> > >   http://www.scyld.com/network/updates.html
> > > for information on how to specific the include directory.
> > >
> >
> >
> > _______________________________________________
> > realtek mailing list
> > realtek@scyld.com
> > http://www.scyld.com/mailman/listinfo/realtek