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, я не заметил для себя ущемления в возможности кастоматизации системы. Тоже пришлось к некоторым пакетам применить напильник, но разбирательство после гентовой школы заняло всего несколько часов - учился собирать пакеты.
    Короче разница в дистрибутивах на мой взгляд не в этом )))

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

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

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

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

tcpdump capture LACP and rotating by time

Нептун Tuya не подключается SmartLife