Re: Unresolved symbol errors when trying to install BLCR modules

From: Paolo Victor (paolovictor_at_gmail_dot_com)
Date: Thu Mar 17 2005 - 09:41:44 PST

  • Next message: Paul H. Hargrove: "Re: Unresolved symbol errors when trying to install BLCR modules"
    Paul,
    
    Here's the output you asked for:
    
    > grep d_path /boot/System.map-2.4.26-1-386
    c0142592 T __d_path
    c0173a5f T acpi_ns_valid_path_separator
    c0233987 R __kstrtab___d_path
    c023f328 R __ksymtab___d_path
    
    I believe that the kernel sources are not configured. How can you help
    me with this?
    
    Thanks,
    Paolo
    
    On Wed, 16 Mar 2005 13:41:22 -0800, Paul H. Hargrove <PHHargrove_at_lbl_dot_gov> wrote:
    > Paolo,
    > 
    >   Your sysadmin is both right and wrong.  The kernel sources you used
    > are probably the correct source for building your kernel, but they are
    > not fully configured, or the version found in include/linux/version.h
    > (2.4.26) would have matched.  Based on the configuration settings a
    > given kernel source can generate many (millions) of different kernels.
    > The differences among most of those potential kernels is small, but even
    > the smallest changes will cause the kernel's functions to appear at
    > different addresses in different builds.  These differences are handled
    > using a symbol table.  However, there are some difference (such as
    > configuring SMP support on or off) that are more significant because
    > they change the fields in some kernel data structures.  To operate
    > correcly  any loadable kernel module must agree with the running kernel
    > on the composition of any data structures it uses.  This agreement can
    > optionally be checked at module load time using versioning on the
    > symbols in the symbol table.  In the example error you provided 0e2ea584
    > is a sort of checksum of the types of the arguments to the function
    > __d_path().
    > 
    >   There are two possibilities now.  One is that you'll need to get a
    > configured kernel source, which we may be able to help you with.  The
    > other possibility is that the blcr kernel modules are incorrectly
    > assuming symbol versioning is being used when it is not enabled in your
    > kernel.  To determine which is the case, please provide the output of
    >     grep d_path /boot/System.map-2.4.26-1-386
    > 
    > -Paul
    > 
    > Paolo Victor wrote:
    > 
    > > Hello,
    > >
    > >    I'm trying to install BLCR on my machine. I ran configure, make and
    > > make install, the libs and modules were created and put in the
    > > usr/local dir, but when I try to install the vmadump and blcr modules,
    > > some errors occurr, being all of them like this:
    > >
    > >> /usr/local/lib/blcr/2.4.26/vmadump_blcr.o:
    > >> /usr/local/lib/blcr/2.4.26/vmadump_blcr.o: unresolved symbol
    > >> __d_path_R0e2ea584
    > >
    > >
    > >    So, what could be wrong? Did I try to use a wrong version of the
    > > kernel sources? I suppose the problem lies on the kernel sources
    > > I'm using because when I run configure, I get this warning:
    > >
    > >> *******************************************************************
    > >> ***** WARNING WARNING WARNING WARNING WARNING WARNING WARNING *****
    > >> *******************************************************************
    > >> * The kernel source does not match currently the running kernel.  *
    > >> * Compilation will produce modules unsuitable for the currently   *
    > >> * running kernel, which may not be what you intended.             *
    > >> *******************************************************************
    > >> ***** WARNING WARNING WARNING WARNING WARNING WARNING WARNING *****
    > >> *******************************************************************
    > >> ======================================================================
    > >> Please review the following configuration information:
    > >>   Kernel source directory = /usr/src/kernel-source-2.4.26
    > >>   Kernel build directory = /usr/src/kernel-source-2.4.26
    > >>   Kernel symbol table = /boot/System.map-2.4.26-1-386
    > >>   Kernel version probed from kernel build = 2.4.26
    > >>   Kernel running currently = 2.4.26-1-386
    > >> ======================================================================
    > >
    > >
    > >    But when I asked the system admin if the versions where different,
    > > he said that the "-1-386" is just a kind of label and that the
    > > versions are the same. Could you help me with this?
    > >
    > > Thanks in advance for your help,
    > > Paolo Victor
    > 
    > --
    > Paul H. Hargrove                          PHHargrove_at_lbl_dot_gov
    > Future Technologies Group
    > HPC Research Department                   Tel: +1-510-495-2352
    > Lawrence Berkeley National Laboratory     Fax: +1-510-486-6900
    > 
    >
    

  • Next message: Paul H. Hargrove: "Re: Unresolved symbol errors when trying to install BLCR modules"