GCC-4.6.1... проблемы или их отсутствие?

Здрасвтвуйте.
Хотелось бы узнать о целесообразности перехода на новый, но замаскированный пакет gcc-4.6.1.
Я занимаюсь графикой, основной пакет - blender.
Прочел на blendernation о повышении стабильности и производительности благодаря новой версии компилятора 4.6
Так вот...
Оно того стоит? я имею в виду если просто размаскировать gcc собираться будет?

потом еще
у меня i7, значит флаги можно поставить
CFLAGS="-march=corei7 -O2 -pipe"
????

Почитайте

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

спасибо

спасибо
т.е.
скомпилить
переключиться на 4,6 (как?)
компилить все на 4,6 (если не работает скомпилить проблемные пакеты на 4,4)
правильно?

думаю собирать world на 4.6

думаю собирать world на 4.6 не стоит

для начала соберите blender(тот пакет который лучше работает с 4.6)
для переключения gcc-config

.

brothermechanic написал(а):
если просто размаскировать gcc собираться будет?

Кто будет собираться - сам GCC? Дык чего бы ему не собраться?.. Только не забывайте об осознанном применении юз-флагов (это, ессно, касается как GCC, так и всего остального)

Цитата:
у меня i7, значит флаги можно поставить
CFLAGS="-march=corei7...

... -march=native -mtune=corei7-avx ...

P.S. Пользую сабж на различных системах с конца марта, косяков не наблюдал (за исключением случаев попытки сборки откровенно устаревшего ПО, сейчас уже и не вспомню - какого именно)

Мы тоже не всего читали Шнитке!.. © В. Вишневский

USE gcc-4.6.x

P.S. Пользую сабж на различных системах с конца марта, косяков не наблюдал (за исключением случаев попытки сборки откровенно устаревшего ПО, сейчас уже и не вспомню - какого именно)
USE "lto" не включали?! читал еще до выхода релиза, что решат проблему с этим флагом. Насколько я помню (могу и ошибаться), с этим флагом время компилирования пакетов должно уменьшиться.

.

erzengel написал(а):
USE "lto" не включали?

Само собой разумеется - флаг включен

Цитата:
Насколько я помню (могу и ошибаться), с этим флагом время компилирования пакетов должно уменьшиться

Ошибаетесь, LTO не уменьшает время сборки, данная фича предназначена для оптимизации собираемого кода

Мы тоже не всего читали Шнитке!.. © В. Вишневский

Благодарю )) за поправку

Благодарю )) за поправку

Всем спасибо

Собрал мир на 4,6,1.
Ошибок небыло, так что удачно
Сейчас первые впечатления что делал незря..
рано говорить о стабильности, но прирост скорости вычислений физики/рейтрейсинга +8% !!!!!!!!
собирал с CFLAGS="-march=native -O2 -pipe"

