Missing kernel symbol file for latest update

opensuse v11.2
linux 2.6.31.12-0.1-desktop x86_64

The kernel symbol file is still at 2.6.31.3. Apparently the symbol file did not get updated with the rest of the kernel development files. At least one program does not build because of that.

Any idea where to acquire the missing file(s)?

Should be in the update repo:

$ zypper info kernel-syms
Loading repository data...
Reading installed packages...


Information for package kernel-syms:

Repository: openSUSE-11.2-Update
Name: kernel-syms
Version: 2.6.31.12-0.1.1
Arch: x86_64
Vendor: openSUSE
Installed: No
Status: not installed
Installed Size: 1.0 KiB
Summary: Kernel Symbol Versions (modversions)
Description:
...

Okay. There must be some other error then. Perhaps the package database is not being updated? The package manager definitely shows an earlier version as current.

If it is installed, why cannot VirtualBox not find it to build its driver?

Information for package kernel-syms:
Repository: @System
Name: kernel-syms
Version: 2.6.31.12-0.1.1
Arch: x86_64
Vendor: openSUSE
Installed: Yes
Status: up-to-date
Installed Size: 1.0 KiB
Summary: Kernel Symbol Versions (modversions)

The package you want for that is actually kernel-source.

The package manager shows the kernel sources at the same revision as the compiled kernel. It is the kernel symbol file that is missing or mislabeled, or something.

Nope, kernel-source is one of the requisites to compile vboxdrv. Works for me. As you can see, I don’t even have kernel-syms installed. You should look in /var/log/vbox-install.log for detailed messages.

Here the head from the log file. The contents are the same as in the past when the kernel sources were missing, then when the syms were missing. Now, I have no clue what is missing.

Makefile:155: Warning: using /usr/src/linux as the source directory of your Linux kernel. If this is not correct, specify KERN_DIR=<directory> and run Make again.
make KBUILD_VERBOSE=1 -C /usr/src/linux SUBDIRS=/tmp/vbox.0 SRCROOT=/tmp/vbox.0 modules
test -e include/linux/autoconf.h -a -e include/config/auto.conf || (            \
        echo;                                                           \
        echo "  ERROR: Kernel configuration is invalid.";               \
        echo "         include/linux/autoconf.h or include/config/auto.conf are missing.";      \
        echo "         Run 'make oldconfig && make prepare' on kernel src to fix it.";  \
        echo;                                                           \
        /bin/false)

  ERROR: Kernel configuration is invalid.
         include/linux/autoconf.h or include/config/auto.conf are missing.
         Run 'make oldconfig && make prepare' on kernel src to fix it.

mkdir -p /tmp/vbox.0/.tmp_versions ; rm -f /tmp/vbox.0/.tmp_versions/*

  WARNING: Symbol version dump /usr/src/linux-2.6.31.12-0.1/Module.symvers
           is missing; modules will have no dependencies and modversions.

Not sure what happened in your case. Here’s what the first few lines should look like:

** Compiling vboxdrv
make KBUILD_VERBOSE= -C /lib/modules/2.6.31.12-0.1-desktop/build SUBDIRS=/tmp/vbox.0 SRCROOT=/tmp/vbox.0 modules
make -C ../../../linux-2.6.31.12-0.1 O=/usr/src/linux-2.6.31.12-0.1-obj/x86_64/desktop/. modules

I’m using the Sun PUEL version, installed from the Sun repo using instructions elsewhere on this forum in the last few days.

Me either. It built fine with version v3.1.2, before the kernel upgrade. V3.1.2 does not build, either, now.

I wonder if you have or had the OSE version installed from the openSUSE repos. Some people say that this interferes with the PUEL version. If so you might want to remove the OSE version first.

You should only need the kernel-source. That will include all the header files and that is what is needed. Having symbols installed is only confusing things because it is also the headers. Deinstall symbols.

Don’t know why symbols has not updated but you don’t need it if you have source.

Hi
? when doing any work with the openSUSE kernel, you need kernel-source,
linux-kernel-headers, kernel-syms, make and gcc or you could install
the devel_kernel pattern.


Cheers Malcolm °¿° (Linux Counter #276890)
SUSE Linux Enterprise Desktop 11 (x86_64) Kernel 2.6.27.42-0.1-default
up 6 days 21:39, 4 users, load average: 0.12, 0.12, 0.16
GPU GeForce 8600 GTS Silent - CUDA Driver Version: 190.53

Bzzt! Befuddled admin.

I have been working on too many computers at once. The computer where VB would not build did indeed install the latest kernel version, but I had not yet rebooted the computer for it to take effect.

Once it was rebooted, vboxdrv built as expected.