I was having a great deal of difficulty installing official ati drivers from amd for many versions due to install failures.
Today I carefully read the /usr/share/ati/flgrx-install.log file which reported a compile error in one of the modules.
I managed to fix the problem with a very simple edit that I thought may be useful to others.
If your failed installation log file indicates an error due to
called object '2' is not a functionin /usr/src/kernels/18.104.22.168-6.fc15.x86_64/arch/x86/include/asm/uaccess_64.h then there is a very easy fix. Similar for
other fedora releases should also hold true.
1) cd /usr/src/kernels/22.214.171.124-6.fc15.x86_64/arch/x86/include/asm
(or to whatever release version you currently are using)
2a) cp uaccess_64.h uaccess_64.h-
2b) (2a) was for safety in case you need to go back.
3) edit uaccess_64.h with your favorite editor to find the line indicated in /usr/share/ati/flgrx-install.log (line 57 for me) and delete the line that begins with "WARN". Thus
should look like
WARN(1, "Buffer overflow detected!\n");
4) In the previous step you have deleted a bit of code that is supposed to write a warning message to standard out if there is a buffer overflow; but there is something wrong with the syntax which I could not figure out from the man page. Notwithstanding, deleting is not dangerous since it is just a printed warning message.
5) Now go back to the directory where you have the amd driver and try to re-install your amd driver:
This worked perfectly for me. Hope it is helpful for other. -sg