Hello. I just fresh-installed 5.3 onto my laptop, and I have a problem trying to get wifi working. Be aware that I have 5.2 on it, and did the same process, and it worked great!
I'm using http://wiki.centos.org/HowTos/Laptops/WirelessAR5007EG -- as I did for 5.2. The problem arises in section 6:
[mpk@a3680 madwifi-hal-0.10.5.6-r3968-20090402]$ make /bin/sh: line 0: cd: /lib/modules/2.6.18-128.el5/build: No such file or directory Makefile.inc:66: *** /lib/modules/2.6.18-128.el5/build is missing, please set KERNELPATH. Stop. [mpk@a3680 madwifi-hal-0.10.5.6-r3968-20090402]$ ls ath BuildCaps.inc hal kernelversion.c Makefile.kernel README release.h THANKS ath_hal contrib include Makefile net80211 README.dfs scripts tools ath_rate COPYRIGHT INSTALL Makefile.inc patch-kernel regression SNAPSHOT
Q: 'make' can be run as $ - correct?
In another terminal: [root@a3680 tmp]# whatprovides build -bash: whatprovides: command not found [root@a3680 tmp]# rpm -q gcc gcc-c++ make kernel-devel gcc-4.1.2-44.el5 gcc-c++-4.1.2-44.el5 make-3.81-3.el5 kernel-devel-2.6.18-128.1.6.el5
I haven't a clue what's going on here, or how to fix it. Google's linux SE couldn't find any hits.
On Sun, Apr 5, 2009 at 10:25 AM, Michael Klinosky mpk2@enter.net wrote:
Hello. I just fresh-installed 5.3 onto my laptop, and I have a problem trying to get wifi working. Be aware that I have 5.2 on it, and did the same process, and it worked great!
I'm using http://wiki.centos.org/HowTos/Laptops/WirelessAR5007EG -- as I did for 5.2. The problem arises in section 6:
[mpk@a3680 madwifi-hal-0.10.5.6-r3968-20090402]$ make /bin/sh: line 0: cd: /lib/modules/2.6.18-128.el5/build: No such file or directory Makefile.inc:66: *** /lib/modules/2.6.18-128.el5/build is missing, please set KERNELPATH. Stop. [mpk@a3680 madwifi-hal-0.10.5.6-r3968-20090402]$ ls ath BuildCaps.inc hal kernelversion.c Makefile.kernel README release.h THANKS ath_hal contrib include Makefile net80211 README.dfs scripts tools ath_rate COPYRIGHT INSTALL Makefile.inc patch-kernel regression SNAPSHOT
Q: 'make' can be run as $ - correct?
In another terminal: [root@a3680 tmp]# whatprovides build -bash: whatprovides: command not found [root@a3680 tmp]# rpm -q gcc gcc-c++ make kernel-devel gcc-4.1.2-44.el5 gcc-c++-4.1.2-44.el5 make-3.81-3.el5 kernel-devel-2.6.18-128.1.6.el5
I haven't a clue what's going on here, or how to fix it. Google's linux SE couldn't find any hits.
Seems you don't have the kernel-devel package installed for the kernel you're running.
Your build error is for 2.6.18-128, but your kernel-devel is for -128.1.6. Mostly, your problems should be solved if you run a 'yum update' and reboot. This will ensure that you've got the updated kernel (you probably already do, but a yum update will make sure) and that your kernel matches the kernel-devel package you have installed.
Jim Perrin wrote:
Your build error is for 2.6.18-128, but your kernel-devel is for -128.1.6. Mostly, your problems should be solved if you run a 'yum update' and reboot. This will ensure that you've got the updated kernel (you probably already do, but a yum update will make sure) and that your kernel matches the kernel-devel package you have installed.
I noticed this: ---> Package kernel.i686 0:2.6.18-128.1.6.el5 set to be installed
Interesting!
Well, I updated, rebooted and tried again - it worked!! :) Thank you!
I asked about 'make' as $ (I recall someone stating on a maillist that $ could 'make', but # had to 'make install'). Seems that's wrong; I had to be root to make.
Is there a log of 'yum update' results?
Btw, just in case I confused anyone:
Be aware that I have 5.2 on it, and did the same process, and it worked great!
I meant to type "... I had 5.2 on it, ..." :)
On Sun, Apr 5, 2009 at 11:38 AM, Michael Klinosky mpk2@enter.net wrote:
I asked about 'make' as $ (I recall someone stating on a maillist that $ could 'make', but # had to 'make install'). Seems that's wrong; I had to be root to make.
It's slightly more complicated than that. The 'make' process is basically a scripted set of commands, usually related to various build functions, and the permissions required depend on what a given 'make' command needs to do. You may need to be root to make, because it's putting things into /lib/modules/`uname -r` which requires root permissions.
Most files can be (and indeed should be for security reasons) built as a normal user. It's usually just writing the installed files to the final destination such as /usr/local/ or in your case /lib/modules/ which requires elevated privileges. Have I made this clearer, or completely lost you?
Jim Perrin wrote:
Have I made this clearer, or completely lost you?
Definitely helped! Basically, try it as user; if it doesn't work, then go root.
I understand that some (most?) programs don't need to fiddle with the OS to such a level - they can be made by a user.
On Sun, 2009-04-05 at 16:57 -0400, Jim Perrin wrote:
On Sun, Apr 5, 2009 at 11:38 AM, Michael Klinosky mpk2@enter.net wrote:
I asked about 'make' as $ (I recall someone stating on a maillist that $ could 'make', but # had to 'make install'). Seems that's wrong; I had to be root to make.
It's slightly more complicated than that. The 'make' process is basically a scripted set of commands, usually related to various build functions, and the permissions required depend on what a given 'make' command needs to do. You may need to be root to make, because it's putting things into /lib/modules/`uname -r` which requires root permissions.
I think the confusion comes because a lot of stuff has a separate build and install target in the make files. This is intended to let the builds of the components be done by a normal user and then a sudo or root user can install to system locations.
For those packages that don't provide the separate steps, users will often stumble, since they stopped reading docs long ago, if they are like me. Once I've done something 100 times, I get slack and (without any thought) just do "the usual".
Most files can be (and indeed should be for security reasons) built as a normal user. It's usually just writing the installed files to the final destination such as /usr/local/ or in your case /lib/modules/ which requires elevated privileges. Have I made this clearer, or completely lost you?
<snip>
on 4-5-2009 8:38 AM Michael Klinosky spake the following:
Jim Perrin wrote:
Your build error is for 2.6.18-128, but your kernel-devel is for -128.1.6. Mostly, your problems should be solved if you run a 'yum update' and reboot. This will ensure that you've got the updated kernel (you probably already do, but a yum update will make sure) and that your kernel matches the kernel-devel package you have installed.
I noticed this: ---> Package kernel.i686 0:2.6.18-128.1.6.el5 set to be installed
Interesting!
Well, I updated, rebooted and tried again - it worked!! :) Thank you!
I asked about 'make' as $ (I recall someone stating on a maillist that $ could 'make', but # had to 'make install'). Seems that's wrong; I had to be root to make.
Is there a log of 'yum update' results?
Btw, just in case I confused anyone:
Be aware that I have 5.2 on it, and did the same process, and it worked great!
I meant to type "... I had 5.2 on it, ..." :)
No one said that root can't compile, it is just not safe to do so. You usually compile as a user, and install as root. ($ and #)