4-й GCC

Ура ! заемержили сегодня в дерево портеджей
делимся впечатлениями
появилась интересная опция
-ftree-vectorize

Фигасе! А я и не

Фигасе! А я и не знал, что у gcc4 появилась векторизация циклов! Нужны benchmark'и и сравнение с icc :-)

сделать emerge -e

сделать emerge -e world под новым компилятором еще не решился ?

компилятор уже поставил...

правда дальнейшие действия вызывают некоторые проблемы...
ну естественно надо gcc-config... fix_libtool тоже надо сделать, без этого возникают проблемы со сборкой...

после чего благополучно собрал kdelibs... ну и еще по мелочи...

-e наверное не буду делать... не вижу большой необходимости...

но вообще оптимизатор работает получше... опции тоже еще не менял, но на размере файлов заметно (я юзаю -Os)

*

почти все пересобрал - собирается стабильно
только glibc и сам gcc не собираются с флагами -fPIC
как их прописать так что-бы только для gcc и glibc они отключались?
( -fPIC нужен для prelink )
а еще вопрос - что это в нем за use флаги -objc++ -objc-gc - если их включить то что получится?

objc

objc - это Objective C..
gc - это Garbage Collection...

если тебе Objective C не нужен... то и пофиг.

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

Говорят zlib с

Говорят zlib с -ftree-vectorize не работает как надо

сделал emerge -e world

сделал emerge -e world под новым gcc 4.1.1, (был инцидент, что у меня в дереве портов еще есть 3.3.6 и когда он до него дошел, стал его пересобирать, а потом этот старый гцц решил заменить профиль 4.1.1 на 3.3.6, пришлось отменить сборку, поставтиь 4.1.1 профиль и продолжить)
собрались все пакеты(список ниже), кроме fbpager, он наотрез отказался собираться из-за ерроров. Еще можно отметить добавившиеся варнинги при сборке ядра, которых не было на 3.3.6 об неиспользуемых функциях.
Вот make.conf

USE="x86 mmx mmx2 3dnow 3dnowex usb sse fbcon aalib crypt cups encode gif imlib jpeg libg++ libwww nceuses nls oggvorbis png tiff python quicktime readline slang spell svg svga zlib oss alsa perl nvidia samba xml xml2 -matrox -mga X opengl gtk gtk+ gtk2 tcltk dvd flash xmms truetype tk lm_sensors -xfs vorbis freetype scanner ogg audiofile avi mpeg threads -doc dvdr cdr dvdread xvid ffmpeg network xine -motif -athena qt kde lirc -directfb -static -ldap -arts -artswrapersuid -hotplug apache2 -ipv6 java -gnome mmx dvd theora win32codecs firefox nptl nptlonly 7zip icq irc jabber nvidia v4l2 x264 aac bzip2 zip mysql iconv hash ftp socks5 userlocales acpi nforce2 cvs pascal php ruby sql cpudetection 3dnowext mmxext bootstrap fat hfs jfs ntfs reiser4 reiserfs xfs"
CFLAGS="-O3 -march=athlon-xp -pipe -fomit-frame-pointer -mfpmath=sse -mpreferred-stack-boundary=2 -s"
CHOST="i686-pc-linux-gnu"
CXXFLAGS="${CFLAGS}"
MAKEOPTS="-j2"
ACCEPT_KEYWORDS="~x86"
LINGUAS="ru"
ALSA_CARDS="emu10k1"
INPUT_DEVICES="keyboard mouse"
VIDEO_CARDS="nvidia"
CONFIG_PROTECT="-*"

и основные пакеты из ворлдлиста:

gparted dosfstools terminus-fonts freetype vim glsof cpuburn iproute2 proftpd 
smartmontools kdevelop memtest86+ cpufreqd squashfs-tools strace apache 
dev-lang/php fortune-mod epsxe lives audacity d4x skype emacs gftp htop xchat 
sysklogd cdrtools ethereal sim rar amap irssi gimp gimp-print foomatic 
libflash xdm djvu acroread hddtemp nvclock k3b cedega wine splashutils 
telnet-bsd whois fmtools opera mozilla-firefox mozilla-thunderbird samba openoffice cups nmap mc mplayer xvid ffmpeg ffmpeg2theora telnet-bsd alsa-utils mathomatic centericq lynx lm_sensors hydra tvtime sys-fs/fuse reiserfsprogs net-p2p/mldonkey gentoolkit siefs squid iptables xmms vmware-workstation avidemux screen cvs macchanger grip tcpdump traceroute submount aspell aspell-ru nrg2iso mdf2iso ccd2iso bin2iso b5i2iso stardict p7zip
#kdebase kdeadmin kde-i18n kdegames kde-base/superkaramba kuroo krusader
#feh fluxbox root-tail conky idesk xxkb xscreensaver fbpager unclutter
#chromium foobillard wormux supertux
#nvidia-kernel nvidia-glx
#gentoo-sources

