Thread: [Ndiswrapper-general] 1.16 dependency on gcc 3.4
Status: Beta
Brought to you by:
pgiri
From: Jan H. S. <me...@ja...> - 2006-05-14 22:50:17
|
Working on some other problem ('ndiswrapper hangs after reboot'), I tried to update from 1.15 to 1.16. Unfortunately, ndiswrapper now depends on gcc 3.4 while Debian Sarge is still at 3.3.5. Can this dependency be removed? It is something about 'fastcall'. From winnt_types.h: #define wstdcall __attribute__((__stdcall__, regparm(0))) #if defined(__GNUC__) && ((__GNUC__ == 3 && __GNUC_MINOR__ > 3) || __GNUC__ > 3) #undef fastcall #define wfastcall __attribute__((fastcall)) #else #error "gcc 3.4 or newer should be used for compiling this module" #endif I tried to ignore the dependency by changing the '__GNUC_MINOR__ > 3', but then all the wfastcall attributes were ignored and ndiswrapper made the system hang completely on 'modprobe ndiswrapper'. Any ideas? Thanks Jan Henrik |
From: Brian S. <ndi...@br...> - 2006-05-15 03:38:48
|
> Working on some other problem ('ndiswrapper hangs after reboot'), I > tried to update from 1.15 to 1.16. > > Unfortunately, ndiswrapper now depends on gcc 3.4 while Debian Sarge is > still at 3.3.5. Can this dependency be removed? Debian has gcc 3.4. The package name is gcc-3.4 The executable is called gcc-3.4 too. |
From: Jan H. S. <me...@ja...> - 2006-05-19 09:41:08
|
Brian Sammon wrote: >> Working on some other problem ('ndiswrapper hangs after reboot'), I >> tried to update from 1.15 to 1.16. >> >> Unfortunately, ndiswrapper now depends on gcc 3.4 while Debian Sarge >> is still at 3.3.5. Can this dependency be removed? > > Debian has gcc 3.4. > The package name is gcc-3.4 > The executable is called gcc-3.4 too. Compiled with gcc-3.4, the driver could not be inserted into the kernel. Since I have got about no experience with Linux, I am just speculating: a module compiled with gcc-3.4 cannot be recognized by a kernel compiled with gcc-3.3, because there was an ABI change between this two versions of gcc. Is that correct? In that case, there is probably no solution but recompilation of the kernel and all modules... which I do not intent to do. Thanks anyhow Jan Henrik |
From: Larry F. <Lar...@lw...> - 2006-05-19 15:56:01
|
Jan Henrik Sylvester wrote: > Compiled with gcc-3.4, the driver could not be inserted into the kernel. > Since I have got about no experience with Linux, I am just speculating: > a module compiled with gcc-3.4 cannot be recognized by a kernel compiled > with gcc-3.3, because there was an ABI change between this two versions > of gcc. Is that correct? In that case, there is probably no solution but > recompilation of the kernel and all modules... which I do not intent to do. With kernels of the 2.16.x series, the vermagic string of the kernel and a module must match before the module will be loaded. Since you do not plan to recompile the kernel, your only options are to change the vermagic information in the ndiswrapper module, or change your compiler. I remember some Perl code to affect this change; however, my first attempts at googling for a reference failed. Sorry. Larry |
From: Giridhar P. <gi...@lm...> - 2006-05-19 16:29:34
|
Usb devices are not well supported by ndiswrapper with 2.4 kernels. In fact, your issue of 'ndiswrapper -l' hanging has nothing to do with ndiswrapper - it just uses 'lsusb' to list the devices and if that hangs, then you have other issues with usb and 2.4 kernel(s). I suggest you install 2.6 kernel (Debian sarge should have it compiled with gcc-4.0) and with 1.16, atheros usb device should work fine. -- Giri |
From: Jan H. S. <me...@ja...> - 2006-05-21 17:27:00
|
Giridhar Pemmasani wrote: > Usb devices are not well supported by ndiswrapper with 2.4 kernels. In > fact, your issue of 'ndiswrapper -l' hanging has nothing to do with > ndiswrapper - it just uses 'lsusb' to list the devices and if that > hangs, then you have other issues with usb and 2.4 kernel(s). I > suggest you install 2.6 kernel (Debian sarge should have it compiled > with gcc-4.0) and with 1.16, atheros usb device should work fine. I never had a 2.4 Kernel. It has always been 2.6.8-2. I guess it is compiled with gcc-3.3, otherwise there is a different problem why the module cannot be inserted into the kernel. I think I will give up upgrading to 1.16 until Debian Etch is stable. Thanks Jan Henrik |