зы: [ebuild R #] sys-devel/gcc-4.6.1-r1 USE="fortran graphite mudflap (multilib) nls nptl openmp (-altivec) -bootstrap -build -doc (-fixed-point) -gcj -go -gtk (-hardened) (-libffi) -multislot -nocxx -nopie -nossp -objc -objc++ -objc-gc -test -vanilla"

зыы: как правильно удалить старый gcc-4.4?

.

brothermechanic написал(а):
USE="fortran graphite mudflap (multilib) nls nptl openmp (-altivec) -bootstrap -build -doc (-fixed-point) -gcj -go -gtk (-hardened) (-libffi) -multislot -nocxx -nopie -nossp -objc -objc++ -objc-gc -test -vanilla"

Имхо, libffi ни разу не помешает... И имеются у меня некоторые сумнения по поводу openmp (а конкретно - профит при использовании на одиночном хосте без кластеризации), Если кто "в теме" - просьба поделиться линками на источники инфы, а то как-то мутновато с этим вопросом на openmp.org...

Цитата:
как правильно удалить старый gcc-4.4?

Если в eselect у вас выбран 4.6, 4.4 должен сам удалиться по emerge -c (ессно, если какой-либо установленный пакет не требует конкретной версии GCC)

Мы тоже не всего читали Шнитке!.. © В. Вишневский

и соответственно, сделать

и соответственно, сделать gcc-config (после смены версии gcc)

openmp нужен

openmp параллелит некоторые вещи которые могут быть распараллелены без существенного изменения логики программы.(в случае использования его препроцессорных деректив)
Например если цикл не имеет общих данных в разных итерациях - он их параллелит.
Имеет смысл это использовать ИМЕННО на одиночных хостах без кластеризации, так как это всего лишь удобный интерфейс к pthreads(на linux).

i7 разные если первые, то

i7 разные
если первые, то corei7
если вторые - corei7-avx
по поводу мира - на ~x86 весь мир собран - полёт нормальный
за исключением первогруба и ещё каких-то пары пакетов

Здесь были линки но пришла Larry и их слизнула =)
Данный аккаунт забанен так как его владелец не умеет себя культурно вести на форуме. /// WBR alexxy

