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.x.x куча проблем вот например.

#include <string>
class A
{
public:
inline operator std::string () const { return "Test"; }
inline operator bool () const { return false; }
inline operator short () const { return 0; }
inline operator int () const { return 0; }
inline operator long () const { return 0; }
inline operator float () const { return 0; }
};


int main ( int argc, char ** argv )
{
std::string Test = "TestString";
A a;
Test = a;
return 0;
}

Вот код который собирается g++-3.2, но не собирается g++-3.3. И ни один тупой постер лора не скажет почему. Т.к. вы нихуя ничего не знаете только пиздить горазды.

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

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

То есть вместо того чтобы переписать софтину под 3.х чтобы она собралась у заказчика на зюзе (там как раз стоит 3.3) предлагается посоветовать поставить загазчику слаку ;))))

Да вы шутник батенька :) я уж за пару-тройку килоойро перетерплю моральные неудобства перехода с 2.95 на 3.х ;))

BTW вопросец к пробовавшим: в 3.3.3 уже можно использовать -fssa -fssa-ccp -fssa-dce ?

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

>А gcc ты сам собирал?

да

>А говорил ли ты ему после сборки make -k check

нет

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

Я точно знаю, что мой БП JNC LC-A250ATX (http://linux.angpeu.com/hw/hardware.html) уже не справляется с нагрузкой, да и фирма-производитель - малоизвестная. Поменяю его на Q-TEC (европейского производства) 350W P4 LN PFC (узнавал про него на сайтах, вроде нареканий нет к нему).

Ещё может быть из-за чипсета SiS 645?

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

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

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

> glukalka собирал компилятором из rh 9 (давно это было) и тоже все работало. Насколько я помню, автор поправил баги на тему компиляторов 3.x

Автор - я и я ничего не правил. Ещё раз. Оно собирается, но работает некорректно. Конкретный пример Пример некорректной работы - см. выше. Единсвенное "исправление" - отключение оптимизации. С отключённой оптимизацией работает правильно. Но это не решение. Всё ещё много старых машин.

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

>Посмотри на fc - 2 версии 3.х (3.2.2 для сборки ядра и 3.3.2 для всего остального) + можно поставить 2.96

Неужто оно мне само перепишет пару тройку мегов кода с 2.9х в 3.х само ? ;)))

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

>Я наблюдал эту проблему на AMD платформе на nVidia chipset, пока не поменял установки в BIOS на Optimal.

Дык Optimal этож более агрессивная настройка чем default. Тожда уж нужно ставит Failsafe.

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

Не будем друг-друга учить программы писать ок ?, проблема есть и это проблема gcc. код написан правильно, он должен ОДНОЗНАЧНО либо собираться либо нет.

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

дык потому что плюсы -- парашное гавно..

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

>Это так кажется, что работает без проблем. На самом деле пытаемся запустить на скомпилённом gcc3 эмуляторе вот эту демку ftp://ftp.worldofspectrum.org/pub/sinclair/trdos/games/Pussy-LoveStoryFromTit...

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

Это проблемы с конкретной программой. Совсем не факт, что проблемы с gcc. Поскольку я не пользуюсь этим эмулятором, то и смысла мне нет скатываться на более старый gcc ...

Я только что скомпилировал для проверки squid-2.3STABLE5 с помощью gcc-3.2.2 без каких-либо проблем. Все программы, которые я компилировал этим компилятором работают вполне нормально. А я перекомпилировал половину библиотек gnome и evolution. Глюки в них конечно есть, но они никак не связаны с используемым компилятором...

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

Интересный, надо сказать, момент... Решил посмотреть, что у меня на рбочей станции стоит... До этого как-то не задумывался особо...

$ rpm -qa|grep gcc3
libgcc3.3-3.3.3-alt0.2
gcc3.3-3.3.3-alt0.2

Забавно. Когда вышел, говорите ?...
:-)

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

>Вот код который собирается g++-3.2, но не собирается g++-3.3. И ни один тупой постер лора не скажет почему. Т.к. вы нихуя ничего не знаете только пиздить горазды.

Не пизди раньше времени

Сановским компилером это тоже не соберётся ... по той же причине

Есть конструктор string(char), который всё и портит :)
Догадайся сам, почему

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

Вообще, судя по тому, что он 0.2, а не 1, похоже на то. Но, пока, вроде все собиралось. Правда нет уверенности, что где-то был c++ код... Не так много чего я за это время пособирать успел.

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

А, вообще, забодали - вся ветка 3.3.х производит впечатление суматошного затыкания дырок. Подожду-ка я 3.4 ...

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

> А почему не gcc-2.7.2.3 ? Ещё раз. Squid-2.3STABLE5 у меня не собирался gcc-3.2.3, не gcc-3.2.2 и не gcc-2.7.2.3.

