конфликт при обновлении

при обновлении emerge -uDN --autounmask world

ругается:

!!! Multiple package instances within a single package slot have been pulled
!!! into the dependency graph, resulting in a slot conflict:

sys-auth/polkit:0

(sys-auth/polkit-0.99-r1::gentoo, installed) pulled in by
(no parents that aren’t satisfied by other packages in this slot)

(sys-auth/polkit-0.96-r1::gentoo, binary scheduled for merge) pulled in by
<sys-auth/polkit-0.97 required by (sys-power/upower-0.9.5::gentoo, binary scheduled for merge)
(and 1 more with the same problem)

смысл-то я примерно понимаю, но как это исправить?

ну и до кучи:

The following USE changes are necessary to proceed:
#required by kde-base/kephal-4.6.0, required by kde-base/libtaskmanager-4.6.0, required by kde-base/klipper-4.4.5, required by selected, required byworld (argument)
=x11-libs/qt-qt3support-4.7.1 kde
#required by selected, required byworld (argument)
=x11-libs/qt-webkit-4.7.1-r1 kde

emerge: there are no ebuilds built with USE flags to satisfy “>=x11-libs/qt-webkit-4.7.0:4[kde]”.
!!! One of the following packages is required to complete your request:

  • x11-libs/qt-webkit-4.7.0 (Change USE: +kde)
    (dependency required by “kde-base/kdelibs-4.6.0-r1” [installed])
    (dependency required by “kde-base/libtaskmanager-4.6.0” [ebuild])
    (dependency required by “kde-base/klipper-4.4.5” [installed])
    (dependency required by “selected" [set]) (dependency required by "world” [argument])

как корректнее всего это исправить?

А что у Вас в мире (/var/lib/portage/world), какой выбран профиль (eselect profile list), что в /etc/make.conf?

cat /var/lib/portage/world

app-emulation/wine
app-misc/calculate-meta
app-misc/zeitgeist
app-portage/autounmask
app-portage/porthole
dev-libs/keybinder
dev-perl/gnome2-wnck
dev-vcs/git
dev-vcs/mercurial
gnome-base/gnome-desktop
kde-base/gwenview
kde-base/kde-l10n:4.4
kde-base/kdelibs
kde-base/klipper
media-gfx/picasa
net-misc/dropbox
net-misc/networkmanager
sys-auth/polkit
sys-auth/polkit-qt
sys-power/upower
www-client/chromium
www-client/opera
x11-libs/qt
x11-libs/qt-qt3support:4
x11-libs/qt-webkit:4
x11-misc/gxneur
xfce-extra/xfce4-xkb-plugin

eselect profile list

Available profile symlink targets:
[8] calculate/desktop/CLDX/x86/binary *

cat /etc/make.conf

PORTAGE_BINHOST=“http://calculate.freeside.ru/pub/CLDX/grp/i686
ACCEPT_LICENSE="*"
source /var/lib/layman/make.conf
CFLAGS="-O2 -march=native -pipe"
CXXFLAGS="${CFLAGS}"
MAKEOPTS="-j3"

Не очень хорошо в world вписывать все зависимости, в т.ч. библиотеки. Например пакет x11-libs/qt давно уже замаскирован. Его наличие в world может создать проблемы. Чтобы пакеты не попадали в world, используйте опцию “-1” утилиты emerge.

Если x11-libs/qt убрать из world, добавить в /etc/portage/package.use/

x11-libs/qt-qt3support kde
x11-libs/qt-webkit kde

и размаскировать dev-libs/keybinder, net-misc/dropbox, app-misc/zeitgeist, x11-misc/gxneur, x11-misc/xneur, то обновление с последнего Stage образа CLDX проходит.

По поводу sys-auth/polkit, попробуйте его удалить. По зависимостям пакет будет установлен нужной версии.

я пришел с freebsd, еще не до конца понял эти танцы с маскировкой.

По поводу sys-auth/polkit, попробуйте его удалить. По зависимостям пакет будет установлен нужной версии.

emerge --unmerge sys-auth/polkit
* This action can remove important packages! In order to be safer, use
* `emerge -pv --depclean ` to check for reverse dependencies before
* removing packages.
sys-auth/polkit
selected: 0.99-r1
protected: none
omitted: none
All selected packages: sys-auth/polkit-0.99-r1

‘Selected’ packages are slated for removal.
‘Protected’ and ‘omitted’ packages will not be removed.
Waiting 5 seconds before starting…
(Control-C to abort)…
Unmerging in: 5 4 3 2 1
Unmerging sys-auth/polkit-0.99-r1…
* GNU info directory index is up-to-date.

emerge -uDN --autounmask world
!!! Multiple package instances within a single package slot have been pulled
!!! into the dependency graph, resulting in a slot conflict:

