LINUX.ORG.RU

Failed to emerge x11-drivers/xf86-video-virtualbox-4.3.28

 ,


0

1

Устанавливаю emerge --ask app-emulation/virtualbox-guest-additions.

Calculating dependencies... done!
[ebuild  N     ] x11-drivers/xf86-video-virtualbox-4.3.28::gentoo  USE="dri" PYTHON_TARGETS="python2_7" 0 KiB
[ebuild  N     ] app-emulation/virtualbox-guest-additions-4.3.28::gentoo  USE="X" 0 KiB
Но не хочет собираться x11-drivers/xf86-video-virtualbox-4.3.28
Собственно сабж. build.log
Попробовал установить из unstable emerge -pv =app-emulation/virtualbox-guest-additions-5.0.4
Та же самая ситуация с x11-drivers/xf86-video-virtualbox-5.0.4.
Вот лог
ЧЯДНТ. Да, все делаю по рукокниге

Ответ на: комментарий от no-such-file

Попробуй обновить ядро.

До какой версии? И точно ли это поможет?

akhmylin ()
Ответ на: комментарий от no-such-file

guest additions do not build with 3.20 / 4.0 kernel

guest additions

А у меня проблема с x11-drivers/xf86-video-virtualbox-4.3.28

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

Оу, невнимательно прочитал. Один хрен, всякий раз когда бокс отказывался собираться проблема была в неподходящем ядре (слишком старое/слишком новое).

Кстати, 5.0.4 вроде уже в stable.

no-such-file ★★★★★ ()
Ответ на: комментарий от no-such-file

На багзилле уже запили. [usr=https://bugs.gentoo.org/buglist.cgi?quicksearch=Failed%20to%20emerge%20x11-dr...Сегодня[/usr] [usr=https://bugs.gentoo.org/show_bug.cgi?id=550202]И раньше[/usr]. Также пишут

According to the corresponding forum thread, you need gcc-4.9 to compile it.

На что один из участников резонно замечает

I don't want to switch to gcc 4.9 while it is not declared stable. Other packages could be impacted

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

Можно поставить gcc-4.9 - безопасно, в отдельный слот. Переключиться на него при компиляции этого пакета, а потом переключиться обратно на gcc-4.8.

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

Как черезжопно, package.env(или чере что оно там делается) не осилил?

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

Можно поставить gcc-4.9 - безопасно, в отдельный слот.

Подскажите пожалуйста как поставить gcc 4.9 в отдельный слот. Все остальное понятно как сделать.

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

Да, и когда

Переключиться на него при компиляции этого пакета, а потом переключиться обратно на gcc-4.8

при переключении gcc нужно ли пересобирать libtool.

akhmylin ()

Pinkbyte, помоги пожалуйста решить эту проблему. Предложили пересобрать проблемный пакет с gcc 4.9, установив его предварительно в новый слот. Как это сделать? Перечитал man emerge на джва раза. Если просто emerge gcc, то он переустановит gcc или повысит версию, а надо чтобы установил в новый слот. Вопрос в том как.

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

Он сам ставится в отдельный слот. Ничего делать не надо. Просто ставьте 4.9, 4.8 при этом никуда не денется.

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

Да, точно - через package.env лучше. Мне просто ни к чему =) я такое не делал никогда, вот и забываю.

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

emerge gcc:4.9

и никуда 4.8 не исчезнет. Не должно. В крайнем случае внимательно проверяйте, что пытается удалить emerge --depclean

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

Спасибо большое за помощь. Да, действительно, emerge gcc:4.9 устанавливает gcc в новый слот. Нужно ли при переключении на gcc 4.9 пересобирать libtool?
И Антон посоветовал package.env. Читаю рукокнигу. Общий принцип работы с package.env я понял. Но как конкретно применить это к данной проблеме?

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

Не уверен, нужно ли пересобирать libtool - я бы сначала попробовал без этого.

И вообще, в принципе 4.9 достаточно стабильной должна быть (это тестовая ветка, которая потом плавно переходит в стабильную).

