4

I have downloaded the fglrx driver installer from the ATI drivers page.

when I start the installation, everything goes smoothly until I hit an error message, telling me to check /usr/share/ati/fglrx-install.log.

The contents of that file are as follows:

Check if system has the tools required for installation. fglrx installation requires that the system have kernel headers. /lib/modules/3.8.11-200.fc18.x86_64/build/include/linux/version.h cannot be found on this system. One or more tools required for installation cannot be found on the system. Install the required tools before installing the fglrx driver. Optionally, run the installer with --force option to install without the tools. Forcing install will disable AMD hardware acceleration and may make your system unstable. Not recommended.

Now, after a bit of searching around, I found that the symbolic link called build in /lib/modules/3.8.11-200.fc18.x86_64 points to a nonexistent location.

I installed the kernel-devel package, and now it had pointed to an existing directory.

However, in the /lib/modules/3.8.11-200.fc18.x86_64/build/include/linux/ directory, that is populated with various header files - I cannot find the one I need - version.h.

How can I solve this problem? Should I install the driver in a different manner? Which other package can I install to get the version.h file?

I'm running a clean install (default) of Fedora 18, which I had updated today.

13

Install the kernel-headers package and try again. If it doesn't work, try

cp -v /usr/include/linux/version.h /lib/modules/$(uname -r)/build/include/linux

  • I'm afraid that the file is still not there. – jcora May 12 '13 at 16:41
  • Edited my answer. – schaiba May 12 '13 at 16:59
0

one can also link the header file:

ln -S /lib/modules/$(uname -r)/build/include/linux/version.h /usr/include/linux/version.h
  • 1
    Isn't your link syntax backwards? – naught101 Nov 17 '15 at 0:12
  • @naught101 not exactly sure about the order of parameters right now; it's just an easy way to resolve absent headers - while the ln command has four forms of syntax: linux.die.net/man/1/ln – Martin Zeitler Nov 17 '15 at 1:11
  • Ah, I mis-read that -S as -s. Confusing.. – naught101 Nov 17 '15 at 4:25
  • @syslogic: Really? The suggested edit looked right to me. – G-Man Sep 2 '16 at 23:50
  • @G-Man read the above explanation (that was also S/s mistaken), while the path might vary in between distributions/versions (the one which I've used matches the one in the answer above). which should be nevertheless no problem, hence the locate command exists. please add your own answer. – Martin Zeitler Sep 3 '16 at 0:00
0

I had the same problem installing newer AMD drivers on ubuntu/willy:

fglrx installation requires that the system has kernel headers. /lib/modules/4.2.0-42-generic/build/include/linux/version.h cannot be found on this system. Install kernel headers using the command apt-get install linux-headers-4.2.0-42-generic.

Answers with cp and ln are good but first you have to do is find suitable version.h header on your system. For example using (on debian/ubuntu):

apt-file search version.h |  grep $(uname -r)
...
linux-headers-4.2.0-42-generic: /usr/src/linux-headers-4.2.0-42-generic/include/generated/uapi/linux/version.h

Only now you can be sure that you copy or link a good file to place where AMD wishes. In my case:

cp -v /usr/src/linux-headers-4.2.0-42-generic/include/generated/uapi/linux/version.h /lib/modules/4.2.0-42-generic/build/include/linux

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.