Интересно, в какие системы уже запланировано включить эту версию gcc?
Например в FreeBSD 4.6 его не будет, посколько ветка заморозилась раньше, а в ожидаемом 5.0 релизе как будет? Ну и в каких Linux системах тоже?
У меня в процессе компиляции выдает ошибку: линкер не находит -lgcc_eh.
Как это вылечить?
У меня стоит gcc-3.0.4 + glibc-2.2.5 + binutils-2.11.2 .
Спасибо.
>Интересно, в какие системы уже запланировано включить эту версию >gcc?
>Например в FreeBSD 4.6 его не будет, посколько ветка заморозилась >раньше, а в ожидаемом 5.0 релизе как будет? Ну и в каких Linux >системах тоже?
2anonymous (*) (2002-05-17 22:19:39.147):
Тогда два варианта - она либо не нужна, либо надо ее поставить. Если не нужна - закомментарь в Makefile строку. Если нужна - ищи.
Если собираю с опцией --disable-shared, все собирается, но без динамической компоновки, что есть нехорошо. В этом случае по поводу отсутствия -lgcc_eh не ругается.
2 aen, Avel or anybody from ALT:
Насколько я помню rider at LRN (может и не он и не говорил, а отрицал :-) ) вроде бы говорил, что как выйдет GCC 3.1, так Sisyphus на него и перейдет как на стабильный компилятор (вместо gcc 2.96). Так прошу прощения - Ваши планы таковы?
по поводу gcc_eh... если правильно понимаю, то сначала собираешь с --disable-shared, потом устанавливаешь, потом уже самим же gcc 3.1 собираешь заново со всеми shared и прочим и устанавливаешь окончательную версию =) ...
Новую ветсию компилятора сосбрал без генерации динамических библиотек.
У меня проблемы с -lgcc_eh не закончились даже тогда, когда я
перекомпилировал glibc (версия 2.2.5) и binutils (версия 2.12)
новой версией компилятолра.
Причина состоит в том, что линкер ld имеет опцию --eh-frame-hdr,
но работает с нею не правильно.
Поэтому при конфигурировании делается ссылка на данную библиотеку,
а реально эта библиотека не создается, так как линкер работает не
правильно с требуемой опцией.
Что делать?
>по поводу gcc_eh... если правильно понимаю, то сначала собираешь с --disable-shared, потом устанавливаешь, потом уже самим же gcc 3.1 собираешь заново со всеми shared и прочим и устанавливаешь окончательную версию =) ...
>по поводу gcc_eh... если правильно понимаю, то сначала собираешь с --disable-shared, потом устанавливаешь, потом уже самим же gcc 3.1 собираешь заново со всеми shared и прочим и устанавливаешь окончательную версию =) ...
>2 aen, Avel or anybody from ALT: Насколько я помню rider at LRN (может >и не он и не говорил, а отрицал :-) ) вроде бы говорил, что как выйдет >GCC 3.1, так Sisyphus на него и перейдет как на стабильный компилятор >(вместо gcc 2.96). Так прошу прощения - Ваши планы таковы?
политика альта в отношении компиляторов проста, как яйцо.
как только компилятор начинает собирать без последствий хоть сколько нибудь заметный процент репозитария "сизиф" - его в этот же сизиф и кладут.
как только компилятор доказывает, что он может собрать абсолютное большинство пакетов и код, который он генерирует лучше чем у других альтернатив - этот компилятор становится основным и им собирают тот же сизиф и все новые дистры.
про Avel. этот логин сдох, потому как смысла флеймить тут дальше уже не стало (слава богу, огров, блюзменов и ирсей вычистили и теперь на ресурсе под названием www.linux.org.ru стали говорить и про линукс тоже. надеюсь, дальше будет еще лучше.) и сейчас я полностью переключился на доводку нового ресурса - "справочник линуксойда". Этот ресурс наполняется советами и статьями тех людей, у которых с линуксом отношения "на ты" и которым есть чем поделиться с начинающими. никакого флейма, никаких анонимусов и вообще пустых споров о том, чья виндоза меньше/больше глючит. Надеюсь, что этот ресурс сделает освоение линукса для тех, кто только приобрел или скачал "мастер" еще более простым, удобным и быстрым.
Приношу извинения тем, кого может быть обидел - это не со зла - так карта легла.
Обращение было ко мне, но ответил кто-то еще, так что пусть в этом треде я буду в дальнейшем Rainswarm.
make buildworld / или make buildkernel работать не будет, т.к.
gcc, используемый во фре несколько модифицированный. Например, в нем
есть опция -pthread, ну и еще кой-чего.
Так что пока его не адаптируют, даже пытаться не стоит.
Откомпилил я мозиллу. Заняло дофига времени (не замерял, но субъективно раза в 4 дольше)
Опции -O6 -march=athlon. Из глюков - почему-то курсор застрял слева и не перемещается при наборе. Но может это фича мозиллы такая.
Вобщем, курсор и раньше глючил. gcc-2.95.4 пока собирать не пробовал.
С еще какими-то опциями пробовал (типа -fstrength-reduce, etc) - падает в сигфолт.
Вобщем, либо gcc еще сырой, либо мозилла глюкавая. Я думаю, что и то, и другое.
А у меня такой вопрос: в gcc-3.1 вроде есть опция оптимизировать под SSE
Кто-нидудь с таким процом может проверить как оно?
Пральна. Чем меньше упертых и ограниченных людей на форуме, тем лучше.
Вот то, что в последнее время не видно ни Огра, ни Ирси, ни Блюзмена, меня печалит.
Много чего по делу говорили, не давали расслабиться, так сказать.
Без них тут будет сплошное хиппование типа "Make Linux, not Windows".
То, что не делает библиотеку -lgcc_eh, по видимому проблемы, связанные с binutils.
Проблема с EH_FRAME_SUPPORT.
Как это лечится? Может подскажет кто? Кто нибудь с этим сталкиваля?
У меня стоит система:
Ядро:
Linux Mandrake 7.0
linux-2.4.18
glibc-2.2.5
binutils-2.12 (binutils-2.11.2)
gcc-3.1 , gcc-3.0.4 , gcc-2.95.2
Два дня работаю на ядре, которое собранно gcc-3.1. Глюков замечено не было.
Падения при копировании файлов большого размера не было(такое бывало с gcc-3.0.x),
значит компилятор рабочий. Впечатления о нем хорошие. Вот только не собираются
динамические библиотеки, идущие в комплекте с компилятором: libgcc, libstdc++ и т.д.
Это увеличивает размер программных файлов и библиотек.
Пересобрал glibc-2.2.5, система работает, но многие тесты не проходят.
SSE - не оптимизирует вообще, или не очень хорошо :( Во всяком случае - опция не вызывает руганий ( -marh=pentium3 -mcpu=pentium3 -msse2 (-msse) -mmmx), впрочем таже ситуёвина с атлон-экспишными флагами :()
Собирал GCC 3.2 :) (CVS) GLIBC (CVS) binutils (CVS) - иначе, таже ошибка что и выше :) Ну, скажу я вам, почему-то глюкало получилось... :) Потом просто-напросто всё пересобрал заново (с помощью глюкала :)) - всё "поправилось" :), но стали иксы чудить... Пересобрал иксы и ядро... Потом... Ладно, ближе к телу, получилась такая бодяга: собираю ГКК, затем бинутилсы и ГЛИБЦы, ребут, сборка Заново, ребут, сборка ядра, ребут, сборка иксов, ребут (? без ребута - КДЕ почему-то матюкается:)) сборка КДЕ, сборка гнома... Всё "поехало" как по маслу (тьфу-тфу-тьфу:)) - но всё вместе почти двое суток :(
Насчёт динамических либ, скажи какую либу искать :) Я без почти без флагов компилю :)
Но всякие там libgcc_s.so, libg2c.so, libstdc++.... и прочие - генерятся
> Насчёт динамических либ, скажи какую либу искать :) Я без почти без флагов компилю :)
> Но всякие там libgcc_s.so, libg2c.so, libstdc++.... и прочие - генерятся
А какие флаги ты используешь?
Какаие у тебя glibc, binutils, gawk, sed и другие инструменты?
Может у меня не те версии стоят?
> Насчёт динамических либ, скажи какую либу искать :) Я без почти без флагов компилю :)
> Но всякие там libgcc_s.so, libg2c.so, libstdc++.... и прочие - генерятся
А какие флаги ты используешь?
Какаие у тебя glibc, binutils, gawk, sed и другие инструменты?
Может у меня не те версии стоят?
Ну, Виталий, ты и спросил... :)
Я, блин, камикадзе - экстремал :D у меня бизон, и всё остальное с CVS (что доступно в CVS, где CVS нет - последний снапшот на момент компиляции)...
Сейчас докомпиливается всё барахло на машине с РХ 7.1, с обновлениями бинутилс, как у тебя, глибцами 2.2.5, ... Вроде без гемора :) так, лёгкие взмахи рашпилем :D... Вообще, первый раз компИлю безо всяких флагов - результат в /usr/local/(дальше что надо :) - всё ок... мультитридинг, он сам поставил... со-шники появились, а появились...
Скажи, какие у тебя флаги - я их подставлю, и компильну.. :)
Наверное мне нужно сменить дистрибутив. У меня стоит Мандрак 7.0.
Многое обновил(ядро, компиляторы, библиотеку языка Си), компилировал из исходников.
Что-то у меня не сходится. Ну ладно, у меня есть другие дела. Осталю это на потом.
Блин, щаз буду грязно ругаться. В доках явно и недвусмысленно сказано, что для оптимизации sse2 нужно указать -mfpmath=sse
2ssh (*) (2002-05-19 21:04:36.556)
>>Про -pthreads я как-то знаю :)) Интересно на самом деле какую часть системы (FreeBSD) реально собрать под новым компайлером.
Я вот тоже над этим вопросом думаю, если время будет, займусь.
Думаю, большая часть бинов и либы собирутся, но не ядро и Си++ (ABI другой, если кто еще не в курске)
>>Про SSE оптимизацию проверю во вторник на работе (Р3-1000), видимо
>>имеет смысл пробовать на mplayer'e. Если есть на чем еще проверить - предложи.
Не, у мплеера своя ссе2 оптимизация, через ассемблер, так что тут gcc-3.1 не поможет.
А протестировать даже не знаю чем. Что-нибудь для интенсивной работы с floating-point.
>> Кстати, я время, конечно не мерил, но такой большой разницы (4х) я, вроде, не заметил.
Ну может это субъективно, не знаю. Мне как-то перепроверять не охота :-)
Но что дольше - точно. На небольших прогах треха по скорости проигрывает.
Райнсварм!
Ругайссиии :) Грязно... , тока, эта - когда ругаться бушь - аспичеллом проверь :D:D:D:D.... Чесслово пропустил - по причине ненадобности :) кстати в рабочей доке ихней посмотри, там про "это" сильно распространяются :):) Они только в 3.2 ветке серьёзно займутся оптимизациями...
Задачка по вычислению значений функций, с floatом вроде как быстрее считает.. :) Завтра к утрецу досчитает, посмотрим насколько...