DjSpike писал(а): ↑14.11.2008 14:10
Ну вот вышли 8.11 и тоже не собираются пакеты
А теперь вышли 8.12 и тоже не собираются...
Традиция, однако....
Несколько дней новогоднего шаманства, и мне всё-таки удалось собрать пакеты и успешно их установить
на Mandriva Free 2009 x86_64
и на Mandriva Free 2009 i586.
Теперь по-порядку.
При стандартной сборке пакетов - традиционная (для 8.10, 8.11 и 8.12) ошибка:
Код: Выделить всё
[root@host1 ati-driver-8-12]# ./ati-driver-installer-8-12-x86.x86_64.run --buildpkg Mandriva/2009
Created directory fglrx-install.nfRnOA
Verifying archive integrity... All good.
Uncompressing ATI Proprietary Linux Driver-8.561...........................................................................
................................................................................
.
................................................................................
.
................................................................................
.
................................................................................
.
................................................................................
.
................................................................................
.
................................................................................
.
................................................................................
.
................................................................................
.
................................................................................
.
................................................................................
.
......................
==================================================
ATI Technologies Linux Driver Installer/Packager
==================================================
Generating package: Mandriva/2009
Package build failed!
Package build utility output:
"rpm -b" is deprecated, use "rpmbuild -b"
Executing(%prep): /bin/sh -e /root/tmp/ati.DKeFaJ/tmp/rpm-tmp.52382
+ umask 022
+ cd /root/tmp/ati.DKeFaJ/BUILD
+ '[' 1 -eq 1 ']'
+ '[' 1 -eq 1 ']'
+ '[' 1 -eq 1 ']'
+ cd /root/tmp/ati.DKeFaJ/BUILD
+ rm -rf fglrx-8.561
+ /bin/mkdir -p fglrx-8.561
+ cd fglrx-8.561
+ ln -s /root/Drivers/ATI/ati-driver-8-12/fglrx-install.nfRnOA/x710_64a /root/Drivers/ATI/ati-driver-8-12/fglrx-install.nfRnOA/arch .
+ cp -a /root/Drivers/ATI/ati-driver-8-12/fglrx-install.nfRnOA/common .
+ cd common
+ echo 'Patch #0 (fglrx-uname_r.patch):'
Patch #0 (fglrx-uname_r.patch):
+ patch -p2 -s
1 out of 2 hunks FAILED -- saving rejects to file lib/modules/fglrx/build_mod/make.sh.rej
error: Bad exit status from /root/tmp/ati.DKeFaJ/tmp/rpm-tmp.52382 (%prep)
RPM build errors:
Bad exit status from /root/tmp/ati.DKeFaJ/tmp/rpm-tmp.52382 (%prep)
Removing temporary directory: fglrx-install.nfRnOA
[root@host1 ati-driver-8-12]#
Виноват патч
fglrx-uname_r.patch, который должен изменить несколько строк в файле
make.sh.
Номера строк, которые нужно изменить, в патче указаны неправильно. Кроме того, и сами строки, которые ищет патч,
могут иметь не совсем такой вид. Если найти вручную соответствующие строки в
make.sh,
скопировать их в
fglrx-uname_r.patch, сделать модификации, аналогичные тем, что предлагаются в
фирменном
fglrx-uname_r.patch и прописать правильные номера строк, то патч применяется успешно.
Но далее для дистрибутивов
x86_64 возникает другая ошибка:
Код: Выделить всё
+ install -m755 arch/x86/usr/X11R6/lib/libGL.so.1.2 /root/tmp/ati.BxcWPL/tmp/fglrx-root/usr/lib/fglrx
+ install -m755 'arch/x86_64/usr/lib/*.so*' /root/tmp/ati.BxcWPL/tmp/fglrx-root/usr/lib/fglrx
install: невозможно выполнить stat для `arch/x86_64/usr/lib/*.so*': Нет такого файла или каталога
error: Bad exit status from /root/tmp/ati.BxcWPL/tmp/rpm-tmp.401 (%install)
RPM build errors:
Bad exit status from /root/tmp/ati.BxcWPL/tmp/rpm-tmp.401 (%install)
лечится редактированием файла
fglrx.spec (строка 464) :
Код: Выделить всё
install -m755 %{archdir}/usr/lib/*.so* %{buildroot}%{_prefix}/lib/%{drivername}
заменяем на
Код: Выделить всё
install -m755 %{archdir}/usr/lib64/*.so* %{buildroot}%{_prefix}/lib/%{drivername}
исправленные файлы
fglrx-uname_r.patch и
fglrx.spec в архиве:
Итак, рецепт счастья :
=================================================================
1) извлекаем содержимое
ati-driver-installer-8-12-x86.x86_64.run во временный каталог.
Обязательно без пробелов в пути и, наверное, желательно без русских букв. Например, в
/root/Drivers/fglrx-8-12 :
Код: Выделить всё
[root@host1 Drivers]# ./ati-driver-installer-8-12-x86.x86_64.run --extract fglrx-8-12
2) копируем в
/root/Drivers/ содержимое архива с файлами
fglrx-uname_r.patch и
fglrx.spec.
Файлы в архиве сохранены с путями. Если
ati-driver-installer-8-12-x86.x86_64.run распаковывали
не в
/root/Drivers/fglrx-8-12, то файлы из архива нужно будет вручную переместить в соответствующие папки.
3) генерируем пакеты следующей командой:
Код: Выделить всё
[root@host1 Drivers]# cd fglrx-8-12
[root@host1 fglrx-8-12]# ./ati-installer.sh 8.561 --buildpkg Mandriva/2009
==================================================
ATI Technologies Linux Driver Installer/Packager
==================================================
Generating package: Mandriva/2009
Package /root/Drivers/x11-driver-video-fglrx-8.561-1amd.mdv2009.x86_64.rpm has been successfully generated
Package /root/Drivers/fglrx-control-center-8.561-1amd.mdv2009.x86_64.rpm has been successfully generated
Package /root/Drivers/dkms-fglrx-8.561-1amd.mdv2009.x86_64.rpm has been successfully generated
Package /root/Drivers/fglrx-devel-8.561-1amd.mdv2009.x86_64.rpm has been successfully generated
Package /root/Drivers/fglrx-debug-8.561-1amd.mdv2009.x86_64.rpm has been successfully generated
[root@host1 fglrx-8-12]#
Если всё сделали правильно, то в результате получаем долгожданный набор пакетов.
4) Если есть старые проприетарные драйвера, удаляем их:
проверяем, что установлено
и все перечисленные пакеты (если есть) удаляем.
(А может быть, можно и не удалять... не пробовал)
5) Устанавливаем новые драйвера (предполагается, что в каталоге Drivers лежат только эти драйвера, а других
.rpm нет)
6) Если ранее стояли корректно установленные проприетарные драйвера, то на этом процесс установки закончен.
А если нет, то выполняем
=================================================================
Протестировал на двух компьютерах:
Код: Выделить всё
# uname -a
Linux host1 2.6.27.7-server-1mnb #1 SMP Thu Dec 11 17:41:52 EST 2008 x86_64 Intel(R) Core(TM)2 Quad CPU Q9300 @ 2.50GHz GNU/Linux
# fglrxinfo
display: :0.0 screen: 0
OpenGL vendor string: ATI Technologies Inc.
OpenGL renderer string: ATI Radeon HD 3850
OpenGL version string: 2.1.8304 Release
Код: Выделить всё
# uname -a
Linux host2 2.6.27.7-desktop-1mnb #1 SMP Thu Dec 11 16:45:35 EST 2008 i686 Intel(R) Pentium(R) D CPU 3.40GHz GNU/Linux
# fglrxinfo
display: :0.0 screen: 0
OpenGL vendor string: ATI Technologies Inc.
OpenGL renderer string: ATI Radeon X1950 GT
OpenGL version string: 2.1.8304 Release
Для драйверов 8.10 и 8.11 проблема сборки пакетов тоже лечится редактированием патча (проверено). Но зато проблемы возникают во время установки пакетов.
На двух указанных выше компьютерах мне так и не удалось корректно установить ни 8.9, ни 8.10, ни 8.11 версии драйверов ATI. Впрочем, теперь это не актуально.
У вас нет необходимых прав для просмотра вложений в этом сообщении.