"no kernel module build environment" Error message during RPM install

This information applies to the ATI Proprietary Linux Driver.

The following error message may appear while trying to install:

*** Trying to install a precompiled kernel module.
*** WARNING ***
Tailored kernel module for fglrx not present in your system.
You must go to /lib/modules/fglrx/build_mod subdir
and execute './make.sh' to build a fully customed kernel module.
Afterwards go to /lib/modules/fglrx and run './make_install.sh'
in order to install the module into your kernel's module repository.
(see readme.txt for more details.)

As of now you can still run your XServer in 2D, but hardware acclerated
OpenGL will not work and 2D graphics will lack performance.

failed.
*** Error: no kernel module build environment - please consult readme.

A special driver file (or "kernel module") is necessary for the ATI driver to provide hardware graphics acceleration. For this kernel module to work properly, it must be tailored to your specific system configuration.

The ATI driver package includes a few bundled versions of this kernel module to work with most systems. If your system matches one of these configurations, then a pre-packaged kernel module should be installed for you and the information below should not be necessary.

However, if your system does not match any of these configurations, then the installer will try to build a custom module for you from scratch. This process will require the following software to be installed

  • Kernel source code
  • Kernel header (include) files
  • GCC compiler
  • Make Utility

NOTE: Kernel source code and header files must match the version of the kernel you are using.

NOTE: Your kernel may have restrictions on which compiler versions can be used. Please check your Linux documentation for more information on installing kernel source code.

Once the kernel sources have been properly installed, you should be able to manually build and install the kernel module.

Creating a symbolic link /usr/src/linux

It is also possible that the kernel source code is installed, but the /usr/src/linux symlink has not been created.

Proceed as follows to make sure this link exists (you may need to be logged in as root):

NOTE: "kernel-source-x.x.x" is an example only - the name of your own kernel source tree should be used instead. Yours may be named "linux-x.x.x" or something else entirely. Check your kernel documentation if you're not sure.

  1. cd /usr/src

  2. ls -l

    The following (or similar) should appear in the directory listing
    (where x.x.x is your kernel version):

    linux -> kernel-source-x.x.x

    If so you may disregard the remaining step

  3. If "linux" (just "linux") is not in the listing, then create a symbolic link as follows:

    ln -s kernel-source-x.x.x linux

INFO-BASE#4475