Потому что на моем личном компьютере установлен 3.2.2. Ты заявил что вся линейка версии 3 не стабильна, а я с этим не согласен. Просто я не хочу ставить новую версию компилятора только для того это проверить. Вообще сквид написан на Си, а не на плюсах, поэтому нет никаких причин, чтобы он компилился неправильно. Си уже давно практически не меняется...

Ошибки типа "Segmentation fault" возникают в основном из-за проблем с памятью или неправильной частотой ( перегревом ) проца. Я даже как-то проверял битые димы компиляцией кернела, когда под рукой не было тестовой программы :)

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

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

Ну работает. РАБОТАЕТ!!!

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

а я пару дней назад компилятором gcc3.3.2 собрал всю систему без всяких сегфаултов и проблем, включая иксы, весь кде, пол гнома (нужные библиотеки и отдельные проги), так что я не верю что он глючит и падает во время компиляции :)

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

>Потому что на моем личном компьютере установлен 3.2.2. Ты заявил что вся линейка версии 3 не стабильна, а я с этим не согласен.

Я заявляю, что вся ветка gcc3 нестабильно потому, что для всех тестирумых мной версий gcc3 я находил несобирающуюся программу. Это для меня есть показатель нестабильности. Потому, что я особо не парился выискивая несобирающтеся программы. Думаете, я ставил себе задачу очернить gcc3 ? А зачем мне это надо ?

> Просто я не хочу ставить новую версию компилятора только для того это проверить. Вообще сквид написан на Си, а не на плюсах, поэтому нет никаких причин, чтобы он компилился неправильно. Си уже давно практически не меняется...

Менялся.

> Ошибки типа "Segmentation fault" возникают в основном из-за проблем с памятью или неправильной частотой ( перегревом ) проца. Я даже как-то проверял битые димы компиляцией кернела, когда под рукой не было тестовой программы :)

У меня железом всё ОК. Я не занимаюсь разгоном, не испорльзую VIA/AMD/SIS. Блок питиания у меня серверный за 80 баксов 450Вт. Явный брак в железе я в состоянии продиангностировать в течении дня посе покупки. Эта машина постоянно занимается кодированием видео. Сутками кодирует, никаих сигфолтов.

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

>>>Ошибки типа "Segmentation fault" возникают в основном из-за проблем с памятью или неправильной частотой

Не угадал! 8)

Эта ошибка чаще всего происходит от бестолковости пишущего ... 8)

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

> Ну так что, мне сквид попробовать собрать ?

Попробуй, но боюсь что нужно иметь кривые руки или кривой дистрибутив, чтобы он не собрался :)

Я только что под VmWare все же таки поставил 3.3.3, а этот гад никак не хочет в кору падать при сборке сквида ...

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

А бестолку. Проблема в опциях оптимизации - с простенькими соберешь, -а чуть покруче - жди сюрпризов.

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

> Я только что под VmWare все же таки поставил 3.3.3, а этот гад никак не хочет в кору падать при сборке сквида ...

Боже :-( Да этот сквид уже на 3.3.2 у меня собрался. Он не собирается у меня на 3.2.3 ! @#$*@%@@ ! На 3.3.2 у меня не собрался ffmpeg 0.4.8.

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

2lenin:

Давай в студию, что ли, по версиям, что с чем не собиралось... Уж разбираться, так разбираться. :-) Дело-то серьезное может оказаться, на самом деле... :-(

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

Сейчас скачал последнюю версию - точно, не собирается. И 3.2.2 не собирается. И 2.96-118 не собирается. Вылетает с одной и той же ошибкой.

cc -c -o Tab.o Tab.c -I. -O2 -I/usr/include
cc -o glukalka modifed.c Tab.o -I/usr/include -O20 -L/usr/X11R6/LessTif/Motif1.2/lib -L/usr/X11/lib -L/usr/X11R6/lib -lXm -lXt -lXext -lX11 -lXpm -lXxf86vm
Tab.o(.text+0x975): In function `create_gc':
: undefined reference to `XmeGetDefaultRenderTable'
Tab.o(.text+0xca3): In function `compute_tab_rects':
: undefined reference to `XmeGetDefaultRenderTable'
Tab.o(.text+0x1491): In function `draw_tabs':
: undefined reference to `XmeGetDefaultRenderTable'
collect2: ld returned 1 exit status
make: *** [all] Ошибка 1


Но это все фигня - хочется узнать, почему собранная glukalka ищет libXm.so.2 в /usr/lib/i686?
Это что за каталог такой?

Подсовываешь ему туда ссылку, пускается с единственной кнопкой reset :)

Не хочешь пересобрать на досуге? :)

Pussy работает на fuse без всяких исхитрений. Собран fuse был gcc 3.3.2

