4-й GCC
kiev1 26 мая, 2006 - 16:20
Ура ! заемержили сегодня в дерево портеджей
делимся впечатлениями
появилась интересная опция
-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
и основные пакеты из ворлдлиста:
А с -О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: > Блендер
loginex говорит, что у него с -O3 всё работает.
Я думаю дело в пропущенном emerge --oneshot -av libtool
vanilla добавилась после установки eselect-compiler
Re: > Блендер
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
На gentoo.org в разделе Documentation
Re: переход на gcc4
Для таких же ебланов, как я: http://www.gentoo.org/doc/ru/gcc-upgrading.xml