The same error was reported back on version gs-sources 2.4.23_pre6-gss-r1: gcc -I. -I/usr/src/linux-2.4.25_pre7-gss-r5/include -D__KERNEL__ -I/usr/src/linux-2.4.25_pre7-gss-r5/include -Wall -Wno-trigraphs -O2 -fno-strict-aliasing -fno-common -fomit-frame-pointer -pipe -mpreferred-stack-boundary=2 -march=i686 -DMODULE -DMODVERSIONS -include /usr/src/linux-2.4.25_pre7-gss-r5/include/linux/modversions.h -DMODULE -DMODVERSIONS -include /usr/src/linux-2.4.25_pre7-gss-r5/include/linux/modversions.h -c mki24.c -o mki.o mki24.c: In function `mkia_alloc_ldt': mki24.c:533: error: structure has no member named `segments' mki24.c:534: error: structure has no member named `segments' make[1]: *** [mki.o] Error 1 make[1]: Leaving directory `/usr/src/linux-2.4.25_pre7-gss-r5/arch/i386/mki-adapter' make: *** [_mod_arch/i386/mki-adapter] Error 2 Reproducible: Always Steps to Reproduce: 1.Setup Kernel source with Win4Lin support 2.make dep && make modules modules_install bzImage 3. Actual Results: mki24.c: In function `mkia_alloc_ldt': mki24.c:533: error: structure has no member named `segments' mki24.c:534: error: structure has no member named `segments' make[1]: *** [mki.o] Error 1 make[1]: Leaving directory `/usr/src/linux-2.4.25_pre7-gss-r5/arch/i386/mki-adapter' make: *** [_mod_arch/i386/mki-adapter] Error 2 Expected Results: Build the kernel and modules. Portage 2.0.50-r5 (default-x86-2004.0, gcc-3.3.2, glibc-2.3.2-r9, 2.6.5-gentoo-r1) ================================================================= System uname: 2.6.5-gentoo-r1 i686 Pentium III (Coppermine) Gentoo Base System version 1.4.3.13 distcc 2.13 i686-pc-linux-gnu (protocols 1 and 2) (default port 3632) [disabled] Autoconf: sys-devel/autoconf-2.58-r1 Automake: sys-devel/automake-1.8.3 ACCEPT_KEYWORDS="x86 ~x86" AUTOCLEAN="yes" CFLAGS="-O2 -march=i686 -fomit-frame-pointer" CHOST="i686-pc-linux-gnu" COMPILER="gcc3" CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3/share/config /usr/share/config /var/qmail/alias /var/qmail/control" CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d" CXXFLAGS="-O2 -march=i686 -fomit-frame-pointer" DISTDIR="/usr/portage/distfiles" FEATURES="autoaddcvs ccache sandbox" GENTOO_MIRRORS="http://ftp.du.se/pub/os/gentoo http://mirror.datapipe.net/gentoo" MAKEOPTS="-j2" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="" SYNC="rsync://rsync.gentoo.org/gentoo-portage" USE="apm arts avi berkdb crypt cups encode foomaticdb gdbm gif gpm gtk2 imlib jpeg libg++ libwww mad mikmod motif mpeg ncurses nls oggvorbis opengl oss pam pdflib perl png python qt quicktime readline sdl slang spell ssl svga tcpd truetype x86 xml2 xmms xv zlib"
I got a clue about this from bug 49976. Apparently for the 2.4 kernels, netraverse had a horrible habbit of changing the mki-adaptor patch without changing the name of the file. I suggest people waiting on this bug try getting the latest 2.4 version of mki adaptor from the netraverse website, and see if that helps. It fixed this bug for me on win4lin-sources-2.4.26.
That resolution you present will fix win4lin-sources, but in the case of gs-sources, the patch files are only 2: 00_gs-sources-2.4.25 and 01_device_mapper, and the mki-adapter patch file is included in the 00_gs-sources-2.4.25, altered, because of the big fix on the kernel by the gentoo kernel devel team. And I have no knowledge for messing with that file and fixed.
gs-sources is no longer in portage as its outdated and unmaintained. Please use gentoo-sources for 2.4 or gentoo-dev-sources for 2.6.