LINUX.ORG.RU

Вышел GCC 3.3.3.


0

0

Очень символично сообщество GNU решило отметить праздник св. Валентина... Выходом GCC 3.3.3. Исправлено ощутимое количество багов, в основном Internal compiler errors и ошибки в C++ compiler and library.

>>> Changelog



Проверено: maxcom

особенно впечатлило:

GCC 3.3.3 Bug Fixes x86-specific (Intel/AMD)

* 12943 array static-init failure under -fpic, -fPIC * 13608 Incorrect code with -O3 -ffast-math

azazello ★★★★
()
Ответ на: комментарий от Selecter

3.3.х нельзя использовать как production компилятор, в нем полно ошибок. В данный момент самый лучший gcc это 3.2.3.

PS: рассматриваются только плюсовые компиляторы. севые компиляторы все одинокаво хорошие.

anonymous
()
Ответ на: комментарий от anonymous

2 anonymous (*) (16.02.2004 15:59:25):

> 3.3.х нельзя использовать как production компилятор, в нем полно ошибок. В данный момент самый лучший gcc это 3.2.3.

О, всезнающий анонимус, может ты укажешь на _конкретные_ ошибки (по сравнению с 3.2.3), которые делают его не готовым для production use? Также посмотри на версии gcc, которыми собраны последние линуксовые дистры (и бздя кстати тоже). В 99% случаев ты увидишь gcc 3.3.x. Разве не это называют production?

3.14здеть не мешки ворочать :)

anonymous
()
Ответ на: комментарий от anonymous

Компиляторы версии 3 абсолютно нестабильны. 3.2.3 - не смог собрать Squid/2.3.STABLE5 - вывалился с ошибкой сегментации. Выкинул. Заменил на самый новый на тот момент 3.3.2 - собрал Squid, но не смог собрать ffmpeg 0.4.8, если не ошибаюсь. Опять вывалился с ошибкой сегментации. Это всё при том, что фанатом сборки я не являюсь, собираю только то, чего нет в дистрибутиве. Т.е. тестировал очень мало. И почти всё тестированное не собирается теми или иными версиями компиятра 3-й серии не собирается. Компилятор падает. Вернулся назад на 2.95.3 и не знаю проблем, что и всем советую сделать.

P.S. Эмулятор glukalka компилятроами серии 3 собирается некорректно. 3.3.3 - не тестировал, но все более младшие стабильно генерят неверный код. Выхода два - либо выключать оптимизацию (приемо для быстрыз машин), либо откатываться на 2.95.3. Сделать последнее советую всем.

lenin
()
Ответ на: комментарий от lenin

Приветствую)
у меня gcc-2.95.4 правда + gcc-3.3.2 для моих плясок с бубнами. В частности псоледним собирал Atlas, софт для расчетов .. ничего - справляется)
теперь по поводу багов .. для фортрана не критично, потому не вижу смысла устанавливать последний релиз. Далее -O3 -ffast-math - в скольких приложениях сие пользуется ? ну откажитесь от -ffast-math - что 20% потеряется в производительности ? Пионеры ..
Best regards,$echo.

anonymous
()
Ответ на: комментарий от lenin

> Компиляторы версии 3 абсолютно нестабильны. 3.2.3 - не смог собрать Squid/2.3.STABLE5 - вывалился с ошибкой сегментации.

у меня 3.2.2 от red Hat. Абсолютно никаких проблем в компиляции. Но это на workstation. Для сервера я все же таки собираю на 2.95 :)

Вообще-то ошибки сегментации при компиляции обычно сигнализируют о более о проблемах с харвером, нежели чем с самим компилятором...

Bogerm
()
Ответ на: комментарий от anonymous

У меня, как и у $echo, gcc-2.95.4 - системный и gcc-3.3.2 для "плясок с бубнами". Собирал довольно много всего разного - вроде всё нормально.

Хотелось бы теперь послушать отзывы о 3.3.3 от людей у которых 3.3.2 валился в сегфолт или генерил неправильный код, может ситуация изменилась? Судя по внушительному ChangeLog'у должно стать лучше.

anonymous
()
Ответ на: комментарий от Selecter

>У меня действительно seg. fault-ы иногда возникают с gcc 3.3.x

И у меня тож было, пока блок питания не поменял. Вылечилось почему-то.

