[SOLVED] Не запускаются gtk-приложения

Здравствуйте!
У меня установлена gentoo amd64 с профилем default/linux/amd64/10.0/desktop/kde. Мои USE-флаги:

USE="   mmx mmxext sse sse2 sse3 ssse3 -3dnow graphite unicode -ipv6 pch custom-cflags custom-optimization \
        -gnome qt4 -qt3 qt2support python3 sqlite eselect npp -gtk \
        bzip2 nls idn ntlm justify wininst xattr bash-completion bdf gd threads icu syslog \
        ithreads ccache jbig djbfft xmp  soundex cleartype glitz lcdfilter aalib cups samba \
        jpeg2k faac faad jack v4l v4l2 aalib lzma gsm imagemagick \
        nsplugin nspluginwrapper ntp -bluetooth smbsharemodes hpijs scanner fuse udev xcomposite \
        semantic-desktop \
        mp3rtp sndfile compat contrib expat mpi xpm mmap nas -pulseaudio alsa dga dmx amr dirac schroedinger \
        speex theora vdpau dv lzo mjpeg nuv postproc quicktime libffi optimized-qmake djvu \
        cjk dxr3 wavpack vcd speex xvmc wmf fpx raw hdri disck-partition extras gphoto2 hotpixels timezone \
        rar phonon gstreamer win64 winetriks java rle \
        icq irc jabber vkontakte mrim \
        handbook cdda daap mp3tunes mtp thumbnail mplayer \
        qthelp udev-acl skype oscar highlight history jingle statistics mozilla video sms \
        accessibility gcj"

Сразу после установки всё работало отлично, но выбивались из общего стиля оформления GTK-приложения (gimp,xsane,nvidia-setting). Установил несколько пакетов:
- x11-themes/gtk-engines-qtcurve
- х11-themes/gtk-engines-qtpixmap
- x11-themes/gtk-engines
- x11-themes/gtk-theme-switch
- kde-misc/kcm_gtk

После первого пакета нкаких изменений не произошло. Остальные установил сразу. Теперь ни одно из gtk-приложений не запускается. При попытке запустить из терминала yakuake получается вот так:

xxxx@yyyy ~ $ gimp
Недопустимая инструкция
xxxx@yyyy ~ $

Под рутом тоже самое.

Мне кажется что проблема в правах доступа или нужно себя добавить в какую-то группу. В общем помогите пожалуйста, не знаю что делать!

emerge -C

emerge -C х11-themes/gtk-engines-qtpixmap

Цитата:
После первого пакета нкаких изменений не произошло

А должны были? qtcurve - это тема, которая есть для qt3/qt4/gtk+
И помимо того, что её установить, её нужно выбрать для всех тулкитов.

Выполнил эту команду.

Выполнил эту команду. Удалился этот пакет. Никаких изменений.
Сделал revdep-rebuild. Пересобрался imagemagick и ещё один пакет связанный с графикой, конкретно с wmf.
Никаких изменений. Может нужен ребут?

CFLAGS покажите ещё.

CFLAGS покажите ещё.

Вот весь мой make.conf: #

Вот весь мой make.conf:

# These settings were set by the catalyst build script that automatically
# built this stage.
# Please consult /usr/share/portage/config/make.conf.example for a more
# detailed example.
#CFLAGS="-O2 -pipe"
#CXXFLAGS="${CFLAGS}"
# WARNING: Changing your CHOST is not something that should be done lightly.
# Please consult http://www.gentoo.org/doc/en/change-chost.xml before changing.
CHOST="x86_64-pc-linux-gnu"
# These are the USE flags that were used in addition to what is provided by the
# profile used for building.
#USE="mmx sse sse2"

CFLAGS="-march=native -msse -msse2 -msse3 -mssse3 -msse4 -msse4.1 -mmmx -mfpmath=sse,387 -O3 -pipe -Wno-all -fomit-frame-pointer -maccumulate-outgoing-args -ftree-vectorize -mcx16 -msahf -g0 -s --param l2-cache-size=6144 -floop-interchange -floop-block -floop-strip-mine -ftree-loop-distribution -funroll-loops"
CXXFLAGS="${CFLAGS}"

VIDEO_CARD="nvidia"