А с -О3 не

А с -О3 не страшно? И что есть за ключики -mfpmath=sse -mpreferred-stack-boundary=2 -s ??? поясните пожалуйста!

А где можно почитать про полезные ключики для 4.1.1 на русском желательно? Или все самое нормальное уже в -О2 включено?

страшно,

страшно, страшно быстро :)
http://www.bog.pp.ru/work/gcc.html это что откопал на русском, на английсокм более подробно на сайте девелоперов :)

А я вот сделал

Субъективно - быстрее все. Окна моментом вылетают. И вообще :)

о - а подскажите

о - а подскажите опции CFLAGS какие - ато у меня тоже много что вылетает... особенно openoffice-bin из кде

Лигко

CFLAGS="-march=k8 -fomit-frame-pointer -pipe -O3 -ffast-math -funroll-all-loops -fpeel-loops -ftracer -funswitch-loops -funit-at-a-time"
Новомодные фичи из 4ки решил не использовать.

libstdc++.so.6: version `CXXABI_1.3.1' not found

не запускается krusader и firefox-bin с ошибкой libstdc++.so.6: version `CXXABI_1.3.1' not found, а у некоторых что-то в кде не собирается

никакие fix_libtool.sh не помогали, только удалив старый 3-й все заработало

ps gcc-4 уже собирается с флагом -fPIC а glibc еще нет

Проблема с KDE...

всю голову уже сломал..

пересобрал qt. пересобрал kdelibs

стоит попробовать собрать что нибудь kde-шное еще, как получаешь ошибку на этапе configure, типа

checking if UIC has KDE plugins available... no
configure: error:
you need to install kdelibs first.

и че с этим делать - ума не приложу...

Инет говорит пересобрать kdelibs... да уже пять раз пересобрал...
щас засинхронизируюсь.. отключу ccache и пересоберу все сначала... qt, kdelibs и тд.

you need to install kdelibs first.

you need to install kdelibs first - этот странный ответ на то что у вас разные части кде собраны с разными флагами, если пересобрать заново все кде ( не только либы и qt а все кде ), не меняя флаги gcc - то все работает.

насчет всего не

насчет всего не факт. Вчера пересобрал qt3.3.6 как результат поломались темы кдешные. Пересобрал kdelibs темки восстановились и все пашет.

.

и что - даже опен-офис?

А он у меня

А он у меня бинарный. Да и пашет он.

*

и что после пересборки всего через GCC-4?
а у меня на 2-х компьютерах даже не запускается
/usr/lib/openoffice/program/soffice: line 236: 3270 Segmentation fault "$sd_prog/$sd_binary" "$@" : http://forums.gentoo.org/viewtopic-t-467213-highlight-.html
уже и не знаю что и делать, пробовал собрать из исходников - но после 12-ти часовой сборки он "слетел"

хм. с ядром

