rt2570 Will Not Build: Error 1 and 2

Live forum: http://rt2x00.serialmonkey.com/viewtopic.php?t=5029

Jonathanius

05-10-2008 21:22:09

As stated in the title I'm having trouble installing the rt2570 enhanced legacy driver.
I'm running on a Debian 4.0r4 install that's only a few hours old, the first thing I did on it was to recompile the kernel to 2.6.18.7 because the linux-kernel-headers package looks like its for that kernel and not the 2.6.18.6 kernel that it comes with. After installing all the required packages and the new kernel, I tried to install today's CVS build of the aforementioned driver.
Here's what I got
[code19c2dc9p]Computer:/home/user/file/rt2570-cvs-2008093011/Module# make
make[1]: Entering directory `/usr/src/linux-2.6.18.7'
CC [M] /home/user/file/rt2570-cvs-2008093011/Module/rtusb_main.o
In file included from /home/file/rt2750_DRIVER/rt2570-cvs-2008093011/Module/rtusb_main.c:36:
/home/file/rt2750_DRIVER/rt2570-cvs-2008093011/Module/rt_config.h:106:27: error: linux/freezer.h: No such file or directory
/home/file/rt2750_DRIVER/rt2570-cvs-2008093011/Module/rtusb_main.c: In function 'MlmeThread':
/home/file/rt2750_DRIVER/rt2570-cvs-2008093011/Module/rtusb_main.c:1438: warning: implicit declaration of function 'set_freezable'
make[2]: *** [/home/file/rt2750_DRIVER/rt2570-cvs-2008093011/Module/rtusb_main.o] Error 1
make[1]: *** [_module_/home/file/rt2750_DRIVER/rt2570-cvs-2008093011/Module] Error 2
make[1]: Leaving directory `/usr/src/linux-2.6.18.7'
rt2570.ko failed to build!
make: *** [module] Error 1[/code19c2dc9p]

I know from other threads on these forums that many compilation errors can be resolved by installing kernel header or kernel sources so I made sure to have the kernel source code, the linux-kernel-headers package and all the linux-headers packages I could find

[list19c2dc9p]linux-headers-2.6-486
linux-headers-2.6-686
linux-headers-2.6.18-6
linux-headers-2.6.18-6-486
linux-headers-2.6.18-6-686
linux-headers-2.6.18.7-custom (compiled specifically for my kernel)[/listu19c2dc9p]

I'm completely new to Linux, so I've probably overlooked something basic, as always any help will be greatly appreciated.
-Jonathanius

Vern

06-10-2008 17:05:48

Hi Jonathanius,

On my 2.6.26 source tree, as supplied by kernel.org, the file is "include/linux/freezer.h". So you should have[code28o5guqa]/usr/src/linux-2.6.18.7/include/linux/freezer.h[/code28o5guqa]Also, you should be building while running that system - i.e. the output of 'uname -r' should be "2.6.18.7".

Thanks,

Edit grepping through my patch files, it looks like this thing didn't really show up until 2.6.23. This will take a little digging. Hope you can wait.

Thanks again,

Jonathanius

06-10-2008 18:39:47

Vern,
The only reason I am using the 2.6.18.7 kernel is because the Debian package linux-kernel-headers package that I think I need appears to specifically for that kernel, I keep hearing about needing the kernel headers, do I need those if I have the kernel sources? Aren't the headers just a part of the source-code? If I don't need this package I'd like to upgrade to the latest kernel anyway so there should be no need of a work-around.
-Jonathanius

Spy84464

06-10-2008 19:37:58

Hello,
If you have your kernel sources installed, then they'll be used instead of the headers, so you don't have to worry about them.
The driver is compiled for the kernel in use.

Regards,
Romain

Jonathanius

06-10-2008 20:37:51

Romain,
Thanks for answering my question I'm now configuring my kernel.
I will post when I see if the driver builds.
-Jonathanius