Make problems
when I try to make NDISWrapper I get this error:
bash-3.1# cd /root/Desktop/Networkcard/ndiswrapper-1.50/ndiswrapper-1.50 bash-3.1# make make -C driver make[1]: Entering directory `/root/Desktop/Networkcard/ndiswrapper-1.50/ndiswrapper-1.50/driver' Makefile:64: *** No .config found in , please set KBUILD to configured kernel. Stop. make[1]: Leaving directory `/root/Desktop/Networkcard/ndiswrapper-1.50/ndiswrapper-1.50/driver' make: *** [all] Error 2 How do I fix this? I really appreciate any suggestions :) I'm running Slackware 12.0 with Kernel 2.6.21.5 |
Did you install the Linux kernel sources?
What release of Slackware are you runnning? Eric |
Quote:
I'm pretty sure I installed Linux Kernel Sources, but I'm not 100% sure. |
Quote:
Code:
ls /var/log/packages | grep kernel |
Code:
kernel-generic-2.6.21.5-i486-2 Im still pretty new at Linux. I shouldn't have all those should I? |
Nope, that looks fine.
Give a detailed output of /usr/src (ls -l /usr/src), there should be a symbolic link called linux pointing to the source directory. |
Code:
bash-3.1# ls -l /usr/src |
You should have a link /usr/src/linux, which points to the kernel sources linux-2.6.21.5. You need to place a .config file inside the sources (or create one by running either 'make menuconfig' or 'make oldconfig'. Once you have run one of these commands you should be able to compile ndiswrapper. In oredr to compile some programs you need to have the sources installed and they need to have been, at least, configured. This means you may not really need to compile the kernel sources -just that they be configured. This is because some programs that you want to compile will look for a file called 'version.h' inside the directory /usr/src/linux in order to know what version of kernel you are running. And sources which will compile a kernel module will reference some of the source files for the kernel.
|
I ran make menuconfig first, but I wasn't sure of what to change so I ran make oldconfig then tried to compile:
Code:
bash-3.1# cd /root/Desktop/Networkcard/ndiswrapper-1.50/ndiswrapper-1.50 |
Nope, you ran make oldconfig in the right directory.
However, in the /boot directory there are a bunch of configs for the kernels that ship with slackware. As your likely using one of those kernels (probably the huge kernel, but you can check with 'uname -r'), your best bet would be to copy the associated config file from /boot to /usr/src/linux, rename it to .config (overwriting whatever's there), and run 'make oldconfig'. But since your error message didn't change, this may not be your problem, and I really don't think this is a necessary step anyways. Another option for you would be to build an ndiswrapper package using the slackbuild found here (http://slackbuilds.org/repository/12...k/ndiswrapper/). There's a Howto on the site that explains how to use slackbuilds. I personally prefer this method as it generates a slackware package for easy maintenance. EDIT: you know what... it looks like you didn't configure ndiswrapper before running make. Try running ./configure before make. So your steps would be: './configure', 'make', 'make install'. But I still recommend the slackbuild :D EDIT 2:And this line 'lrwxrwxrwx 1 root root 14 2008-03-20 18:34 linux -> linux-2.6.21.5' indicates the symlink. Notice the 'l' at the beginning and the '->' |
Which kernel did you boot?
|
uname -r returns 2.6.21.5
Im about to try a slackbuild |
I used the slackbuild and:
Code:
bash-3.1# ndiswrapper -l Code:
module configuration already contains alias directive Edit: Oh, I forgot, there was something about a 4K Stack in the middle of the build, but it didnt cause any errors that stopped it and a missing symbolic link, but I dont think it said where it was. |
Quote:
|
Quote:
|
All times are GMT -5. The time now is 08:06 PM. |