Переключить можно через команду gcc-config. Я бы просто переключил на 4.9 и собирал всё через неё... А потом решал бы проблемы по мере их поступления (если не соберётся какой-то пакет, занести его название в package.env)

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

Установил gcc 4.9.3 в новый слот.
В файле /etc/portage/env/gcc493.conf прописал следующее:

CC='/usr/x86_64-pc-linux-gnu/gcc-bin/4.9.3/x86_64-pc-linux-gnu-c++'
CXX='/usr/x86_64-pc-linux-gnu/gcc-bin/4.9.3/x86_64-pc-linux-gnu-c++'
В файле /etc/portage/package.env следующее:
app-emulation/virtualbox-guest-additions gcc493.conf
По идее он должен был откомпилировать два пакета с помощью gcc 4.9. Но получается снова
Failed to emerge x11-drivers/xf86-video-virtualbox-4.3.28
Смотрю лог, а там
Checking for gcc: found version 4.8.5, OK.
Получается, что он по прежнему использует gcc 4.8
Как его заставить через package.env использовать gcc 4.9.
ЧЯДНТ. Думаю, что я не правильно написал gcc493.conf. А как правильно? Не хочется через gcc-config переключатся и потом обратно. Хочется заюзать package.env.

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

Да нет - вроде бы правильно... Вообще я бы написал CC=gcc-4.9.3 (и также CXX=) - этого должно быть достаточно.

pkozlov@localhost ~/apps/dynamodb $ ls -l /usr/bin/gcc-4.8.5 
lrwxrwxrwx 1 root root 62 сен 17 21:25 /usr/bin/gcc-4.8.5 -> /usr/x86_64-pc-linux-gnu/gcc-bin/4.8.5/x86_64-pc-linux-gnu-gcc

Может, он игнорирует эти переменные? Странно вообще.

У меня этот package.env для PYTHON_TARGETS используется. Работает.

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

Вообще gcc-config делает несколько больше - он переключает ссылку текущего gcc на конкретную версию.

А слова «Checking for gcc» - очень похоже на скрипт ./configure - может, он и правда кладёт на то, что в переменных CC/CXX?

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

Не а. Серьезно. Если этого не указать вручную, то просто идет переустановка, R. А при обновлении, собственно обновление, U. А вот если вручную, то да, установка идет в новый слот. Как то так.
З.Ы: я не выдумываю.

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

Прописал

CC=gcc-4.9.3
CXX=gcc-4.9.3
Не помогло. Проверили, значит Антоха был не прав с package.env для этого случая. Буду юзать gcc-config. Переключаться, а затем обратно.

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

Смотри:

emerge -av =sys-devel/gcc-4.6.4

Calculating dependencies... done!
[ebuild  NS    ] sys-devel/gcc-4.6.4:4.6.4::gentoo [4.8.5:4.8::gentoo] USE="cxx fortran (multilib) nls nptl openmp (-altivec) (-awt) -debug -doc (-fixed-point) -gcj (-hardened) (-libssp) -mudflap (-multislot) -nopie -nossp -objc -objc++ -objc-gc -regression-test -vanilla" 70 352 KiB

emerge -av sys-devel/gcc

Calculating dependencies... done!
[ebuild  NS   ~] sys-devel/gcc-4.9.3:4.9::gentoo [4.8.5:4.8::gentoo] USE="cxx fortran (multilib) nls nptl openmp sanitize (-altivec) (-awt) -cilk -debug -doc (-fixed-point) -gcj -go -graphite (-hardened) (-libssp) (-multislot) -nopie -nossp -objc -objc++ -objc-gc -regression-test -vanilla" 87 937 KiB


Как видишь, версия gcc будет установлена в отдельный слот. Если у тебя размаскирована версия gcc из другой ветки, т.е. 4.6, 4.7, 4.8, 4.9, то при установке gcc версия из другой ветки будет ставиться в отдельный слот, а если у тебя обновляется версия gcc в пределах одной ветки, т.е. к примеру стоял gcc-4.8.4, а затем ты обновляешь до gcc-4.8.5, то будет просто обновление компилятора.

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