LINUX.ORG.RU

Не пересобирается libxml2 c USE=«icu»

 , ,


0

1

libxml2 c USE=«icu» требуется при установке chromium. Делаю и получаю:

gentoohost user # USE="icu" emerge -av libxml2

 * IMPORTANT: 9 news items need reading for repository 'gentoo'.
 * Use eselect news to read news items.


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

Calculating dependencies... done!
[ebuild   R    ] dev-libs/libxml2-2.9.0-r2:2  USE="icu* ipv6 python readline -debug -examples -lzma -static-libs {-test}" PYTHON_TARGETS="python2_7 -python2_5 -python2_6" 0 kB

Total: 1 package (1 reinstall), 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:

dev-libs/libxml2:2

  (dev-libs/libxml2-2.9.0-r2::gentoo, ebuild scheduled for merge) pulled in by
    (no parents that aren't satisfied by other packages in this slot)

  (dev-libs/libxml2-2.9.0-r2::gentoo, installed) pulled in by
    dev-libs/libxml2:2[!icu?] required by (x11-libs/qt-webkit-4.8.4::gentoo, installed)


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

Добавление dev-libs/libxml2-2.9.0-r2 icu в package.make выдает то же самое, добавление icu в глобальные юзы тоже дает этот результат.

Второй день бьюсь, а разрешить эту циклическую зависимость не могу. Похожей ситуации с решением проблемы не нашел. Ув. гуру, наставте на путь истинный

emerge --info

--newuse --update делался конечно же?

Revent ()
dev-libs/libxml2:2

  (dev-libs/libxml2-2.9.0-r2::gentoo, ebuild scheduled for merge) pulled in by
    (no parents that aren't satisfied by other packages in this slot)

  (dev-libs/libxml2-2.9.0-r2::gentoo, installed) pulled in by
    dev-libs/libxml2:2[!icu?] required by (x11-libs/qt-webkit-4.8.4::gentoo, installed)


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

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

qnikst ★★★★★ ()

а вообще тебе читать в сторону:

 # libxml2[!icu?] is needed for bugs 407315 and 411091

ну и циклической зависимости тут нет.

UPD. судя по тому, что баги закрыты, возможно просто забыли обновить ебилд.

qnikst ★★★★★ ()
Последнее исправление: qnikst (всего исправлений: 1)
Ответ на: комментарий от qnikst

/# libxml2[!icu?] is needed for bugs 407315 and 411091

Опаньки, а это проскочило мимо замыленых глаз! И как же тогда поставить chromium?

stiflerwen ()
Ответ на: комментарий от stiflerwen

USE=«icu -gstreamer», но возможно это и косяк, т.к. баги закрыты.

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

/--newuse --update делался конечно же?

да, вот:

gentoohost user # emerge --newuse --update libxml2

 * IMPORTANT: 9 news items need reading for repository 'gentoo'.
 * Use eselect news to read news items.

Calculating dependencies... done!
>>> Auto-cleaning packages...

>>> No outdated packages were found on your system.

После этого повторяется то, что указано в первом посте и ранее я это уже делал.

stiflerwen ()
Ответ на: комментарий от qnikst

USE=«icu -gstreamer», но возможно это и косяк, т.к. баги закрыты.

Не помогает, выхлоп тот же самый

stiflerwen ()
Ответ на: комментарий от stiflerwen

не верю: echo «x11-libs/qt-webkit -gstreamer» > /etc/portage/package.use и emerge -uND libxml2.

я спросил про эту зависимость, как, кто из qt herd-а проснется, надеюсь замечу ответ.

qnikst ★★★★★ ()

На всякий случай вот выхлоп от emerge -av chromium

gentoohost user # emerge -av chromium

 * IMPORTANT: 9 news items need reading for repository 'gentoo'.
 * Use eselect news to read news items.


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

Calculating dependencies... done!
[ebuild   R    ] dev-libs/libxml2-2.9.0-r2:2  USE="icu* ipv6 python readline -debug -examples -lzma -static-libs {-test}" PYTHON_TARGETS="python2_7 -python2_5 -python2_6" 0 kB
[ebuild  N     ] www-client/chromium-25.0.1364.97  USE="bindist cups -custom-cflags -gnome -gnome-keyring -kerberos (-pulseaudio) (-selinux) (-system-ffmpeg) (-tcmalloc) {-test}" LINGUAS="ru -am -ar -bg -bn -ca -cs -da -de -el -en_GB -es -es_LA -et -fa -fi -fil -fr -gu -he -hi -hr -hu -id -it -ja -kn -ko -lt -lv -ml -mr -ms -nb -nl -pl -pt_BR -pt_PT -ro -sk -sl -sr -sv -sw -ta -te -th -tr -uk -vi -zh_CN -zh_TW" 122,752 kB

Total: 2 packages (1 new, 1 reinstall), Size of downloads: 122,752 kB

The following USE changes are necessary to proceed:
 (see "package.use" in the portage(5) man page for more details)
#required by www-client/chromium-25.0.1364.97, required by chromium (argument)
>=dev-libs/libxml2-2.9.0-r2 icu

Use --autounmask-write to write changes to config files (honoring
CONFIG_PROTECT). Carefully examine the list of proposed changes,
paying special attention to mask or keyword changes that may expose
experimental or unstable packages.
Что и приводит к вышеописанному результату. Остальные зависимости я ставил по одному пакету.

stiflerwen ()
Ответ на: комментарий от qnikst

не верю: echo «x11-libs/qt-webkit -gstreamer» > /etc/portage/package.use и emerge -uND libxml2.

То есть предлагаете пересобрать qt-webkit без gstreamer? Дело в том, что этот пакет уже собран, а его пересборка на моей машине занимает ~2 часа, уточняю, потомучто если буду пересобирать, то отвечу не скоро.

stiflerwen ()

Добавление dev-libs/libxml2-2.9.0-r2 icu в package.make выдает то же самое

это что? о_О

echo "dev-libs/libxml2 icu" >> /etc/portage/package.use
echo "x11-libs/qt-webkit icu" >> /etc/portage/package.use

megabaks ★★★★ ()
Ответ на: комментарий от qnikst
[ megabaks@desktop ] ~ $ qlist -IUv qt-webkit 
x11-libs/qt-webkit-4.8.4 (exceptions gstreamer icu jit)
[ megabaks@desktop ] ~ $ 

так при чём здесь гстример!?

megabaks ★★★★ ()
Ответ на: комментарий от megabaks
# libxml2[!icu?] is needed for bugs 407315 and 411091
DEPEND="
        dev-db/sqlite:3
        x11-libs/libX11
        x11-libs/libXrender
        ~x11-libs/qt-core-${PV}[aqua=,debug=,ssl]
        ~x11-libs/qt-gui-${PV}[aqua=,debug=]
        ~x11-libs/qt-xmlpatterns-${PV}[aqua=,debug=]
        gstreamer? (
                dev-libs/glib:2
                dev-libs/libxml2:2[!icu?]

посл строчка, я в чем-то не прав? это кусок qt-webkit.

qnikst ★★★★★ ()
Последнее исправление: qnikst (всего исправлений: 1)
Ответ на: комментарий от stiflerwen

вот чисто глядя на ебилд qt-webkit я прихожу к выводу, что поможет, другое дело, что возможно оно и с гстримером работает, а зависимость кривая, тогда можно и без пересборки обойтись, лучше ещё послушай мегабакса, т.к. он этот софт, как я понял пользует, а не по кофейной гуще^W^W ебилдам проблему решает.

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

отключение gstreamer ничего не даст зато может сломать что-нибудь пусть делает как я ему написал - не надо изобретать велосипед

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

ой-йо я невнимательный, спасибо.

да или icu добавить в qt-webkit или убрать из libxml, отключение gstreamer тоже поможет, но будут побочные эффекты ввиду отсутствия поддержки много-чего.

qnikst ★★★★★ ()

Была похожая проблема, решилась пересборкой qt-webkit c флагом icu.

anonymous ()
Ответ на: комментарий от qnikst

только в случае с хромиумом отключение icu у libxml2 невозможно
так что только включение остаётся

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

это что? о_О

Это опечатка, имелось в виду package.use, конечно. Последовал Вашему совету, ибо они всегда помогали. Вот что получилось:

gentoohost user # echo "dev-libs/libxml2 icu" >> /etc/portage/package.use
gentoohost user # echo "x11-libs/qt-webkit icu" >> /etc/portage/package.use
gentoohost user # emerge -avuDN qt-webkit

 * IMPORTANT: 9 news items need reading for repository 'gentoo'.
 * Use eselect news to read news items.


 * IMPORTANT: config file '/etc/portage/package.use' needs updating.
 * See the CONFIGURATION FILES section of the emerge
 * man page to learn how to update config files.

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

Calculating dependencies... done!
[ebuild   R    ] dev-libs/libxml2-2.9.0-r2:2  USE="icu* ipv6 python readline -debug -examples -lzma -static-libs {-test}" PYTHON_TARGETS="python2_7 -python2_5 -python2_6" 0 kB
[ebuild   R    ] media-libs/mesa-9.0.1  USE="bindist classic egl gallium llvm nptl shared-glapi -debug -g3dvl -gbm -gles1 -gles2 -openvg -osmesa -pax_kernel -pic -r600-llvm-compiler (-selinux) -vdpau (-wayland) -xa* -xorg -xvmc" VIDEO_CARDS="intel nouveau radeon vmware -i915 -i965 -r100 -r200 -r300 -r600 -radeonsi" 0 kB
[ebuild   R    ] x11-libs/qt-webkit-4.8.4:4  USE="exceptions gstreamer icu* jit (-aqua) -debug -pch" 0 kB

Total: 3 packages (3 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:

media-libs/mesa:0

  (media-libs/mesa-9.0.1::gentoo, installed) pulled in by
    media-libs/mesa[xa] required by (x11-drivers/xf86-video-vmware-12.0.2-r1::gentoo, installed)

  (media-libs/mesa-9.0.1::gentoo, ebuild scheduled for merge) pulled in by
    (no parents that aren't satisfied by other packages in this slot)


It might be possible to solve this slot collision
by applying all of the following changes:
   - media-libs/mesa-9.0.1 (Change USE: +xa)

Попробовал добавить

gentoohost user # echo "media-libs/mesa-9.0.1 xa" >> /etc/portage/package.use
Но выхлоп тот же самый, кроме того заметил IMPORTANT: config file '/etc/portage/package.use' needs updating. Что еще не так?

P.S. вот еще итоговый package.use

stiflerwen ()

С chromium мало того что он 2.5 часа собирается так периодически вылезают проблемы сборки. Попробуй его размаскировать до 26+ версии (хотя не обязательно). Предварительно почисти систему: revdep*, *--depclean, equery d подозрительное/лишнее + unmerge. Проверь и почисти также /etc/portage/packages.*

У меня флаг icu прописан глобально в /etc/portage/make.conf ,но /etc/portage/packages.use для dev-libs/libxml выключено не так -icu а просто ничего. Вспомнилось: вроде была проблема с icu - решилось переносом в make.conf

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

попробуй. кстати, вопрос: ты что ли генту в виртуалке гоняешь?

Mr_Gentoo ()
Ответ на: комментарий от stiflerwen

1). etc-update чтобы package.use обновить

2). ошибка как видишь новая, у тебя теперь с юзфлагами для месы проблемы, давай ты попробуешь научиться разбирать то, что пишет emerge

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

в один и тот же слой по зависимостям тянутся разные версии (включая юзы), ниже описание:

  (media-libs/mesa-9.0.1::gentoo, installed) pulled in by
    media-libs/mesa[xa] required by (x11-drivers/xf86-video-vmware-12.0.2-r1::gentoo, installed)

  (media-libs/mesa-9.0.1::gentoo, ebuild scheduled for merge) pulled in by
    (no parents that aren't satisfied by other packages in this slot)

это значит, что пакет x11-drivers/xf86-video-vmware-12... из дерева, который сейчас установлен требует, чтобе media-libs/mesa были собраны с флагом xa.

При этом та версия mesa, которую ты собираешься собирать хочет собраться без флага xa.

Очевидно, что это очень простой конфликт и портаж даже говорит тебе решение:

It might be possible to solve this slot collision
by applying all of the following changes:
   - media-libs/mesa-9.0.1 (Change USE: +xa)

добавить юзфлаг xa к mesa.

Бывают более сложные случае, но в любом случае алгоритм одинаков, смотришь какой пакет тянет другой и чем они отличаются.

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

ты что ли генту в виртуалке гоняешь?

Нет, на реальном железе. Полагаю, что такое предположение из-за mesa-драйвера? Я собирал иксы с VIDEO_CARDS=«mesa ati radeon» и они запустились с месой, так и работают. Вот разберусь с хромиумом и буду пытаться поставить родной атишный драйвер.

stiflerwen ()
Ответ на: комментарий от qnikst

Добавление юзефлага через package.use ничего не решило, но теперь пересобираю методом USE=«xa» emerge -av mesa, пересобирается, потом видно будет.

stiflerwen ()
Ответ на: комментарий от stiflerwen

никогда так не делай, т.к. 1). в ближайшей перспективе это, что и добавление в package.use, но при этом в дальнейшем при пересборке портаж не будет знать, что нужно пересобирать с USE=«xa» и ты вляпаешься в ту же проблему ещё раз. Единственное зачем можно применять USE=«foo» emerge .. это если ты хочешь посмотреть зависимости или тестируешь приложение и всё равно в дальшейшем будет его пересобирать с другим набором флагов.

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

Ясно. Но то, что я сделал в общем-то не помогло, портаж выдал то же самое. Теперь медитативно и сто раз перепроверив исправил package.use, запустил пересборку qt-webkit и процесс пошел! Поскольку это на долго, то о результате напишу позже.

stiflerwen ()
Ответ на: комментарий от stiflerwen

просто у тебя среди видеокарт указана vmware, и mesa требует `xa` как раз для xf86-video-vmware, который тебе сто лет не нужен

Mr_Gentoo ()
Ответ на: комментарий от stiflerwen

ok, пока собираетеся рекомендую попытаться самому научиться разбирать выхлоп портажа, т.к. случае были совсем элементарные и по каждому обращаться на лор это очень нелогичная трата времени :).

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

почитай как правильно записывать в конфиги портажа
в данном случае

echo "media-libs/mesa xa" >> /etc/portage/package.use
да, это не связано с проблемой в ОП
читай - проще будут в будущем

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

по каждому обращаться на лор это очень нелогичная трата времени

вот и накидай мне в джаббер реальных примеров
завтра у меня выходной - думаю заняться

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

то что я позавчера кидал дошло? просто я много сложных найти не смог

qnikst ★★★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.