Click to See Complete Forum and Search --> : C Headers


rsx155
05-18-2004, 11:01 PM
Sorry if this is the wrong forum to post, Im a newbie to linux. Anyway my problem is Im trying to install Vmware and Ive hit a road bump. I go into console and run vmware-config.pl and get the following message

None of VMware Workstation's pre-built vmmon modules is suitable for your
running kernel. Do you want this program to try to build the vmmon module for
your system (you need to have a C compiler installed on your system)? [yes]

I type yes and get the following

Using compiler "/usr/bin/gcc". Use environment variable CC to override.

What is the location of the directory of C header files that match your running
kernel? [/usr/src/linux/include]

After this I dont know where or how to find my C header files. Im running SUSE 9.0 pro. Ive got the compilers installed......I'm lost. Any help would be much appreciated!

Mike

remember there are 10 types of people in the world,
those who understand binary, and those who don't.

kapn_kapong
05-18-2004, 11:53 PM
it is usually in /usr/include or /usr/local/include .

tecknophreak
05-19-2004, 11:34 AM
It appears as though it's looking for the kernel's build includes, which usually reside under /usr/src/linux/include. However, this requires you to have the kernel source for your kernel installed.

It appears that SUSE uses RPMS? I run RH so I'm not sure. If so, type

rpm -q kernel-source

If it is installed, check the listings under /usr/src. If you have a directory named /usr/src/linux-2.4.x under /usr/src but no linux, create the link.

ln -s /usr/src/linux-2.4.x /usr/src/linux

If it is not installed load the kernel-source rpm from your installation disk.

bwkaz
05-19-2004, 06:51 PM
First, run uname -r. This tells you which kernel version you're running.

Then, tell the VMware configury to use /lib/modules/<output of uname -r>/build/include as its include path.

Since VMware needs to build a kernel module, it needs to have access to the headers for the running kernel (this means that if you upgrade your kernel later, you'll need to recompile this module -- for future reference). The headers for the running kernel are NOT NECESSARILY in /usr/src/linux/include, even though a lot of distros put them there. Mine are in /home/myusername/linux-2.6.5 right now. The guaranteed way to find the headers for kernel version X is to look in /lib/modules/X/build/include (build is a symlink to the actual location of the kernel source, wherever that may be).

If you don't have a "build" directory in that subdirectory of /lib/modules, or if you have it but the symlink is broken, then you need to install your distro's kernel-source package.

MrPointy
05-19-2004, 07:28 PM
duplicate post (http://www.justlinux.com/forum/showthread.php?threadid=127808&highlight=vmware)

bwkaz
05-19-2004, 10:23 PM
Yes it is, good catch, thanks!

Follow-ups to the thread in Software (linked to by MrPointy), please...