Включаем Bytecode Interpreter в пакете freetype в некоторых дистрибутивах | Версия для печати |
Аннотация su -c 'yum install fedora-rpmdevtools' fedora-buildrpmtree su -c 'yum install yum-utils' В домашнем каталоге будет создано дерево ${HOME}/rpmbuild/ со всеми необходимыми для rpmbuild подкаталогами. В дальнейшем данная структура Вам пригодится для пересборки пакетов, да и для сборки kernel. Для Slackware необходимо взять исходный код пакета и скрипта его сборки либо с дистрибутивного CD (source/x/x11/[freetype-2.1.9.tar.bz2, freetype2.build]), либо с одного из зеркал Slackware (напр. с :). 2. Теперь вперед к нашей цели. Загружаем пакет с исходниками freetype: cd ${HOME}/rpmbuild/SRPMS yumdownloader --source --enablerepo=core-source freetype Инсталируем исходники: rpm -Uhv freetype-2.1.10-5.2.1.src.rpmЭта команда запишет содержимое RPM пакета в ${HOME}/rpmbuild/SOURCES и ${HOME}/rpmbuild/SPECS. Далее, основная смысловая работа, правим SPEC-файл: cd ../SPECS vi freetype.spec В начале файла находим строку: % define without_bytecode_interpreter 1 Пробела,после символа '%' - нет! и заменяем 1 на 0, т.е. строка должна выглядеть так: % define without_bytecode_interpreter 0 Аналогично, пробела после символа '%' быть не должно. Всё! Собираем пакет: QA_RPATHS=$[ 0x0010 ] rpmbuild -bb --target $(uname -m) freetype.spec Результат нашего труда найдём в: cd ../RPMS/$(uname -m) Для Slackware последовательность иная. Кладем куда-нибудь архив с исходниками и скриптом сборки, напр. в моем случае это /home/san/src/freetype. Переходим в этот каталог и распаковываем архив: $ tar -xjf freetype-2.1.9.tar.bz2 Теперь надо включить заветный Bytecode Interpreter, для чего надо подправить файл include/freetype/config/ftoption.h в строке 439, которую надо раскомментировать и привести к такому виду: #define TT_CONFIG_OPTION_BYTECODE_INTERPRETER После этого надо немного "подлечить" скрипт сборки, потому как он нашу распаковку архива благополучно игнорирует. В нем надо закомментировать строки 42-44, должно получиться что-то вроде такого: #cd /tmp #rm -rf freetype-$VERSION #tar xjvf $CWD/freetype-$VERSION.tar.bz2 После этого надо дать ему права на выполнение - $ chmod +x freetype2.build и запустить на выполнение от имени root (у себя я это делаю через sudo): $ sudo freetype2.build Скрипт сделает все сам, только без готового пакета на выходе. :) Если вам нужен еще и пакет, то надо зайти в распакованный каталог исходников и воспользоваться утилитой checkinstall (инсталлятором при установке системы она обычно не ставится, ее надо искать в extra и устанавливать самостоятельно). Использованные источники: 1. Fedora Core 5 Release Notes Опубликовал: Alexey Dmitriev |