TKBBER_PLUGINS="cyrillize"
LINGUAS="ru"
LC_ALL="ru_RU.UTF-8"

INPUT_DEVICES="evdev"

ACCEPT_KEYWORDS="amd64"
ACCEPT_LICENSE="*"

MAKEOPTS="-j9"

EMERGE_DEFAULT_OPTIS="--verbose"
FEATURES="parallel-fetch metadata-transfer ccache"
CCACHE_SIZE="10G"
CCACHE_DIR="/var/tmp/ccache/"

PORT_LOGDIR="/var/log/portage/"
PORTAGE_ELOG_CLASSES="warn error log info"
PORTAGE_ELOG_SYSTEM="save"
                                                                                                                                                                 
AUTOCLEAN="yes"                                                                                                                                                  
                                                                                                                                                                 
USE="   mmx mmxext sse sse2 sse3 ssse3 -3dnow graphite unicode -ipv6 pch custom-cflags custom-optimization \
        -gnome qt4 -qt3 qt2support python3 sqlite eselect npp -gtk \
        bzip2 nls idn ntlm justify wininst xattr bash-completion bdf gd threads icu syslog \
        ithreads ccache jbig djbfft xmp  soundex cleartype glitz lcdfilter aalib cups samba \
        jpeg2k faac faad jack v4l v4l2 aalib lzma gsm imagemagick \
        nsplugin nspluginwrapper ntp -bluetooth smbsharemodes hpijs scanner fuse udev xcomposite \
        semantic-desktop \
        mp3rtp sndfile compat contrib expat mpi xpm mmap nas -pulseaudio alsa dga dmx amr dirac schroedinger \
        speex theora vdpau dv lzo mjpeg nuv postproc quicktime libffi optimized-qmake djvu \
        cjk dxr3 wavpack vcd speex xvmc wmf fpx raw hdri disck-partition extras gphoto2 hotpixels timezone \
        rar phonon gstreamer win64 winetriks java rle \
        icq irc jabber vkontakte mrim \
        handbook cdda daap mp3tunes mtp thumbnail mplayer \
        qthelp udev-acl skype oscar highlight history jingle statistics mozilla video sms \
        accessibility gcj"


GENTOO_MIRRORS="ftp://mirror2.corbina.ru/gentoo-distfiles/ ftp://mirror.yandex.ru/gentoo-distfiles/"

# SYNC="rsync://mirror2.corbina.ru/gentoo-portage/"

SYNC="rsync://rsync.ru.gentoo.org/gentoo-portage"

Не известный флаг

А это что за флаг-"qt2support"? Я только такой знаю "qt3support".

очевидно тудаже, к опечаткам

очевидно тудаже, к опечаткам VIDEO_CARD и EMERGE_DEFAULT_OPTIS.
А вот более гоночных CFLAGS я не встречал, остаётся только процитировать
http://marsoft.dyndns.info/fortunes-gentoo-ru/list.php#quote478

Точно, опечатка. Спасибо за

Точно, опечатка. Спасибо за подсказку.

Цитата:
очевидно тудаже, к опечаткам VIDEO_CARD и EMERGE_DEFAULT_OPTIS.

Как правильно пишутся VIDEO_CARD и EMERGE_DEFAULT_OPTIS? Это взято с make.conf одного человека, у которого всё впорядке.

.

Возможно, вы имели в виду: VIDEO_CARDS и EMERGE_DEFAULT_OPTS

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

Огромное спасибо!

Огромное спасибо!

Цитата: CFLAGS="-march=native

Цитата:
CFLAGS="-march=native -msse -msse2 -msse3 -mssse3 -msse4 -msse4.1 -mmmx -mfpmath=sse,387 -O3 -pipe -Wno-all -fomit-frame-pointer -maccumulate-outgoing-args -ftree-vectorize -mcx16 -msahf -g0 -s --param l2-cache-size=6144 -floop-interchange -floop-block -floop-strip-mine -ftree-loop-distribution -funroll-loops"

О_о
Чем обусловлен такой набор флагов? Мне от него аж страшно стало.
http://marsoft.dyndns.info/fortunes-gentoo-ru/list.php#quote478
К слову, CFLAGS к ошибке имеют самое прямой отношение
http://ru.wikipedia.org/wiki/SIGILL

