![](https://seccdn.libravatar.org/avatar/d09bcfa0e73bd3815a4a73cd8d7e87bb.jpg?s=120&d=mm&r=g)
Greetings all, and especially SuSE builders. I installed the default SuSE kernel when installing 7.2 According to 'uname -r' this is "2.4.4-4GB". I also installed "linux -- the rest of the kernel source". In directory /usr/src/ I have linux -> linux-2.4.4 Under /usr/src/linux-2.4.4 the only files named "version.h" are ./include/i386/math-emu/version.h ./include/pcmcia/version.h neither of which is relevant to what I want to do, which is to compile the VNware modules for vmware-2.0.4 from the VMWare site (the version with the SuSE-7.2 distribution is 2.0.3 which does not support bidirectional parallel port "parport0": in fact vmware bombs out with a kernel OOPS if I try to connect this). Similar if you also install the "sources for the SuSE kernel" under /usr/src/linux-2.4.4.SuSE with the addition of an equally irrelevant "version.h" under SCSI drivers. Under / the only other "version.h" is /usr/include/linux/version.h which tells me that the version is 2.4.3, which is not the version of the installed kernel. And, yes, I have checked that the define #define LINUX_VERSION_CODE 132009 therein converts to hex as 20403 which is the result of evaluating the macro #define KERNEL_VERSION(a,b,c) ((a) << 16) + ((b) <<8) +(c)) with a=2, b=4, c=3. So, QUESTIONS: 1. Does this mean that SuSE has installed a mixture of code for kernel 2.4.3 with code for 2.4.4? 2. Or is the "2.4.3" code which is installed anyway (i.e. whether or not you install "the rest of the linux source code") the same for both versions, so that the "2.4.3" stuff is also valid for the "2.4.4" stuff which is under /usr/src/linux-2.4.4 ? 3. If so, would it then be safe to edit /usr/include/linux/version.h so that it says "2.4.4" instead of "2.4.3" ? Or would this break something? 4. Alternatively, would it be safe to leave it as it is, when compiling modules (as for VMWare-2.0.4) which are to be compiled against kernel version? Or would this mean that the modules would fail because they don't match the kernel version? 5. If (3) would be safe, but (4) would not be safe, and since the default kernel is 2.4.4, then why didn't SuSE fix "version.h" in the first place? 6. If (3) would not be safe, and (4) would not be safe, then what should I do? Put a fake "version.h" for kernel version 2.4.4 under /usr/src/linux/include/linux/ which is where VMWare seems to expect to find it anyway? If not, then what? 7. Could I compile a 2.4.4 kernel (SuSE or non-SuSE) with things as they are where "version.h" is concerned [yes/no]? How about kernel-version-specific modules [yes/no]? 8. Any other related inconsistencies? 9. If you intend to use the SuSE 2.4.4 kernel, then what kernel source packages should be installed, to be sure of getting things right when compiling other kernel-sensitive software (for example, VMware modules)? Or do such inconsistencies mean that you risk failure when you try? Please help. Ted. -------------------------------------------------------------------- E-Mail: (Ted Harding) <Ted.Harding@nessie.mcc.ac.uk> Fax-to-email: +44 (0)870 167 1972 Date: 21-Jul-01 Time: 21:02:58 ------------------------------ XFMail ------------------------------