On 2021-12-03 at 07:52, Hans wrote: > Hi folks, > > for kali-linux I need to build a kernel-module (it is the nvidia > kernel module). Note that this is not Debian, so is not strictly on-topic for this mailing list. However, at least at a glance it doesn't look like there's anything distro-specific about the question. > Make module does not work, as it says, kernel is build with gcc-10 > and installed is gcc-11. > > Setting IGNORE_CC_MISMATCH is set to 1 (which is default). > > How can I set the environment, to use the older gcc version once, > without deinstalling gcc-11 or killing my whole system? The details will vary depending on the build system of the module, including both the build tools used and the exact details of how this particular codebase is configured to build. I haven't touched, or looked at, the NVIDIA kernel module in long enough that I don't know the specifics for that exact case. However, the short version that should work for most cases is: * Make sure that you actually have gcc-10 installed. * At build time, specify the C compiler as being GCC 10, rather than the system default C compiler. (And possibly do the same for other compilation tools - the C preprocessor, the C++ compiler, the linker, the assembler, ...) In the type of build system that used to be most common - and might still be, for all I know - this latter could be done by specifying environment variables at the start of the build command line; for example, 'CC=gcc-10 .\configure' or 'CC=gcc-10 make'. (Other tools can be specified with variable names such as CPP, CXX, et cetera.) In some cases, however, you might have to use a more advanced method to specify what compiler to use. In some cases - and the NVIDIA kernel module might be one of them - the build system might be complicated enough that you would need to pass special, domain-specific arguments to the configure script or its equivalent; in order to find out what syntax you'd need to use there, we'd need to examine the build system itself and find out what its interfaces look like. -- The Wanderer The reasonable man adapts himself to the world; the unreasonable one persists in trying to adapt the world to himself. Therefore all progress depends on the unreasonable man. -- George Bernard Shaw
Attachment:
signature.asc
Description: OpenPGP digital signature