Но эти флаги были

Но эти флаги были установленный до начала установки системы. И всё собранно с ними и далеко не в первый раз. Раньше всё работало.
С индивидуальными флагами собраны только:

app-office/openoffice
app-text/texlive-core
kde-base/kde-l10n
net-dialup/pptpclient
sys-libs/ncurses

Может подскажите какие именно пакеты нужно пересобрать для того чтобы эти три несчастные проги начали снова работать? Ведь работали же.

Да, и обусловлен набор флагов опытами вследствии которых было установленно, что с такими флагами абсолютное большинство софта работает. Объективной разницы между тупо -O3 и указанных у меня нет, разве только указанный размер кэша немного ускорил некоторые большие проги, вроде опенофиса. Субъективно конечно.

R1DDLE написал(а): Но эти

R1DDLE написал(а):
Но эти флаги были установленный до начала установки системы. И всё собранно с ними и далеко не в первый раз. Раньше всё работало.

Ну раз вами установлены такие флаги, вы же твёрдо понимаете смысл каждого из них и точно знаете в каком месте он может навредит и как это обойти. Ведь так?
Рекомендую ещё раз прочитать про SIGILL

Читаю, читаю...

Значит причина не в правах доступа и не в том, что мой профиль не входит в ту или иную группу. А на 100% в том, что в этих 3-х программах или библиотеке gtk+ есть машинные инструкции которых не знает мой проц?

Что же теперь делать?..

R1DDLE написал(а): Что же

R1DDLE написал(а):
Что же теперь делать?..

выставить CFLAGS="march=native -O2 -pipe" и выполнить emerge -e world

Точно поможет? Ждать то долго

Точно поможет? Ждать то долго прийдётся...

В общем GDB показывает, что

В общем GDB показывает, что при выполенении всех этих программ SIGILL происходит в библиотеке /usr/lib/libpangoft2-1.0.so.0.
Как узнать частью какого пакета она является?

emerge portage-utils. Хотя в

emerge portage-utils.
Хотя в твоем случае можно просто немного подумать головой.

app-emulation/emul-linux-x86-

app-emulation/emul-linux-x86-gtklibs-20100915 (/usr/lib32/libpangoft2-1.0.so -> libpangoft2-1.0.so.0.2800.1)
x11-libs/pango-1.28.1 (/usr/lib64/libpangoft2-1.0.so -> libpangoft2-1.0.so.0.2800.1)

Нашёл. Сейчас пересоберу эти два...

Ого. не ожидал адекватной

Ого. не ожидал адекватной реакции на мой совет.
Алсо, первый пересобирать бесполезно, это бинарник.

Точно. Первый оказался

Точно. Первый оказался бинарником, да и вообще непричём, т.к. /usr/lib/ указывает на /usr/lib64/ где и сидела библиотека с ошибкой.

Pango пересобранный со следующими флагами работает:

xxxx@yyyyy ~ $ cat /etc/portage/env/x11-libs/pango
CFLAGS="-march=native -mfpmath=sse,387 -O3 -pipe -Wno-all -fomit-frame-pointer -maccumulate-outgoing-args -ftree-vectorize -mcx16 -msahf -g0 -s --param l2-cache-size=6144 -floop-interchange -floop-block -floop-strip-mine -ftree-loop-distribution -funroll-loops"
CXXFLAGS="${CFLAGS}"

Теперь всё работает и выглядит как родное, KDE-шное.

Всем огромное спасибо! Вы мне очень помогли!

P.S. Сделал для себя открытие: GDB - рулит, особенно в gentoo :-)

Цитата: А должны были?

Цитата:
А должны были? qtcurve - это тема, которая есть для qt3/qt4/gtk+
И помимо того, что её установить, её нужно выбрать для всех тулкитов.

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

перед emerge -e system я бы

перед emerge -e world я бы посоветовал на всякие пожарные все установленные в системе пакеты перегнать в бинарники (если уже не сделано) и куда нибудь их заныкать из стандартного места хранения дабы не потереть их вовсе. Ведь не даром же экспериментировали - время тратили!
ИМХО я бы так и сделал

知る者は言わず言う者は知らず
"Бабло, побеждает даже зло"

О, идея! Спасибо!

О, идея! Спасибо!

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

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