LINUX.ORG.RU

Конфликтуют пакеты на уровне USE флагов

 , ,


0

1

Ситуация следующая. У меня стоит гном, но мне нужна прога из кде. Ставлю через emerge -av %kdeprogram% - предлагает поменять USE флаги (а также трехэтажный мат), на что соглашаюсь. Все ставится, работает. Однако когда я делаю emerge -avuND world, портежи предлагают мне вернуть USE флаги в изначальное положение, что неприемлимо для %kdeprogram%. Как можно этого избежать?

В частности вот как я ставлю kig:

nicon@nicon-gentoo ~ $ sudo emerge -av kig
Пароль: 

These are the packages that would be merged, in order:

Calculating dependencies... done!

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

x11-libs/qt-core:4

  (x11-libs/qt-core-4.8.2::gentoo, installed) pulled in by
    (no parents that aren't satisfied by other packages in this slot)
    (and 1 more with the same problem)

  (x11-libs/qt-core-4.8.2::gentoo, ebuild scheduled for merge) pulled in by
    >=x11-libs/qt-core-4.7.4:4[qt3support,ssl] required by (kde-base/kig-4.8.3::gentoo, ebuild scheduled for merge)
    ~x11-libs/qt-core-4.8.2[aqua=,c++0x=,debug=,qpa=,qt3support=] required by (x11-libs/qt-sql-4.8.2::gentoo, ebuild scheduled for merge)


!!! Enabling --newuse and --update might solve this conflict.
!!! If not, it might help emerge to give a more specific suggestion.


The following USE changes are necessary to proceed:
#required by kde-base/kig-4.8.3, required by kig (argument)
>=x11-libs/qt-gui-4.8.2 qt3support dbus
#required by kde-base/kig-4.8.3, required by kig (argument)
>=x11-libs/qt-sql-4.8.2 qt3support
#required by x11-libs/qt-sql-4.8.2, required by kde-base/kig-4.8.3, required by kig (argument)
>=x11-libs/qt-core-4.8.2 qt3support

Use --autounmask-write to write changes to config files (honoring CONFIG_PROTECT).

!!! All ebuilds that could satisfy "~x11-libs/qt-gui-4.8.2[aqua=,c++0x=,debug=,glib=,qpa=,qt3support]" have been masked.
!!! One of the following masked packages is required to complete your request:
- x11-libs/qt-gui-4.8.2::gentoo (masked by: )

(dependency required by "x11-libs/qt-core-4.8.2" [ebuild])
(dependency required by "x11-libs/qt-sql-4.8.2" [ebuild])
(dependency required by "kde-base/kig-4.8.3" [ebuild])
(dependency required by "kig" [argument])
For more information, see the MASKED PACKAGES section in the emerge
man page or refer to the Gentoo Handbook.

(тут я меняю use флаги)
(и ставлю kig)
nicon@nicon-gentoo ~ $ emerge -pvuND world

These are the packages that would be merged, in order:

Calculating dependencies... done!
[ebuild   R    ] x11-libs/qt-core-4.8.2  USE="exceptions glib iconv ssl (-aqua) (-c++0x) -debug -icu -optimized-qmake -pch (-qpa) -qt3support*" 0 kB
[ebuild   R    ] x11-libs/qt-sql-4.8.2  USE="exceptions sqlite (-aqua) (-c++0x) -debug -firebird -freetds -mysql -oci8 -odbc -pch -postgres (-qpa) -qt3support*" 0 kB
[ebuild   R    ] dev-libs/libxml2-2.8.0_rc1  USE="ipv6 python readline -debug -doc -examples -icu* -lzma -static-libs -test" 0 kB
[ebuild   R    ] x11-libs/qt-gui-4.8.2  USE="accessibility cups dbus exceptions glib xv (-aqua) (-c++0x) -debug -egl -gif -gtkstyle -mng -nas -nis -pch (-qpa) -qt3support* -tiff -trace -xinerama" 0 kB

Total: 4 packages (4 reinstalls), Size of downloads: 0 kB

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

x11-libs/qt-sql:4

  (x11-libs/qt-sql-4.8.2::gentoo, ebuild scheduled for merge) pulled in by
    ~x11-libs/qt-sql-4.8.2[aqua=,c++0x=,debug=,qpa=,qt3support=] required by (x11-libs/qt-declarative-4.8.2::gentoo, installed)

  (x11-libs/qt-sql-4.8.2::gentoo, installed) pulled in by
    >=x11-libs/qt-sql-4.7.4:4[qt3support] required by (kde-base/kig-4.8.3::gentoo, installed)
    >=x11-libs/qt-sql-4.7.0:4[qt3support] required by (sys-auth/polkit-kde-agent-0.99.0::gentoo, installed)
    >=x11-libs/qt-sql-4.7.4:4[qt3support] required by (kde-base/kdelibs-4.8.3::gentoo, installed)
    >=x11-libs/qt-sql-4.7.4:4[qt3support] required by (kde-base/katepart-4.8.3::gentoo, installed)
    >=x11-libs/qt-sql-4.7.0:4[qt3support] required by (kde-misc/polkit-kde-kcmodules-0.98_pre20101127::gentoo, installed)
    ~x11-libs/qt-sql-4.8.2[aqua=,c++0x=,debug=,qpa=,qt3support] required by (x11-libs/qt-qt3support-4.8.2::gentoo, installed)
    >=x11-libs/qt-sql-4.7.4:4[qt3support] required by (kde-base/khelpcenter-4.8.3::gentoo, installed)
    >=x11-libs/qt-sql-4.7.4:4[qt3support] required by (kde-base/kdesu-4.8.3::gentoo, installed)

x11-libs/qt-core:4

  (x11-libs/qt-core-4.8.2::gentoo, installed) pulled in by
    >=x11-libs/qt-core-4.7.4:4[qt3support,ssl] required by (kde-base/kig-4.8.3::gentoo, installed)
    >=x11-libs/qt-core-4.7.4:4[qt3support,ssl] required by (kde-base/kdelibs-4.8.3::gentoo, installed)
    >=x11-libs/qt-core-4.7.4:4[qt3support,ssl] required by (kde-base/katepart-4.8.3::gentoo, installed)
    ~x11-libs/qt-core-4.8.2[aqua=,c++0x=,debug=,qpa=,qt3support] required by (x11-libs/qt-qt3support-4.8.2::gentoo, installed)
    >=x11-libs/qt-core-4.7.4:4[qt3support,ssl] required by (kde-base/khelpcenter-4.8.3::gentoo, installed)
    >=x11-libs/qt-core-4.7.4:4[qt3support,ssl] required by (kde-base/kdesu-4.8.3::gentoo, installed)
    >=x11-libs/qt-core-4.7.0:4[qt3support,ssl] required by (sys-auth/polkit-kde-agent-0.99.0::gentoo, installed)
    >=x11-libs/qt-core-4.7.0:4[qt3support,ssl] required by (kde-misc/polkit-kde-kcmodules-0.98_pre20101127::gentoo, installed)
    ~x11-libs/qt-core-4.8.2[aqua=,c++0x=,qpa=,debug=,glib=,qt3support=] required by (x11-libs/qt-gui-4.8.2::gentoo, installed)
    ~x11-libs/qt-core-4.8.2[aqua=,c++0x=,debug=,qpa=,qt3support=] required by (x11-libs/qt-sql-4.8.2::gentoo, installed)

  (x11-libs/qt-core-4.8.2::gentoo, ebuild scheduled for merge) pulled in by
    ~x11-libs/qt-core-4.8.2[aqua=,c++0x=,debug=,qpa=,qt3support=] required by (x11-libs/qt-opengl-4.8.2::gentoo, installed)
    ~x11-libs/qt-core-4.8.2[aqua=,c++0x=,qpa=,debug=,glib=,qt3support=] required by (x11-libs/qt-gui-4.8.2::gentoo, ebuild scheduled for merge)
    ~x11-libs/qt-core-4.8.2[aqua=,c++0x=,debug=,qpa=,qt3support=] required by (x11-libs/qt-declarative-4.8.2::gentoo, installed)
    ~x11-libs/qt-core-4.8.2[aqua=,c++0x=,debug=,qpa=,qt3support=] required by (x11-libs/qt-sql-4.8.2::gentoo, ebuild scheduled for merge)

x11-libs/qt-gui:4

  (x11-libs/qt-gui-4.8.2::gentoo, ebuild scheduled for merge) pulled in by
    ~x11-libs/qt-gui-4.8.2[aqua=,c++0x=,debug=,egl=,qpa=,qt3support=] required by (x11-libs/qt-opengl-4.8.2::gentoo, installed)
    ~x11-libs/qt-gui-4.8.2[accessibility=,aqua=,c++0x=,debug=,qpa=,qt3support=] required by (x11-libs/qt-declarative-4.8.2::gentoo, installed)

  (x11-libs/qt-gui-4.8.2::gentoo, installed) pulled in by
    ~x11-libs/qt-gui-4.8.2[accessibility=,aqua=,c++0x=,debug=,qpa=,qt3support] required by (x11-libs/qt-qt3support-4.8.2::gentoo, installed)
    ~x11-libs/qt-gui-4.8.2[aqua=,c++0x=,debug=,glib=,qpa=,qt3support] required by (x11-libs/qt-core-4.8.2::gentoo, installed)

dev-libs/libxml2:2

  (dev-libs/libxml2-2.8.0_rc1::gentoo, installed) pulled in by
    dev-libs/libxml2[icu] required by (www-client/chromium-20.0.1132.57::gentoo, installed)

  (dev-libs/libxml2-2.8.0_rc1::gentoo, ebuild scheduled for merge) pulled in by
    dev-libs/libxml2:2[!icu?] required by (x11-libs/qt-webkit-4.8.2::gentoo, installed)


It may be possible to solve this problem by using package.mask to
prevent one of those packages from being selected. However, it is also
possible that conflicting dependencies exist such that they are
impossible to satisfy simultaneously.  If such a conflict exists in
the dependencies of two different packages, then those packages can
not be installed simultaneously. You may want to try a larger value of
the --backtrack option, such as --backtrack=30, in order to see if
that will solve this conflict automatically.

For more information, see MASKED PACKAGES section in the emerge man
page or refer to the Gentoo Handbook.


The following USE changes are necessary to proceed:
#required by x11-libs/qt-opengl-4.8.2, required by media-libs/phonon-gstreamer-4.5.0, required by media-libs/phonon-4.5.1-r1[gstreamer], required by kde-base/kdelibs-4.8.3, required by kde-base/katepart-4.8.3[handbook]
>=x11-libs/qt-gui-4.8.2 -qt3support
#required by x11-libs/qt-declarative-4.8.2, required by @selected, required by @world (argument)
>=x11-libs/qt-sql-4.8.2 -qt3support
#required by x11-libs/qt-webkit-4.8.2[gstreamer], required by kde-base/katepart-4.8.3, required by kde-base/kdelibs-4.8.3, required by kde-base/kig-4.8.3[handbook], required by @selected, required by @world (argument)
=dev-libs/libxml2-2.8.0_rc1 -icu
#required by x11-libs/qt-gui-4.8.2, required by net-p2p/qbittorrent-2.9.7[X], required by @selected, required by @world (argument)
>=x11-libs/qt-core-4.8.2 -qt3support

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

зы. Я тут думал на арч переходить.. надо будет пощупать в виртуалке


без qt3support пока что не обойтись

а у меня, кстати, он нормально ставится:

avalon test # emerge -pv kig

These are the packages that would be merged, in order:

Calculating dependencies... done!
[ebuild  N     ] kde-base/kig-4.8.4  USE="(-aqua) -debug -handbook -kig-scripting" 1,495 kB

Total: 1 package (1 new), Size of downloads: 1,495 kB
anonymous ()

Добавьте qt3support в /etc/make.conf, уберите лишние упоминания в /etc/portage/package.use, retry

fads ★★ ()
Ответ на: комментарий от fads
The following USE changes are necessary to proceed:
#required by x11-libs/qt-webkit-4.8.2[gstreamer], required by kde-base/katepart-4.8.3, required by kde-base/kdelibs-4.8.3, required by kde-base/kig-4.8.3[handbook], required by @selected, required by @world (argument)
=dev-libs/libxml2-2.8.0_rc1 -icu
nic11 ()
Ответ на: комментарий от nic11

Ставлю через emerge -av %kdeprogram% - предлагает поменять USE флаги (а также трехэтажный мат), на что соглашаюсь

И что конкретно ты делаешь? Потому как тут есть 3 варианта.
1. Перекомпилить эти проги коммандой вида USE=«<new_flag>» <program>
2. Добавить соответствующую строчку в /etc/portage/package.use
3. Добавить USE-флаги в /etc/make.conf

Рекомендуемый способ - второй, потом как:
1. Сработает только при ручном вводе такой команды. Если ты потом будешь делать emerge program , то оно забудет о том, что нужно поставить такие-то флаги. Или при emerge world .
2. Самый правильный вариант
3. Это пушкой по воробьям, потому как, если тебе, скажем, в программе <program> нужна поддержка kde, но добавив этот флаг в общий USE ты включаешь эту фичу во всех программах. Я уже не говорю о том, что т. н. локальные USE флаги вообще нельзя добавлять в общий USE.

Так как ты делал?

Kroz ★★★★★ ()
Ответ на: комментарий от fads

Он упертый. Даже когда я поставил -icu, он хочет чтобы я поставил -icu %)

ok. попробуем сделать, как ему хочется.. (=dev-libs/libxml2-2.8.0_rc1 -icu) ждемс.. хочет чтобы я повторил с dev-libs/libxml2-2.8.0-rc1. Повторяем..

nicon@nicon-gentoo ~ $ sudo emerge -avuND world --autounmask-write

These are the packages that would be merged, in order:

Calculating dependencies... done!

emerge: there are no ebuilds built with USE flags to satisfy "dev-libs/libxml2[icu]".
!!! One of the following packages is required to complete your request:
- dev-libs/libxml2-2.8.0-r1::gentoo (Change USE: +icu)
(dependency required by "www-client/chromium-20.0.1132.57" [installed])
(dependency required by "@selected" [set])
(dependency required by "@world" [argument])
nic11 ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.