LINUX.ORG.RU

Не компилируется qt-webkit-4.8.4

 , ,


0

1

История с установкой Gentoo продолжается. Успешно поставил сам дистр и прикрутил Xfce, все работает на 100%, т. е. все устройства определяются, дрова на звук и видео встали, музыка поет, видео показывает, браузер, мессенджер и все остальное

Но захотелось мне поставить еще и KDE. Не долго думая решил ставить мета-пакетом kde-meta.

Первый раз все закончилось взаимным блокированием друг друга пакетами sys-apps/sysvinit-2.88-r3 и sys-apps/util-linux-2.20. Все решилось занесением пакетов в список /etc/portage/package.mask таким образом:

=sys-apps/sysvinit-2.88-r3
>sys-apps/util-linux-2.20

После этого компиляция частично прошла, но затык образовался на пакете, указанном в заголовке (x11-libs/qt-webkit-4.8.4. Компиляция этого пакета отдельно дала тот же самый результат. Он не просит никаких зависимостей, но в логе компилятора мелькают ошибки типа «Нет такого файла или каталога» и что-то еще.

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

Лог компилятора (build.log)

emerge --info

make.conf



Последнее исправление: Pinkbyte (всего исправлений: 1)

Не долго думая решил ставить мета-пакетом kde-meta.

вот ты псих, кто ж так делает? ставь kdebase-meta

и emerge -pv qt-webkit в студию

anonymous
()

в логе компилятора мелькают ошибки типа «Нет такого файла или каталога» и что-то еще.

особенность работы qt4-r2 eclass, не обращай внимания

i686-pc-linux-gnu-g++: Внутренняя ошибка: Убито (программа cc1plus)

а вот это уже интереснее... Попробуй без -march=native, если будет тоже самое - пиши багрепорт на bugs.gentoo.org

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

кстати что это такое у тебя в make.conf:

EMERGE_DEFAULT_OPTS="-j1" - запускать один экземпляр компилятора (сначала стояло -j2, но от этого производительность проседает)

MAKEOPTS="-j2" - компелять в 2 потока (проц одноядерный P4, исходил из общей рекомендации «количество ядер +1»)

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

По совету irton поставил sqlite, make.conf отредактировал в соответствии с

убери EMERGE_DEFAULT_OPTS="-j1"
и выставь -march=pentium4

Запустил установку метапакета kdebase-meta. Пока процесс идет, о результате напишу.

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

Что поставить вместо этого (архитектура i686)

можно вообще опустить указании -march - просто не будет оптимизаций. Если проблема не в них - ошибка повторится.

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

а чем плох -march=native? Насколько я понимаю, он дает gcc самому определить тип ЦП, тем более, что на другой проц я точно переходить не собираюсь (на этой машине).

stiflerwen
() автор топика

взаимным блокированием друг друга пакетами sys-apps/sysvinit-2.88-r3 и sys-apps/util-linux-2.20. Все решилось занесением пакетов в список /etc/portage/package.mask таким образом:

Буквально только что обновлял систему, всё прекрасно обновилось:

# emerge -auvDN system

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

Calculating dependencies... done!
[ebuild     U  ] dev-db/sqlite-3.7.15.2:3 [3.7.14.1:3] USE="extensions fts3 readline secure-delete threadsafe unlock-notify -debug -doc -icu -soundex -static-libs% -tcl {-test}" 1,804 kB
[ebuild     U  ] dev-libs/nspr-4.9.5 [4.9.4] USE="-debug" 1,130 kB
[ebuild     U  ] sys-apps/sysvinit-2.88-r4 [2.88-r3] USE="(-ibm) (-selinux) -static" 104 kB
[ebuild     U  ] dev-libs/libxml2-2.9.0-r2:2 [2.9.0-r1:2] USE="icu python readline -debug -examples -ipv6 -lzma -static-libs {-test}" PYTHON_TARGETS="python2_7 -python2_5 -python2_6" 0 kB
[ebuild     U  ] sys-apps/util-linux-2.22.2 [2.21.2] USE="cramfs crypt ncurses nls udev unicode -ddate -old-linux -perl (-selinux) -slang -static-libs (-uclibc%)" 3,029 kB
[blocks b      ] <sys-apps/util-linux-2.22 ("<sys-apps/util-linux-2.22" is blocking sys-apps/sysvinit-2.88-r4)
[uninstall     ] sys-block/eject-2.1.5-r2  USE="nls" 
[blocks b      ] sys-block/eject ("sys-block/eject" is blocking sys-apps/util-linux-2.22.2)=sys-apps/sysvinit-2.88-r3
>sys-apps/util-linux-2.20

Total: 5 packages (5 upgrades, 1 uninstall), Size of downloads: 6,065 kB
Conflict: 2 blocks

Would you like to merge these packages? [Yes/No] yes
>>> Verifying ebuild manifests
>>> Starting parallel fetch
>>> Emerging (1 of 5) dev-db/sqlite-3.7.15.2
>>> Emerging (2 of 5) dev-libs/nspr-4.9.5
>>> Emerging (3 of 5) sys-apps/sysvinit-2.88-r4
>>> Installing (3 of 5) sys-apps/sysvinit-2.88-r4
>>> Installing (2 of 5) dev-libs/nspr-4.9.5
>>> Installing (1 of 5) dev-db/sqlite-3.7.15.2
>>> Emerging (4 of 5) dev-libs/libxml2-2.9.0-r2
>>> Installing (4 of 5) dev-libs/libxml2-2.9.0-r2
>>> Emerging (5 of 5) sys-apps/util-linux-2.22.2
>>> Installing (5 of 5) sys-apps/util-linux-2.22.2=sys-apps/sysvinit-2.88-r3
>sys-apps/util-linux-2.20
>>> Uninstalling sys-block/eject-2.1.5-r2

Выполни 'emerge --sync' и в начале обновляй system:

emerge --sync
emerge -auvDN system

При такой блокировке у тебя возникнут позже проблемы

=sys-apps/sysvinit-2.88-r3
>sys-apps/util-linux-2.20

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

В начале обновляй системные пакеты, а затем мир.
1.

emerge -auvDN system
2.
emerge -auvDN world

хм, видимо моя ошибка еще и в том, что вместо ...

Я тебе об этом и написал:

kostik87

Выполни 'emerge --sync' и в начале обновляй system:

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

В начале обновляй системные пакеты, а затем мир

всегда обновлял сразу мир, никогда не было никаких проблем

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

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

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

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

вот ты псих, кто ж так делает? ставь kdebase-meta

а почему бы так не сделать, если, например, я оставляю машину компиляться на ночь/сутки? Или дело не в продолжительности процесса, а в чем-то еще?

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

он не плох, просто стоит исключить баг в компиляторе

Pinkbyte ★★★★★
()

Все получилось, kdebase-meta собрался. Пока не понял, что именно помогло, но что-то из этого:

- установка sqlite (по крайней мере пропали ошибки типа «Нет такого файла или каталога»)

- подключение свопа (я ж, дурак, забыл, что он у меня автоматически не подключается, а ОЗУ всего 512М)

- установка не kde-meta, а kdebase-meta

march=native и EMERGE_DEFAULT_OPTS="-j1" из конфигурации не убирал!

Дополнительный вопрос: как сделать подключение свопа автоматическим? Вот /etc/fstab

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

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

Помогло подключение свопа, т.к. сборка webkit'a требует много памяти (до нескольких гигобайт, в зависимости флагов и количества потоков).

И - да, kde-meta лучше не устанавливать. Это же поставит весь хлам начиная с десятков игр и сотни plasma-виджетов, заканчивая всеми инструментами разработки kde, всеми «мордами» ко всему, кучей сетевых приложений и прочим.
Один из плюсов Gentoo в том, что можно точно контролировать, что будет установлено и, отсеивая ненужное, получать лёгкую систему, делающую всё, что нужно.

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