[SOLVED] не собирается x11-libs/gtk+-2.22.1-r1

Всем привет.
Выполняю обновление. Выполнил :
# emerge --sync
# emerge -uDNa world
вот на этом пакете ошибка:
[ebuild U ] x11-libs/gtk+-2.22.1-r1 [2.20.1-r1] USE="-examples%"

вот что пишет:
symbol lookup error: /usr/lib/qt4/libQtGui.so.4: undefined symbol: _ZNK17QVariantAnimation10metaObjectEv
make[3]: *** [gtk.immodules] Error 127

делал revdep-rebuild не помогло. Какой пакет пересобрать не пойму :(

* [SOLVED] : пакеты собрались после удаления лишних USE и CFLAGS флагов в make.conf и пересборке мира. Всем спасибо.

.

$ strings /usr/lib/qt4/libQtGui.so.4 | grep QVariantAnimation10
_ZNK17QVariantAnimation10metaObjectEv
_ZNK17QVariantAnimation10startValueEv

$ equery belongs /usr/lib/qt4/libQtGui.so.4
 * Searching for /usr/lib/qt4/libQtGui.so.4 ... 
x11-libs/qt-gui-4.6.3-r2 (/usr/lib64/qt4/libQtGui.so.4.6.3)

см также http://www.google.ru/search?q=libQtGui.so.4:+undefined+symbol:+_ZNK17QVariantAnimation10metaObjectEv

а эта строка - это просто подпись

Спасибо. С первопричиной

Спасибо. С первопричиной разобрался. Оказалось, что мир был собран с ключем "gtk" и "gnome" в make.conf.
Пересобрал qt-gui с флагом "-gtk" потом опять пробовал gtk+-2.22.1-r1. Результат тот-же :( сейчас в make.conf выставил "-gtk" и "-gnome". Оставил только "X" и "kde". Пересобираю мир теперь. emerge -uDNa world

Не могу сам победить :(((

Не могу сам победить :((( бьюсь уже который день- не обновляется сабж....
Временным решением я установил из бинарников таким образом :

 # emerge -K =x11-libs/gtk+-2.22.1-r1

но при обновлении мира опять gtk ставить пытается. Я пока остальные пакеты руками поставил (их не много). Как скомпилировать gtk ? Помогите, плз....

Добавлю :
В одном из форумов проблему решили изменив флаг:

Sometimes LDFLAGS can have weird effects, try one of these instead:
LDFLAGS="-Wl,-O1 -Wl,--as-needed -Wl,-z,now" 
LDFLAGS="-Wl,-O1 -Wl,--as-needed" 
LDFLAGS="-Wl,-O1"

у меня не прошел этот вариант :(

попробуй собрать cairo -qt4,

попробуй собрать cairo -qt4, а потом gtk

Привет. Уточню: собрать cairo

Привет.
Уточню: собрать cairo с флагом "-qt4", а сам qt4 не трогать ?

для gtk да.

для gtk да.

Выполнил. тот-же результат

Выполнил. тот-же результат :(

/var/tmp/portage/x11-libs/gtk+-2.22.1-r1/work/gtk+-2.22.1/gtk/.libs/gtk-query-immodules-2.0: symbol lookup error: /usr/lib/qt4/libQtGui.so.4: undefined symbol: _ZNK17QVariantAnimation10metaObjectEv
make[3]: *** [gtk.immodules] Error 127

еще с той-же ошибкой не собрался net-libs/xulrunner и gnome-keyring не собрался :(((
в ошибке библиотека libQtGui.so.4 упомянается :

/usr/lib/qt4/libQtGui.so.4: undefined reference to `QString::replace(QLatin1String const&, QLatin1String const&, Qt::CaseSensitivity)'
collect2: ld returned 1 exit status
make[4]: *** [gnome-keyring-prompt] Error 1
make[4]: Leaving directory `/var/tmp/portage/gnome-base/gnome-keyring-2.32.1/work/gnome-keyring-2.32.1/ui'
make[3]: *** [all-recursive] Error 1
make[3]: Leaving directory `/var/tmp/portage/gnome-base/gnome-keyring-2.32.1/work/gnome-keyring-2.32.1/ui'
make[2]: *** [all] Error 2
make[2]: Leaving directory `/var/tmp/portage/gnome-base/gnome-keyring-2.32.1/work/gnome-keyring-2.32.1/ui'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/var/tmp/portage/gnome-base/gnome-keyring-2.32.1/work/gnome-keyring-2.32.1'
make: *** [all] Error 2
emake failed

попробуй [code] emerge -1

попробуй

emerge -1 `eix -I -C x11-libs qt --only-names`

должно пересобрать все части qt возможно проблема в qt-core или ещё где.

только не просто "qt", а

только не просто "qt", а "qt-" ;)

делаю :)

делаю :)

пересобрал. перед этим

пересобрал. перед этим компилятор пересобрал для новых ключей. Все равно не помогло :(((

давай начнем заново и с

давай начнем заново и с простого ;)

wgetpaste `emerge --info x11-libs/gtk+` и сцылку сюда

Theli написал(а): давай

Theli написал(а):
давай начнем заново и с простого ;)

wgetpaste `emerge --info x11-libs/gtk+` и сцылку сюда

:)
http://paste.pocoo.org/show/359424/

я бы для начала предложил

я бы для начала предложил пересобрать систему с нормальными CFLAGS/CXXFLAGS, т.е. без -msse2 и т.д. и т.п.
CFLAGS="-O2 -pipe -march=native|pentium-m -fomit-frame-pointer" вполне достаточно для безгеморройной жизни ;) ну, можно еще добавить -fexcess-precision=fast в случае gcc:4.5 ;)

прикол в том, что с флагами sse qt либо не собирается, либо плохо работает ;) где-то тут уже неоднократно писали...

.

Ну знаете ли, есть же какие-то границы... Вашего "где-то тут уже неоднократно писали" СОВСЕМ недостаточно для подобных заявлений про qt.
Я подожду от вас пруфлинков, конечно, но знали бы вы, как мне хочется материться... :(

а эта строка - это просто подпись

например

Зато Qt-core не хочет собираться с -mfpmath=sse -msse* : для неё персонально пришлось выставить только простые -O2 -march=native -pipe

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

.

Theli, как бы вы прокомментировали такую женскую логику:

Посылка1: у n0nado Core2Duo и стабильная ветка amd64.
Посылка2: n0nado не "играет с флагами".
Посылка3: у n0nado qt-сore собирается и хорошо работает.

http://www.gentoo.ru/node/21986 :
Посылка4: у alex__ Core2Duo и нестабильная ветка ~amd64.
Посылка5: alex__ "играл с флагами"
Посылка6: у alex__ qt-сore не собирается

Посылка7: alex__ и Theli сообщают, что qt-сore не собирается из-за флагов "-mfpmath=sse -msse*"
Посылка8: авторы GCC сообщают, что для "x86-64 compiler" дефолтно включены флаги "-mfpmath=sse -msse*"
-----------
Заключение: Флаги "-mfpmath=sse -msse*" не влияют на то, соберётся (на amd64) qt-core или нет.

P.S. У sev вообще ACCEPT_KEYWORDS="x86"

а эта строка - это просто подпись

1.Intel 386 and AMD x86-64

1.

Intel 386 and AMD x86-64 Options написал(а):
The resulting code should be considerably faster in the majority of cases and avoid the numerical instability problems of 387 code, but may break some existing code that expects temporaries to be 80bit.

тебе перевести или справишься? :)

2. для x86_64 по-умолчанию выставляется -mfpmath=sse, но никак не определенные -msse, msse2 и т.д. определенные наборы инструкций выбираются программистом!

3. в сценарии configure для qt4 есть опции, которые позволяют выбрать оптимизацию под определенный набор инфтрукций (если ничего не выбрано, то срабатывает автовыбор), при этом задаются директивы, которые открывают для компилятора фрагменты кода, которые оптимизированы под определенный набор sse инструкций. пользовательский CFLAGS/CXXFLAGS не анализируется и просто конкатенируется с сгенерированными конфигуратором CFLAGS/CXXFLAGS... в результате, если выбор пользователя не совпадает с автовыбором конфигуратора, то, например, выбранный код, оптимизированный под sse, собирается с -msse2, что приводит либо к ошибке сборки, либо кривой работе конечного кода ;)

to n0nado Приятно, что вы

to n0nado Приятно, что вы внесли разнообразие в мою тему :)

Спасибо! Действительно sse

Спасибо! Действительно sse недавно поставил... поправил make.conf. Так что, теперь глобально весь мир пересобирать придется ? emerge -ave system; emerge -ave world ?

да желательно, а такого рода

достаточно emerge -av1 glibc && emerge -ave @world
а такого рода оптимизации стоит включать для отдельных пакетов... да и как правило такие вещи выносятся соответствующими юз-флагами ;)

хотел малой кровью

хотел малой кровью обойтись... выполнил

# emerge -av1 glibc gcc
 затем
# emerge -1 `eix -I -C x11-libs qt- --only-names`

потом сабж пересобрал- то-же самое :(((
Что посоветуете дальше делать ? emerge -ave @world тянет 600 пакетов.... я только kde настроил и звук с вай-фаем. Опять поразвалится все :(((

PS. ядро новое появилось (2.6.36-r8. было r5 у меня) стоит обновить или старое оставить ?

с чего бы всем разваливаться?

с чего бы всем разваливаться? конфиги не обновляй через etc-update бездумно и фсе ;)

Та-же ошибка.

Запустил обновление мира вот так :

 # emerge --keep-going -ave world

обновилось все, кроме тех-же :

 x11-libs/gtk+-2.22.1-r1
 net-libs/xulrunner-1.9.2.15

Уже не знаю что пробывать. system весь пересобрать ?

Настройки просмотра комментариев

Выберите нужный метод показа комментариев и нажмите "Сохранить установки".