code text
!!! One of the following masked packages is required to complete your request:
- media-gfx/qtpfsgui-1.8.12 (masked by: ~amd64 keyword)
Сим emerge сообщает, что пакет media-gfx/qtpfsgui версии 1.8.12 замаскирован ключём ~amd64. Типа, непроверенный. Каждая версия каждого пакета помечена теми или иными ключами. Как правило, это:
x86, amd64, ppc, <etc> - стабильные и проверенные версии, традиционно объединённо обозначаются словом
arch.
~x86, ~amd64, ~ppc... - скорее всего стабильные, но не гарантирована совместимость и безглючность. Общее обозначение -
~arch -* - это пометка нестабильных ранних тестовых версий.
С последними лучше без нужды не связываться, а ~arch - вполне жизнеспособны. Некоторые даже всю систему на ~arch переводят (
ACCEPT_KEYWORDS="~amd64" в /etc/make.conf), но это весьма рискованно.
Я предпочитаю всю систему держать на x86, и только конечный прикладной софт, от глюков которого не нарушится работоспособность системы в целом - в ~x86. Плюс все ~x86 библиотеки, которые им нужны в виде точных версий. Сейчас уточню.
Индивидуально ключевые слова можно прописать в файле
/etc/portage/package.keywords. Пакеты можно указывать как целиком, например:
media-gfx/qtpfsgui ~amd64 (отдельной строкой), так и с указанием точных версий, или групп версий:
=media-gfx/qtpfsgui-1.8.12 ~amd64 - указание точной версии
<media-gfx/qtpfsgui-2 ~amd64 - размаскировываются все версии меньше второй
>=media-gfx/qtpfsgui-2 ~amd64 - от второй и выше
=media-gfx/qtpfsgui-1.8.* ~amd64 - все 1.8.xxx
Так вот, я для конечного прикладного софта предпочитаю полное размаскирование:
code text
...
app-cdr/k3b ~x86
app-misc/cdcollect ~x86
net-im/pidgin ~x86
...
Если попытаться заемержить такой софт, он может скомпилироваться сразу, а может выругаться в духе "One of the following masked packages is required to complete your request..." с указанием того, что для сборки ему нужна версия или строго равная определённой, или та, которая старше некоторой, но все эти версии тоже замаскированы. Тогда я размаскирую только одну из подходящих версий с точной привязкой. Со временем, если пакет такой библиотеки будет протестирован и помечен стабильным, он так и останется и следующий раз обновится уже до новой стабильной. А не до первой же неоттестированной, до которой эта библиотека может обновится, если размаскировать её целиком:
code text
=media-libs/amanith-0.3-r1 ~x86
=sci-chemistry/openbabel-2.1.1 ~x86
...
Ну и бывает, что и "глубинные" вещи, таки, размаскирую принудительно сам:
code text
=sys-devel/binutils-2.18* ~x86
Вообще, у меня есть несколько полезных скриптиков для того, чтобы не лазить вручную в эти файлы:
/usr/local/bin/kw
code bash
!/bin/bash
echo $1 ~amd64 >> /etc/portage/package.keywords
т.е. пишешь (вернее, конечно, копипастишь через буфер средней кнопки мыши из терминалки):
kw media-gfx/qtpfsgui или
kw =sci-chemistry/openbabel-2.1.1 или
kw '<=app-portage/layman-1.0.10' (в последнем случае аргумент надо брать в апострофы, а то '<' - перенаправление ввода).
...
>на двухядерник. Не забудь
MAKEOPTS="-j4" или -j5 в /etc/make.conf
![:) :)](http://s.wrk.ru/s/smile.gif)
Он в несколько потоков компилить будет. (рекомендуют -jN, N=2*cores{+1})
… чтобы понять рекурсию, нужно сперва понять рекурсию …