vada ★★★★★
()
Ответ на: комментарий от vada

Это тоже версия, но скорее всего проблема в компиляторе

P.S> Я уже заказал себе новый блок питания кстати. http://produkt.hardware.no/vis_produkt.php?product_id=8870 Нормальный? Меня ещё интересует, подойдёт ли он к моему компу. Может кейс придётся менять или ещё что-то?

Selecter ★★★★
()
Ответ на: комментарий от Alamar

> Что я делаю не так?

Гонишь на автора.

anonymous
()
Ответ на: комментарий от anonymous

У меня тоже Gentoo и 3.3.2. Никаких проблем, за исключением того, что при включенном -pedantic в некоторых местах была ругня на "long long". По-моему дело в том, что в дистрах практически не ставят чистый gcc - патчат по самое нехочу.

kwas
()
Ответ на: комментарий от lenin

Ну и у меня всё работает. Скажу больше - поставил linux-headers-2.6 - и с ними всё собирается (акромя самбы - но тока тока вышла последняя - в ней пофиксено).

IceD
()
Ответ на: комментарий от Alamar

>Что я делаю не так?

Ну как дети!!! Всему учить надо. Куллер от процессора открути, вот оно все и получится.

vada ★★★★★
()

Вот только что получил(попробую 3.3.3, посмотрим):

