gentoo. Пара слов о x86_64. Обходим masked by: CHOST

Недавно пересобрал свою домашнюю gentoo на x86_64. Процесс прошел на удивление гладко. Использовал ежедневную автоматическую сборку stage3 и последний архив portage-latest. Также ставилась задача минимизировать установку ненужных пакетов. И использовать только новейшие версии. Поэтому, с пристрастием вычистил USE-флаги (-gnome -kde -python и многое другое). Из ошибок - забыл изменить в старом make.conf ACCEPTED_KEYWORDS на новую архитектуру, но это не сильно помешало. Также был сразу установлен и настроен на использование по-умолчанию компилятор sys-devel/gcc-4.5.1_pre9999:4.5-svn из SVN. К моему удивлению, при начальной компиляции emerge -e world не было ни одной ошибки сборки!  Далее я встретил всего несколько программных продуктов, которые не собирались из-за слишком новой версии компилятора: mysql, xbmc, x11-libs/qt-3.3.8b-r2. Исправив ошибку с ACCEPTED_KEYWORDS пришлось пересобрать всего менее 20 пакетов. В общем, процессом установки приятно удивлён.

Из плохого a): grub2 отказался работать наотрез. Ошибка, похоже, не в конфиге, а глубже. Несколько попыток положительного результата не принесли. Гугл практически не помог. Снёс, вернулся на grub-0.97.

Из плохого b): флеш-плагин, как и на 32 битной системе, не подхватывается ни мозиллой, ни оперой после установки. Как и на старой системе, предпочёл скачать оригинальную библиотеку с adobe.com. К сожалению, даже бета-версии 10.1 для linux-x86_64 недоступно, пришлось остановиться на 10.0. Зато всё работает без всяких проблем.

Из плохого c): В ебилде nvidia-drivers для FreeBSD и Linux-x86 качается драйвер с суффиксом -0 (без дополнительных прекомпилированных модулей ядра), а для x86_64 ставится файл с суффиксом-2 (43 мегабайта против 26). Попробовал исправить ебилд руками, но оказалось, что -0 ставиться действительно не хочет - не находится libGL.so. Пришлось оставить, как есть.

Проблема с MASKED BY: CHOST

Связана с тем, что пакеты x11-libs/qt-3.xyz и net-im/sim объявлены устаревшими и удалены из дерева portage. Альтернативы sim я для себя катастрофически не вижу. qutim сырой и его qipпоподобность очень раздражает. На юзабилити pidgin разработчики с самого начала забили болт. Новую версия 2.7, сжав зубы, еще можно было-бы использовать, если-бы она не сегволтилась при подключении (проблема проявилась не сразу, а на третий день - похоже, при чтении статуса одного из icq-контактов?). Удалил пиджин без особого сожаления. 

У меня на другой машине собран sim из февральского SVN. И установлена последняя доступная версия x11-libs/qt-3.x.y.z. Таким образом, делаем пакеты:

quickpkg net-im/sim \=x11-libs/qt-3.3.8-b2 и переносим их на новую систему в директорию /usr/portage/packages, или другую, в соответствие с настройками make.conf. Далее размаскируем package.keywords или package.unmask, если это необходимо. И пытаемся поставить программу с помощью команды emerge net-im/sim -K -pv отказывается устанавливать наши пакеты из-за Masked by: CHOST. Прописать нужный CHOST в виде переменной не помогло.  Оказывается, база данных бинарных пакетов хранится в той-же директории в файле Packages. Я просто отредактировал его, прописав нужный CHOST: x86_64-pc-linux-gnu. После этой нехитрой операции всё поставилось и даже заработало! 

Удачи!

Комментарии

  1. Ну с CHOST ты фактически обманул систему. Я бы на твоем месте создал бы ебилд, который бы установил в систему запакованный тарбол из другой системы. Так бы и файлы под контролем менеджера были, и с системой ты бы по-честному поступил :)
    Кстати на работе у меня pidgin именно 2.7 - пока не сегволтился. Собственно предыдущая версия тоже себя вела стабильно. Про юзабилити - сам страдал, но проблема облегчилась установкой вот этого x11-plugins/purple-plugin_pack пакета, хотя там и нет того OSD, которого ты хочешь. Хотя есть альтернативный (не через libnotify) x11-plugins/guifications, но я не понял его преимуществ...
    Вот щас поковырявшись над твоей проблемой нашел вот этот плагин http://babelize.org/pidgin-osd.php
    Автор забросил его в 2008м году, но думаю в случае необходимости допилять его не составит труда. Короче копай в сторону плагинов.

    ОтветитьУдалить
  2. Олег, это мне и требовалось - обмануть систему, благо прекрасно понимаю, что делаю :) Вот расскажи мне, как бы ты сделал подобное в дебиане, где apt на любой шаг в сторону больно бъёт по рукам?!

    ОтветитьУдалить
  3. На самом деле можно было сделать такой же финт и с помощью apt. А депрекейтед-репозитарии с недавних пор в дебиане есть. Так же можно установить пакет забив на зависимости, можно его перепаковать и еще много чего.
    Когда я переезжал с gentoo на debian, я не заметил для себя ущемления в возможности кастоматизации системы. Тоже пришлось к некоторым пакетам применить напильник, но разбирательство после гентовой школы заняло всего несколько часов - учился собирать пакеты.
    Короче разница в дистрибутивах на мой взгляд не в этом )))

    ОтветитьУдалить

Отправить комментарий

Популярные сообщения из этого блога

Система защиты от протечек Нептун Ложные Срабатывания

Apache Superset. Unable to login with default login password Docker.

LibreNMS tips and tricks