ndiswrapper 1.5 does not emerge on my system and most probably this is because
of kernel 2.4.28. A unhappy combination...
WORKAROUND: Download ndiswrapper from sourceforge, edit driver/usb.c and
comment out lines 310-312 so that they look like this:
//#ifdef USB_ASYNC_UNLINK
// urb->transfer_flags |= URB_ASYNC_UNLINK;
//#endif
Then it compiles. Maybe this should become a path for 2.4.x kernel based
systems for the ebuild?
Reproducible: Always
Steps to Reproduce:
1. unmask ndiswrapper-1.5
2. Do emerge =ndiswrapper-1.5
Actual Results:
Calculating dependencies ...done!
>>> emerge (1 of 1) net-wireless/ndiswrapper-1.5 to /
>>> md5 files ;-) ndiswrapper-1.5.ebuild
>>> md5 files ;-) ndiswrapper-1.2.ebuild
>>> md5 files ;-) files/digest-ndiswrapper-1.2
>>> md5 files ;-) files/digest-ndiswrapper-1.5
>>> md5 files ;-) files/ndiswrapper-1.2-suspend2.patch
>>> md5 src_uri ;-) ndiswrapper-1.5.tar.gz
* Determining the location of the kernel source code
* Found kernel source directory:
* /usr/src/linux
* Found sources for kernel version:
* 2.4.28
* Checking for suitable kernel configuration options:
>>> Unpacking source...
>>> Unpacking ndiswrapper-1.5.tar.gz to /var/tmp/portage/ndiswrapper-1.5/work
* Applying ndiswrapper-1.2-suspend2.patch ...
[ ok ]
* The only kernels that will work are gentoo-sources, vanilla-sources, and
suspen d2-sources.
* No other kernels are supported. Kernels like the mm kernels will NOT work.
>>> Source unpacked.
cc -Wall -g -DUTILS_VERSION=\"1.5\" -c -o loadndisdriver.o loadndisdriver.c
gcc -o loadndisdriver loadndisdriver.o
* Preparing ndiswrapper module
cc -O2 -mcpu=i686 -fomit-frame-pointer -DEXPORT_SYMTAB -DMODVERSIONS
-include //us r/src/linux/include/linux/modversions.h
-DDRIVER_VERSION=\"1.5\" -DLINUX -D__KERNE L__ -DMODULE
-I//usr/src/linux/include -Wall -Wstrict-prototypes -fomit-frame-poin
ter -fno-strict-aliasing -pipe -O2 -mpreferred-stack-boundary=2 -c -o hal.o
hal .c
[...skipped stuff .... ]
cc -O2 -mcpu=i686 -fomit-frame-pointer -DEXPORT_SYMTAB -DMODVERSIONS
-include //usr/src/linux/include/linux/modversions.h -DDRIVER_VERSION=\"1.5\"
-DLINUX -D__KERNEL__ -DMODULE -I//usr/src/linux/include -Wall
-Wstrict-prototypes -fomit-frame-pointer -fno-strict-aliasing -pipe -O2
-mpreferred-stack-boundary=2 -c -o usb.o usb.c
cc -O2 -mcpu=i686 -fomit-frame-pointer -DEXPORT_SYMTAB -DMODVERSIONS
-include //usr/src/linux/include/linux/modversions.h -DDRIVER_VERSION=\"1.5\"
-DLINUX -D__KERNEL__ -DMODULE -I//usr/src/linux/include -Wall
-Wstrict-prototypes -fomit-frame-pointer -fno-strict-aliasing -pipe -O2
-mpreferred-stack-boundary=2 -c -o divdi3.o divdi3.c
usb.c: In function `wrap_alloc_urb':
usb.c:311: error: `URB_ASYNC_UNLINK' undeclared (first use in this function)
usb.c:311: error: (Each undeclared identifier is reported only once
usb.c:311: error: for each function it appears in.)
usb.c: In function `wrap_get_descriptor':
usb.c:943: warning: implicit declaration of function
`usb_get_string_R8f2b4359'
make: *** [usb.o] Error 1
make: *** Waiting for unfinished jobs....
!!! ERROR: net-wireless/ndiswrapper-1.5 failed.
!!! Function linux-mod_src_compile, Line 505, Exitcode 2
!!! Unable to make KSRC=//usr/src/linux
KVERS=24 all.
!!! If you need support, post the topmost build error, NOT this status
message.