/usr/qt/3/bin/moc ./kdictapplet.h -o kdictapplet.moc
/bin/sh ../../libtool --silent --mode=compile --tag=CXX g++ -DHAVE_CONFIG_H -I. -I. -I../.. -I/usr/kde/3.2/include -I/usr/qt/3/include -I/usr/X11R6/include -DQT_THREAD_SUPPORT -D_REENTRANT -D_FILE_OFFSET_BITS=64 -Wnon-virtual-dtor -Wno-long-long -Wundef -Wall -W -Wpointer-arith -Wwrite-strings -ansi -D_XOPEN_SOURCE=500 -D_BSD_SOURCE -Wcast-align -Wconversion -Wchar-subscripts -DNDEBUG -DNO_DEBUG -O2 -O3 -march=pentium4 -funroll-loops -fprefetch-loop-arrays -pipe -Wformat-security -Wmissing-format-attribute -fno-exceptions -fno-check-new -fno-common -DQT_CLEAN_NAMESPACE -DQT_NO_ASCII_CAST -DQT_NO_STL -DQT_NO_COMPAT -DQT_NO_TRANSLATION -c -o kdictapplet.lo `test -f 'kdictapplet.cpp' || echo './'`kdictapplet.cpp
ЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪ ЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪ ЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪ ЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪ ЪЪЪ0Segmentation
fault
Please submit a full bug report,
with preprocessed source if appropriate.
See <URL:http://bugs.gentoo.org/>; for instructions.
make[3]: *** [kdictapplet.lo] Error 1
make[3]: Leaving directory `/var/tmp/portage/kdenetwork-3.2.0/work/kdenetwork-3.2.0/kdict/applet'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/var/tmp/portage/kdenetwork-3.2.0/work/kdenetwork-3.2.0/kdict'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/var/tmp/portage/kdenetwork-3.2.0/work/kdenetwork-3.2.0'
make: *** [all] Error 2

!!! ERROR: kde-base/kdenetwork-3.2.0 failed.
!!! Function kde_src_compile, Line 127, Exitcode 2
!!! died running emake, kde_src_compile:make

localhost / # gcc -v
Reading specs from /usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.2/specs
Configured with: /var/tmp/portage/gcc-3.3.2-r7/work/gcc-3.3.2/configure --prefix=/usr --bindir=/usr/i686-pc-linux-gnu/gcc-bin/3.3 --includedir=/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.2/include --datadir=/usr/share/gcc-data/i686-pc-linux-gnu/3.3 --mandir=/usr/share/gcc-data/i686-pc-linux-gnu/3.3/man --infodir=/usr/share/gcc-data/i686-pc-linux-gnu/3.3/info --enable-shared --host=i686-pc-linux-gnu --target=i686-pc-linux-gnu --with-system-zlib --enable-languages=c,c++,f77,objc,java --enable-threads=posix --enable-long-long --disable-checking --enable-cstdio=stdio --enable-clocale=generic --enable-__cxa_atexit --enable-version-specific-runtime-libs --with-gxx-include-dir=/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.2/include/g++-v3 --with-local-prefix=/usr/local --enable-shared --enable-nls --without-included-gettext --disable-multilib
Thread model: posix
gcc version 3.3.2 20040119 (Gentoo Linux 3.3.2-r7, propolice-3.3-7)

Selecter ★★★★
()
Ответ на: комментарий от vada

> Куллер от процессора открути, вот оно все и получится.

А где он находится и на что похож? А то корпус вскрыл, а где кулер понять не могу.

anonymous
()

>Эмулятор glukalka компилятроами серии 3 собирается некорректно

Просветите, а что это такое и что оно эмулирует?

anonymous
()
Ответ на: комментарий от lenin

В первую очередь вините железо. А вы не гоните тачки, не будет вылетать gcc. Отслеживаю gcc со года два с (2.95) и единственный раз были сегфолты когда тачку гонял. Вернул на родный частоты и все прошло. gcc очень интенсивно юзает память.

Все дружно поджали уши и ждем gcc 3.4 - вот где обещают богатства вроде переписанного парсера плюс-плюс-плюсов и заметно убыстренное время работы сей.

rihad
()
Ответ на: комментарий от Selecter

А, понятно. Так мне оказывается и корпус вскрывать не надо было - он за крышкой на винтиках с задней стороны. Счас я его.

anonymous
()
Ответ на: комментарий от anonymous

Есть кулер на процессоре, есть на блоке питания. И ещё по мелочам иногда ставят на видеокарты и др..

Selecter ★★★★
()
Ответ на: комментарий от Alamar

> У меня glukalka нормально собирается gcc 3.2.2 и выше. Что я делаю не так?

Он собирается, но работает после сборки gcc3 неправильно. Например, попробуй дему Pussy. Она не заработает. Не работают ещё очень многие программы, но сейчас других уонкретных примеорв привести не могу.

Любителям gcc-3.2.3 - выкачиваем Squid-2.3.STABLE5 - и пытаемся собрать.

lenin
()
Ответ на: комментарий от lenin

>Вернулся назад на 2.95.3 и не знаю проблем, что и всем советую сделать.

Ну ты блин посоветуешь ;)

hint: 2,95.x и 3.х в плюсах не совместимы как на уровне манглинга (что еще не так страшно) так и на уровне стандартов (а вот это вилы)

sS ★★★★★
()

люди, у меня блок питания на 300W и монитор 17", какую версию GCC мне ставить?

anonymous
()
Ответ на: комментарий от anonymous

>люди, у меня блок питания на 300W и монитор 17", какую версию GCC мне ставить?

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

sS ★★★★★
()
Ответ на: комментарий от lenin

> Он собирается, но работает после сборки gcc3 неправильно.

У меня glukalka и компилится, и работает без проблем.

Alamar
()
Ответ на: комментарий от anonymous

* app-emulation/glukalka
Latest version available: 0.67
Latest version installed: [ Not Installed ]
Size of downloaded files: 296 kB
Homepage: http://glukalka.sourceforge.net
Description: Emulator of ZX Spectrum 48K/128K and clones
License: GPL-2

Selecter ★★★★
()
Ответ на: комментарий от lenin

>Большиство программ/библиотек собираются на 2.95.3.

Дык а как же быть с __меньшинством_ ?

Выкинуть чтоли ? Или держать по 2 версии ?

BTW: Мне переезд с 2.95.х на 3.х дался весьма болезненно - пришлось переписывать кучу кода :( А для старых версий моего софта приходится держать отдельный компутер с 2.95.х (так получилось проще чем держать 2 версии на одном компе)

sS ★★★★★
()
Ответ на: комментарий от Alamar

Это так кажется, что работает без проблем. На самом деле пытаемся запустить на скомпилённом gcc3 эмуляторе вот эту демку

ftp://ftp.worldofspectrum.org/pub/sinclair/trdos/games/Pussy-LoveStoryFromTit...

и видим, что прооблемы-то есть.

lenin
()
Ответ на: комментарий от sS

> Дык а как же быть с __меньшинством_ ?

Также, как и в случае меньшинства несобирающихся программ с gcc3. Ничего. Держать два компилятора - не только не выход, но и наживание себе дополнительных проблем.

lenin
()
Ответ на: комментарий от Selecter

Чаще всего такие ошибки seg.fault при значительной нагрузке на систему (компиляция например) возникают из-за криво настроенного (или просто кривого) железа. Я наблюдал эту проблему на AMD платформе на nVidia chipset, пока не поменял установки в BIOS на Optimal. (Как ни странно с ними заработало - с default ни в какую не хотело)

P.S. Это было у меня - не значит, что у других так же.

qleap
()
Ответ на: комментарий от lenin

Версией 3.3.2 из fc1 твой ffmpeg прекрасно собирается, причем cvs-ные версии тоже.
Сквид не собирал - говорить не буду.
glukalka собирал компилятором из rh 9 (давно это было) и тоже все работало. Насколько я помню, автор поправил баги на тему компиляторов 3.x

jackill ★★★★★
()

Да ну, поделки все это. Лучшего компилера чем MSVC .NET еще не было.

anonymous
()
Ответ на: комментарий от Selecter

$g++ -v
Reading specs from /opt/gcc3.3/lib/gcc-lib/i686-pc-linux-gnu/3.3.2/specs
Configured with: ./configure --prefix=/opt/gcc3.3 --program-suffix=-3.3 --enable-shared --with-system-zlib --enable-nls --without-included-gettext --disable-__cxa_atexit
Thread model: posix
gcc version 3.3.2
$gcc -v
Reading specs from /opt/gcc3.3/lib/gcc-lib/i686-pc-linux-gnu/3.3.2/specs
Configured with: ./configure --prefix=/opt/gcc3.3 --program-suffix=-3.3 --enable-shared --with-system-zlib --enable-nls --without-included-gettext --disable-__cxa_atexit
Thread model: posix
gcc version 3.3.2

$moc kdictapplet.h > kdictapplet.moc
$g++ -DHAVE_CONFIG_H -I. -I. -I../.. -I/usr/share/qt3/include -I/usr/include/kde -I/usr/X11R6/include -DQT_THREAD_SUPPORT -D_REENTRANT -D_FILE_OFFSET_BITS=64 -Wnon-virtual-dtor -Wno-long-long -Wundef -Wall -W -Wpointer-arith -Wwrite-strings -ansi -D_XOPEN_SOURCE=500 -D_BSD_SOURCE -Wcast-align -Wconversion -Wchar-subscripts -DNDEBUG -DNO_DEBUG -O2 -O3 -march=pentium4 -funroll-loops -fprefetch-loop-arrays -pipe -Wformat-security -Wmissing-format-attribute -fno-exceptions -fno-check-new -fno-common -DQT_CLEAN_NAMESPACE -DQT_NO_ASCII_CAST -DQT_NO_STL -DQT_NO_COMPAT -DQT_NO_TRANSLATION -c -o kdictapplet.lo `test -f 'kdictapplet.cpp' || echo './'`kdictapplet.cpp
kdictapplet.cpp: In member function `void DictApplet::showExternalCombo()':
kdictapplet.cpp:382: warning: `popupDirection' is deprecated (declared at
/usr/include/kde/kpanelapplet.h:348)
$ls -l kdictapplet.lo
-rw-r--r-- 1 reset users 45764 Фев 16 18:41 kdictapplet.lo



как видишь всё за**ись, тест проводил руками, а не через make так как в моей системе дефолтовым компайлером является 2.95 (перед тестом заюзал update-alternatives --config g++ чтобы сметить компайлер) и ./configure && make не прокатит по понятным причинам


отсюда вывод - либо в gentoo используют какие-то кривые патчи для gcc либо у тебя железо кривое. я думаю что второе

Reset ★★★★★
()
Ответ на: комментарий от lenin

Ну хз - я играю в metal army и все нормально пашет.

jackill ★★★★★
()
Ответ на: комментарий от Selecter

я -O3 ставлю только совместно с -fno-rename-registers Так собрана вся система (кде/гнома у меня конечно нет) -- никаких проблем

imho сегфолты компилятора -- это либо железо либо левые патчи

dilmah ★★★★★
()
Ответ на: комментарий от Reset

А gcc ты сам собирал? А говорил ли ты ему после сборки make -k check, и если да - то сколько тестов успешно завершились?

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.