sys-auth/polkit:0

(sys-auth/polkit-0.96-r1::gentoo, binary scheduled for merge) pulled in by
<sys-auth/polkit-0.97 required by (sys-power/upower-0.9.5::gentoo, binary scheduled for merge)
(and 1 more with the same problem)

(sys-auth/polkit-0.99-r1::gentoo, ebuild scheduled for merge) pulled in by

=sys-auth/polkit-0.99 required by (sys-auth/polkit-qt-0.99.0::gentoo, installed)

The following USE changes are necessary to proceed:
#required by app-misc/zeitgeist-0.4.0, required by selected, required byworld (argument)
=dev-lang/python-2.6.6-r2 sqlite

Если x11-libs/qt убрать из world, добавить в /etc/portage/package.use/
x11-libs/qt-qt3support kde
x11-libs/qt-webkit kde
и размаскировать dev-libs/keybinder, net-misc/dropbox, app-misc/zeitgeist, x11-misc/gxneur, x11-misc/xneur, то обновление с последнего Stage образа CLDX проходит.

образа - это iso? я пытаюсь обновится по инструкции на сайте(см выше)

я пришел с freebsd, еще не до конца понял эти танцы с маскировкой.

Здесь хранится несколько версий одного пакета, отсюда понятие маскировка.

образа - это iso? я пытаюсь обновится по инструкции на сайте(см выше)

Да, если есть свободный раздел, выполнить обновление можно через установку свежего образа. Основные настройки будут перенесены. На всё потребуется 5-7 мин. Дополнительный софт можно перенести используя бинарные пакеты, для этого используйте опцию “-b” при установке. Собственно преимущества такого способа обновления расписаны на сайте.

Здесь хранится несколько версий одного пакета, отсюда понятие маскировка.

это я понял. как корректнее всего размаскировать пакет? пока пользуюсь autounmask

Да, если есть свободный раздел, выполнить обновление можно через установку свежего образа. Основные настройки будут перенесены. На всё потребуется 5-7 мин. Дополнительный софт можно перенести используя бинарные пакеты, для этого используйте опцию “-b” при установке. Собственно преимущества такого способа обновления расписаны на сайте.

тут ноут, с 30 гигами ссд. нельзя ли как то без этого обойтись?
по идее, я только систему поставил, это появилось после установки нужных программ, и обновления системы.ставил с CLDX 11

В виртуальной машине развернул CLDX 11. Далее “eix-sync; emerge -uDNa world”. Всё отлично. Сперва следует обновлять систему, затем ставить софт.

ну со стандартным набором-то да. а я тут половину из замаскированных ставил, они за собой еще пакеты потянули. вот и что-то случилось.

Если хотите, я могу поставить те же пакеты, что ставили Вы.
Просто насколько я понял Вы делали "emerge x11-libs/qt x11-libs/qt-qt3support x11-libs/qt-webkit", что привело лишь к дополнительным сложностям при обновлении. Это библиотеки, пакеты сами их вытянут и если понадобится их удалить, это легко можно будет сделать.

Alexander Tratsevskiy wrote:

Если хотите, я могу поставить те же пакеты, что ставили Вы.
а как тут список пакетов вывести? может проще ssh доступ дать? :slight_smile:

Просто насколько я понял Вы делали "emerge x11-libs/qt x11-libs/qt-qt3support x11-libs/qt-webkit", что привело лишь к дополнительным сложностям при обновлении. Это библиотеки, пакеты сами их вытянут и если понадобится их удалить, это легко можно будет сделать.

ну, просто там бы я это не запустил. значит кто-то потребовал(наверно хром. я 10.0.648.45 ставил), а они были замаскированы. а что, библиотека установленная командой, отличается от нее же, установленной по зависимостям?

а что, библиотека установленная командой, отличается от нее же, установленной по зависимостям?

Безусловно. Пакет установленный по зависимостям не попадает в world. Попав в world, его потом бывает сложно удалить через обновление. Используйте опцию “-1”.

ssh не нужен, лучше разберитесь самостоятельно.

а, вот оно что. я туплю. удалил кде4, пошло обновлятся. хм…

такой вопрос. как мне запретить установку пакетов от кде4? как узнать, какие пакеты надо замаскировать?
мне нужен только кде3, от кде-санрайз, а при обновлении система пытается поставить кде4

Я так полагаю что нужно замаскировать версии пакетов кде4 и выше. Если kde3 замаскирован, то понадобится их размаскировать.

я понимаю. нельзя ли замаскировать все кде, выше определенной версии? как это сделать одной записью?

kde-sunset, ошибся

Только перечислив пакеты. Сами имена пакетов Вы можете позаимствовать например отсюда:

/var/lib/layman/calculate/profiles/calculate/desktop/CLD/package.keywords/kde