cuda не компилится на 4,6 (((

cuda не компилится на 4,6 (((

cuda c 4.4 собирается

cuda c 4.4 собирается точно
для таких вещей у меня костыль в bashrc портажа

#COMPILERS
if [ -f ${ROOT}/etc/portage/package.compilers ]; then
   while read target ver; do
      if [ "${target}" = "${CATEGORY}/${PN}" ]; then
      export ROOTPATH="/usr/i686-pc-linux-gnu/gcc-bin/$ver:$ROOTPATH"
      fi
   done < ${ROOT}/etc/portage/package.compilers
fi

[ root@desktop ] megabaks # cat /etc/portage/package.compilers 
dev-util/nvidia-cuda-sdk 4.4.6
media-libs/freeimage 4.4.6
sys-boot/grub 4.4.6
[ root@desktop ] megabaks #

Здесь были линки но пришла Larry и их слизнула =)
Данный аккаунт забанен так как его владелец не умеет себя культурно вести на форуме. /// WBR alexxy

megabaks, по подробнее

megabaks, по подробнее пожалуйста
что за файл - "bashrc"
/etc/portage/package.compilers я создал

/etc/portage/bashrc

/etc/portage/bashrc

Здесь были линки но пришла Larry и их слизнула =)
Данный аккаунт забанен так как его владелец не умеет себя культурно вести на форуме. /// WBR alexxy

неее... (((( все равно не

неее... (((( все равно не помогает
при компиляции blender-cycles выдается ошибка
в логе пишет это
/opt/cuda/bin/../include/host_config.h:82:2: error: #error -- unsupported GNU version! gcc 4.5 and up are not supported!

#cat /etc/portage/package.compilers
dev-util/nvidia-cuda-toolkit 4.4.6
dev-util/nvidia-cuda-sdk 4.4.6
media-libs/freeimage 4.4.6
sys-boot/grub 4.4.6

#cat /etc/portage/bashrc
LC_ALL=en_US.UTF-8

#COMPILERS
if [ -f ${ROOT}/etc/portage/package.compilers ]; then
while read target ver; do
if [ "${target}" = "${CATEGORY}/${PN}" ]; then
export ROOTPATH="/usr/i686-pc-linux-gnu/gcc-bin/$ver:$ROOTPATH"
fi
done < ${ROOT}/etc/portage/package.compilers
fi

а у тебя 4.4.6 стоит?

а у тебя 4.4.6 стоит?

Здесь были линки но пришла Larry и их слизнула =)
Данный аккаунт забанен так как его владелец не умеет себя культурно вести на форуме. /// WBR alexxy

даи если его выбрать в

да
и если его выбрать в gcc-config появляется ошибка
# USE='cuda' emerge -av blender-cycles
cmake: /usr/lib/gcc/x86_64-pc-linux-gnu/4.4.6/libstdc++.so.6: version `GLIBCXX_3.4.15' not found (required by cmake)

так у тебя blender-cycles и

так у тебя blender-cycles и не прописаны в package.compilers

Здесь были линки но пришла Larry и их слизнула =)
Данный аккаунт забанен так как его владелец не умеет себя культурно вести на форуме. /// WBR alexxy

прописал... та же фигня Что ж

прописал... та же фигня
Что ж получается, блендер у меня теперь оптимизированный, но не компилируется!?

логи!

давай уже логи
и с какого края здесь блендер?

Здесь были линки но пришла Larry и их слизнула =)
Данный аккаунт забанен так как его владелец не умеет себя культурно вести на форуме. /// WBR alexxy

Блендер имеет в зависимости

Блендер имеет в зависимости nvidia-cuda-toolkit (устанавливается из убунтовского deb пакета),
которая, в свою очередь, выступает в роде компилятора для GPU-ретдера (модуля блендера), называемого cycles
Так вот эта самая cuda в логе пишет что не принимает на gcc-4.5 и выше
http://paste.org.ru/?9lyew1
А предложенная схема выше не действует в моем случае
Даже если поменять гцц через gcc-config - не исправляет ситуацию

ebuild

запости куда-нибудь ебилд
поковыряю
возможно что и придумаю
просто получается, что cuda-компилер запускается по полному пути, а не относительным
в этом случает на PATH/ROOTPATH ей действительно плевать

Здесь были линки но пришла Larry и их слизнула =)
Данный аккаунт забанен так как его владелец не умеет себя культурно вести на форуме. /// WBR alexxy

Вот, будь

ну что могу сказать...

http://paste.pocoo.org/show/494816/
таки мой костыль работает
сейчас думаю как побороть GLIBCXX_3.4.15
UPD: мой bashrc http://paste.pocoo.org/show/494817/
сравни/попробуй - может кривой копипаст был просто

Здесь были линки но пришла Larry и их слизнула =)
Данный аккаунт забанен так как его владелец не умеет себя культурно вести на форуме. /// WBR alexxy

пофиксил

#COMPILERS
if [ -f ${ROOT}/etc/portage/package.compilers ]; then
   while read target ver; do
      if [ "${target}" = "${CATEGORY}/${PN}" ]; then
	export ROOTPATH="/usr/i686-pc-linux-gnu/gcc-bin/$ver:$ROOTPATH"
	REAL_GCC_PATH="$(gcc-config -c| cut -d\- -f1,2,3,4)"
	REAL_GCC_VER="$(gcc-config -c | cut -d\- -f5)"
	export LIBRARY_PATH="/usr/lib/gcc/${REAL_GCC_PATH}/${REAL_GCC_VER}:${LIBRARY_PATH}"
      fi
   done < ${ROOT}/etc/portage/package.compilers
fi

Здесь были линки но пришла Larry и их слизнула =)
Данный аккаунт забанен так как его владелец не умеет себя культурно вести на форуме. /// WBR alexxy

ну и?

что расскажешь?
кстати - тулкит куды нормально и с 4.6.1 собирается

Здесь были линки но пришла Larry и их слизнула =)
Данный аккаунт забанен так как его владелец не умеет себя культурно вести на форуме. /// WBR alexxy

megabaks, очень признателен

megabaks, очень признателен за помощь!
Извини за поздний ответ
так у Вас blender-cycles собрался с кудой на 4,6,1 ???? или нет?
тулкит куды устанавливается вроде из бинарного пакета, поетому ему неважен компилятор
Спасибо за труды и жду ответа

собрался при сборке именно

собрался
при сборке именно тулкита плевать на версию
сам тулкит не умеет gcc овер 4.4.*
и сей костыль решил проблему

Здесь были линки но пришла Larry и их слизнула =)
Данный аккаунт забанен так как его владелец не умеет себя культурно вести на форуме. /// WBR alexxy

не работает(((

все сделал по вашему рецепту
и вот...
http://paste.org.ru/?5k5ivp

# gcc-config -l
[1] x86_64-pc-linux-gnu-4.4.6
[2] x86_64-pc-linux-gnu-4.6.1 *

странно

попробуй мой bashrc

Здесь были линки но пришла Larry и их слизнула =)
Данный аккаунт забанен так как его владелец не умеет себя культурно вести на форуме. /// WBR alexxy

log

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

mv share/blender-cycles/2.59 share/blender-cycles/"${SLOT}"

на

mv share/blender-cycles/2.60 share/blender-cycles/"${SLOT}"

Здесь были линки но пришла Larry и их слизнула =)
Данный аккаунт забанен так как его владелец не умеет себя культурно вести на форуме. /// WBR alexxy

На мне проклятье?

[ 76%] Built target bf_intern_elbeem
make: *** [all] Ошибка 2
* ERROR: media-gfx/blender-cycles-9999 failed (compile phase):
* emake failed
(это на вашем "диком" bashrc)

пс:megabaks, мне уже стыдно вас донимать, вообщем не работает и ладно, буду ждать обновления куды....

возможно :3

а что за портаж?
не 2.2 случаем?
у меня портаж 2.1 и куда 4.0

Здесь были линки но пришла Larry и их слизнула =)
Данный аккаунт забанен так как его владелец не умеет себя культурно вести на форуме. /// WBR alexxy

Вот какие версии

[ebuild R ~] sys-apps/portage-2.1.10.32 USE="(ipc) -build -doc -epydoc -python2 -python3 (-selinux)" LINGUAS="-pl"
[ebuild R ] dev-util/nvidia-cuda-toolkit-4.0 USE="-debugger -doc -profiler"

хм...

аналогично всё, только куда с profiler...

Здесь были линки но пришла Larry и их слизнула =)
Данный аккаунт забанен так как его владелец не умеет себя культурно вести на форуме. /// WBR alexxy

я дурак!

замени в bashrc i686 на x86_64 и всё заведётся :)
или ещё лучше так

#COMPILERS
if [ -f ${ROOT}/etc/portage/package.compilers ]; then
  while read target ver; do
   if [ "${target}" = "${CATEGORY}/${PN}" ]; then
    export ROOTPATH="/usr/$MACHTYPE/gcc-bin/$ver:$ROOTPATH"
    export PATH="/usr/$MACHTYPE/gcc-bin/$ver:${PATH}"
    export LIBRARY_PATH="$(gcc-config -L):${LIBRARY_PATH}"
   fi
  done < ${ROOT}/etc/portage/package.compilers
fi

Здесь были линки но пришла Larry и их слизнула =)
Данный аккаунт забанен так как его владелец не умеет себя культурно вести на форуме. /// WBR alexxy

wxGTK-2.8.12.1 и gcc-4.6.2

Так, просто для справки. Перешел на gcc-4.6.2 и постепенно собираю им, уж почти месяц как. Все благополучно, но бывают и нюансы. Памятный один нюанс возник на днях со сборкой wxGTK-2.8.12.1 -- не собирается оно gcc-4.6.2. На этапе configure checking checking for thr_setconcurrency определяется как yes при сборке gcc-4.6 (но как no при сборке gcc-4.5), и в дальнейшем при компиляции имеем

... src/unix/threadpsx.cpp:51:24: fatal error: thread.h: No such file or directory

какового файла в системе уже нет. Копать глубже не стал, но сделал gcc-config 1 && emerge -1 wxGTK && gcc-config 2, и считаю инцидент исчерпанным.

:}

>считаю инцидент

>считаю инцидент исчерпанным
до обновления до 2.8.13, например )

Здесь были линки но пришла Larry и их слизнула =)
Данный аккаунт забанен так как его владелец не умеет себя культурно вести на форуме. /// WBR alexxy

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

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