хм. с ядром перекомпиленым глюки в консоли и не только (( во первых затормаживается часто причем подвисания не только в обычной консоли, а и в терминалах любых... инет отрубается и просто тормозит... коннект через ssh к серваку тот еще тормоз получается... как откатываюсь на старое ядро, то все пучком :( Проверял ck & gentoo ядра.

*

жуть... наверно у вас что-то в конфиге ядра напутано - так как я особо ничего не заметил - ядро нормально собирается с -ftree-vectorize и нормально работает у меня на 2-х компах (amd)

Ядро

Ядро игнорирует make.conf и по своим параметрам собирается, если вы специально не делаете ничего.

.

а я его в ядровый маке дописывал

переход на gcc4

Прочитал тред, решил перейти.
Запустил gcc-config и fix_libtool_files.sh (fix_libtool не нашёл;)
Построил lirc. Блендер достраивается. Вроде как без проблем.
Что-нибудь ещё надо делать (для переезда)?
Есть где-нибудь хаута?

Счас приехал некий app-admin/eselect-compiler-2.0.0_rc1-r4, кто-нить знает, он при делах?

переход на gcc4

Блендер сегфолтится 8(
а еселект-компайлер это замена гцц-конфигу:

# gcc-config 6
* gcc-config is deprecated and is just a frontend to the compiler
* eselect module. In the future, gcc-config will be removed
* from portage. Please see 'eselect compiler help'
Successfully set compiler for i686-pc-linux-gnu to i686-pc-linux-gnu-4.1.1/vanilla.

> Блендер

> Блендер сегфолтится 8(
какие флаги компилера? новые оптимизации циклов не дружат с некоторыми пакетами. Поставьте -O2 и все будет хорошо.

> /vanilla
а почему vanilla ?
я простым пользовался

Re: > Блендер

kiev1 написал(а):
> Блендер сегфолтится 8(
какие флаги компилера? новые оптимизации циклов не дружат с некоторыми пакетами. Поставьте -O2 и все будет хорошо.

loginex говорит, что у него с -O3 всё работает.
Я думаю дело в пропущенном emerge --oneshot -av libtool

kiev1 написал(а):
> /vanilla
а почему vanilla ?
я простым пользовался

vanilla добавилась после установки eselect-compiler

Re: > Блендер

kiev1 написал(а):
> Блендер сегфолтится 8(
какие флаги компилера? новые оптимизации циклов не дружат с некоторыми пакетами. Поставьте -O2 и все будет хорошо.

emerge libtool не помог
-O2 не помогло
помогло удаление -mpreferred-stack-boundary=2
-O3 вернул обратно ;)

флаги компилера

в общем путем длительных малоприятных экспериментов с ловлей различных глюков и багов было выявлен еще один вредный флаг --ffast-math - ну кто мог догадатся что если собрать с этим флагом kdelibs то бинарный опен-офис будет при старте слетать с ошибкой, и даже strace ничего не прояснял, ... в общем если не хотите иметь вечно глючащий дистрибутив, то самое верное убрать все новомодные и другие флаги и оставить только -O2 -pipe, вот тогда все работает, иначе из тысячи пакетов потом концов не найти от чего что куда произошло и почему оно "слетает"

Ексель... может у меня поэтому

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

у меня собралось все с 4-м gcc

у меня собралось все с 4-м gcc - только если не ставить в CFLAGS разную муть, и удалить 3-й gcc, питон тоже собрался.
иногда в USE отключал неиспользуемые и несобирающиеся опции.

USE="-pango -fortran gcc4 static qt-static qt4 symlink dlloader kde qt gnome -bindist mono fam kdehiddenvisibility glitz cairo -dri firefox xml -postgress mysql mpm-* -apache2 cpudetection -snmp -arm -alpha bitmap-fonts kdepim xcomposite quicktime v4l vcd vorbis encode pdflib python plotutils png pnp -pcmcia lcms imagemagick javascript ipeg junit freetype -mozilla firefox hal -tcpd reiser4 -apm objc -threads nvidia truetype -vorbis win32codecs divx4linux cups slang ncurses usb nomalloccheck kdeenablefinal -sasl -font-server -debug cjk oss opengl wmf aiglx compositor opengl pda -hardened -mysql qt gtk2 gtk html dga dio fpu vme pse36 fxsr sse syscall mp 3dnowext 3dnow nptl nptlonly ffmpeg unicode utf8 -ipv6 nls -pcmcia -pic java -ssl truetype-fonts type1-fonts userlocales -smb samba -ldap xglserver glx mesa -pam -moznoxft xft type1 -gdbm berkdb -pango"

CFLAGS="-march=athlon-xp -mtune=athlon-xp -O2 -pipe"
FEATURES="-strict buildpkg prelink confcache"
SUPPORT_ALSA=1
ACCEPT_KEYWORDS="~x86
CHOST="i686-pc-linux-gnu"
CXXFLAGS="${CFLAGS} -fvisibility-inlines-hidden"
VIDEO_CARDS="nv nvidia"
INPUT_DEVICES="keyboard mouse"
CONFIG_PROTECT="/etc"

еще несколько вредных флагов

-funroll-all-loops -fpeel-loops -funswitch-loops - с ними не собирается ruby (amd64)

Re: переход на gcc4

toohes написал(а):
Есть где-нибудь хаута?

На gentoo.org в разделе Documentation

Re: переход на gcc4

LXj написал(а):
toohes написал(а):
Есть где-нибудь хаута?

На gentoo.org в разделе Documentation

Для таких же ебланов, как я: http://www.gentoo.org/doc/ru/gcc-upgrading.xml

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

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