Вывод из этого какой? :)

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

Это фигня - я тут все думаю, обновить gcc или нет из fc2-test - там gcc34 :)

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

Раз уж пошла такая пьянка...
У меня тоже squid собрался с gcc-3.3.2
-O3 -march=pentium4 -funroll-loops -fprefetch-loop-arrays -pipe

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

2jackill:

>Но это все фигня - хочется узнать, почему собранная glukalka ищет libXm.so.2 в /usr/lib/i686? Это что за каталог такой? >Подсовываешь ему туда ссылку, пускается с единственной кнопкой reset :)

>Вывод из этого какой? :)

Слака?:) Сами создаём системные каталоги (ручками), сами суём в них либы (ручками), сами себе создаём стандарты, сами их и поддерживаем:) И главное - всё "ручками", всё "под контролем":) А эти тупые девелоперы gcc не хотят эти "стандарты" поддерживать;)

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

Тебе прислать ffmpeg 0.4.8, собранный gcc 3.3.2 20031022? :)

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

2lenin:

А ядро-то у тебя с gcc-3.x собирается?

Я последний раз пробовал 2.4.22 (нужно было добавить патчи quashfs и openMosix) - так без проблем... и с owl тоже...

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

2jackill

Это не проблемы компилятора, у РХ Lesstif криво собран. Как-то я это решал, сейчас нет ни одной включёенной машины с РХ. Завтра соберу с РХ и выложу, как это делается. Всё собираюсь исправить мелкие глючики, сделать собирающейс на РХ, и выложить новую весию эмулятора, никак не получается что-то со временем на это. FUSE в последнее время стал много лучше. Код TR-DOS честно списан у меня, что пользоваться можно :-). У Fuse ряд недостатков, ряд преимуществ, у моего эмулятора тож. Каждый выбирает по вкусу. Я Fuse пользоваться не могу.

lenin
()

FreeBSD 5.2.1-RC2 - во время buildworld или buildkernel компилятор падает в корку или создаёт нелинкуемые модули, каждый раз в разных местах. Память проверял средствами BIOS и программой www.memtest86.com - всё в норме. Версия GCC 3.3.3, но в FreeBSD 5.2.x используется пререлиз снапшот. Возможно GCC 3.4.X будет стабильнее... надо только дожить.

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

> Боже :-( Да этот сквид уже на 3.3.2 у меня собрался. Он не собирается у меня на 3.2.3 ! @#$*@%@@ ! На 3.3.2 у меня не собрался ffmpeg 0.4.8.

Хорошо, уговорил. Давай по шагам:

wget ftp://ftp.mirror.ac.uk/sites/sources.redhat.com/pub/gcc/releases/gcc-3.2.3/gc...
tar xzvf gcc-3.2.3.tar.gz
cd gcc-3.2.3/
./configure --prefix=/usr/local/gcc323
make -j 8
sudo make install
cd ..
tar xzvf squid-2.3.STABLE5-src.tar.gz
cd squid-2.3.STABLE5/
export CC=/usr/local/gcc323/bin/gcc
export CCX=/usr/local/gcc323/bin/g++
./configure --prefix=/usr/local/squid
make -j 8


Ну и где я забыл наступить на грабли?

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

> Э-э-э, погодите-погодите, а где с сайта GNU скачать GCC 3.3.3 ?
а оно и glibc теперь на redhat.com живут, как не прискорбно...

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

У меня fuse не понимает, когда ему говоришь сделать окно двойного размера...
:(

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

Рулит, рулит... Только в клоаку.

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

4jackill:
>Предыдущая версия так не делала.
>А нафига тогда ld.so.conf, если она ищет либу в определенном каталоге?

Рекомендую на досуге покурить отличия между сборкой и запуском.

//Losiki

anonymous
()

Speccy emu

А емулятор Амиги под Линух есть? Если есть, то предлагаю выход:
Запускаете емулятор Амиги, а из под него, Амиговский емулятор Спецци
от незабвенного РСТ7 из КодеБастерсов! Он всё тянул, даже мультиколор
показывал, на 30ом на 50мг, и не глючил! вот только как дела с
емулятором Амиги ??? А вообще, украинцы, найдите РСТ7,
пусть исходники даст!

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

Чего то я не понял. Когда он вышел ???

FreeBSD mx.хххх.хххх.ru 5.2-RELEASE FreeBSD 5.2-RELEASE #0: Thu Feb 5 13:21:11 YEKT 2004

mx# gcc -v
Using built-in specs.
Configured with: FreeBSD/i386 system compiler
Thread model: posix
gcc version 3.3.3 [FreeBSD] 20031106

Этим компилятором пересобрано все, начиная от kernel/world, заканчивая всеми приложениями. Сегфолтов etc. не было ни разу.

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