LINUX.ORG.RU

В свежих stage3 уже gcc не собирается

 , некуда бежать,


0

1

Скачал stage3 для arm, распаковал, поставил eudev и screen и начал собирать gcc. Вылетело на этом

/var/tmp/portage/sys-devel/gcc-4.8.4/work/gcc-4.8.4/gcc/recog.h:155: undefined reference to `recog(rtx_def*, rtx_def*, int*)'/var/tmp/portage/sys-devel/gcc-4.8.4/work/gcc-4.8.4/gcc/recog.h:155: undefined reference to `recog(rtx_def*, rtx_def*, int*)'
/var/tmp/portage/sys-devel/gcc-4.8.4/work/gcc-4.8.4/gcc/recog.h:155: undefined reference to `recog(rtx_def*, rtx_def*, int*)'
/var/tmp/portage/sys-devel/gcc-4.8.4/work/gcc-4.8.4/gcc/recog.h:155: undefined reference to `recog(rtx_def*, rtx_def*, int*)'
/var/tmp/portage/sys-devel/gcc-4.8.4/work/gcc-4.8.4/gcc/recog.h:155: undefined reference to `recog(rtx_def*, rtx_def*, int*)'
Захрена они это говно в стабильную ветку суют?

★★★★★

Ответ на: комментарий от beresk_let

Ещё нет, завтра отправлю. Хотел поставить сборку на ночь а тут хрен вам.

mittorn ★★★★★
() автор топика

Дописал стабы - получил нерабочий бэкенд, сборка дальше не пошла

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

Каа там со стабильностью?

на 7,547523567% хуже, блин

бинарные дистрибутивы давно на этой ветке сидят, какие вообще могут быть проблемы со стабильностью у gcc с цифрой 2 и выше на третьей позиции? все проблемы со стабильностью на сборке пакетов - от кулхацкерских флагов сборки, а не от версии gcc

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

все проблемы со стабильностью на сборке пакетов - от кулхацкерских флагов сборки, а не от версии gcc

два чая этому анону

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

3 года не читал сообщений? вангую что для арм подобное было

  Title                     CPU_FLAGS_X86 introduction                                                                                                                                                 
  Author                    Michał Górny <mgorny@gentoo.org>                                                                                                                                           
  Posted                    2015-01-28                                                                                                                                                                 
  Revision                  2                                                                                                                                                                          
                                                                                                                                                                                                       
The USE flags corresponding to the instruction sets and other features                                                                                                                                 
specific to the x86 (amd64) architecture are being moved into a separate                                                                                                                               
USE flag group called CPU_FLAGS_X86.                                                                                                                                                                   
                                                                                                                                                                                                       
In order not to lose CPU-specific optimizations, users will be required                                                                                                                                
to update their make.conf (and package.use) file. For example, if                                                                                                                                      
the following USE flags were present:                                                                                                                                                                  
                                                                                                                                                                                                       
  USE="mmx mmxext sse sse2 sse3"                                                                                                                                                                       
                                                                                                                                                                                                       
Those flags need to be copied into:                                                                                                                                                                    
                                                                                                                                                                                                       
  CPU_FLAGS_X86="mmx mmxext sse sse2 sse3"                                                                                                                                                             
                                                                                                                                                                                                       
Please note that the same CPU_FLAGS_X86 variable is used both on x86                                                                                                                                   
and amd64 systems.                                                                                                                                                                                     
                                                                                                                                                                                                       
When in doubt, you can consult the flag descriptions using one of                                                                                                                                      
the commonly available tools, e.g. `equery uses` from gentoolkit:

  $ equery uses media-video/ffmpeg

Most of the flag names match /proc/cpuinfo names, with the notable
exception of SSE3 which is called 'pni' in /proc/cpuinfo (please also
do not confuse it with distinct SSSE3).

To help users enable the correct USE flags, we are providing a Python
script that generates the correct value using /proc/cpuinfo. It can be
found in the app-portage/cpuinfo2cpuflags package:

  $ emerge -1v app-portage/cpuinfo2cpuflags
  $ cpuinfo2cpuflags-x86

In order to ensure safe migration and maintain compatibility with
external repositories, it is recommended to preserve the old USE
settings for a period of one year or until no package of interest is

deity ★★★★
()

унтерменшепроблемы

$ gcc --version
gcc (Gentoo 5.2.0 p1.0, pie-0.6.3) 5.2.0

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

все проблемы со стабильностью на сборке пакетов - от кулхацкерских флагов сборки

никакие флаги оптимизации не должны к этому приводить. противное — баг компилятора, за редким исключением

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

Это видимо x86-related новость, portage такой не выдавал. Может связанный баг. А x86 у меня в заморозке т.к я не потяну переход на полный мультилиб.

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

ну откуда нам знать как он распаковывал, как скачивал, банально слой пыли на его арм с 2см за 3года наросло, заголовок истерички.

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

В целом да. Но есть такой весёлый флаг "-flto".
Когда я собрал с ним xash3d, началась тяжёлая наркомания с сильными тормозами.

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

Ну почти.
Просто карточка памяти с корнем умерла - пошёл собирать новый.

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

верное по определению не доказывается. есть такая штука, как abi. если собранный объектник ей перестаёт соответствовать это баг, либо явное поведение параметра указанное в описании

anonymous
()

потому что оно стабильно.

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

Это скорее в соседней теме Нужен браузер имеет место, где я требую чтобы не юзало webkitgtk/qtwebkit ибо ломается постоянно.

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

Я проверю, возможно 4.9.3 работает.
И crossdev не показатель. В нём обычно ничего не собирается вообще или не работает потом. Последний собранный crossdev тулчейн у меня давал мёртвые ядра, хотя та же версия на arm-системе собирала рабочии. ИЧСХ, линаро близкой версии тоже. Как-то хотел ещё под distcc crossdev собрать. Армовый линковщик не понимал кросдевовые объектники несмотря на ту же версию gcc и binutils, подробностей с 2011 года уже не помню.
А ещё было веселье с сегфолтами при попытке собрать статический бюинарник.
Все остальные попытки собрать crossdev у меня заканчивались обломом сборки gcc/libc как на ранних, так и на поздних этапах. При этом имели место как ошибки компиляции, так и сегфолты. Проблем с линковкой пока не припомню.
В общем, ни разу я не смог добиться через crossdev ожидаемой цели.

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

но речь шла не о ситуации топикстартера, а вообще

anonymous
()

Хз, на Raspberry Pi собрался(armv6j-hardfloat-linux-gnueabi-4.8.4). Шли багрепорт, если еще этого не сделал с полным build.log.

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

Странно... Может у меня память подводит?

mittorn ★★★★★
() автор топика
10 сентября 2015 г.

Накатил свежий stage3 на другое устройство, собрал gcc 4.8.5 с graphite - в этот раз он собрался.
Пересобрал мир, по пути откатив binutils на предыдущую версию т.к 2.24-r3 не собралась с такими же ошибками линковки.
Повторяю сборку второй раз - снова натыкаюсь на это говно.
В обоих случаях сборка прерывалась и восстанавливалась через ebuild blablabla merge, но в адекватных пакетах это не должно ломать линковку.
Замечу, что сборка длится 5 часов и перезапускать заново я её не особо хочу.

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

Со стабтигостью нормально. Или сразу стабильно не работает, или работает.

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

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

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

бинарный gcc со stage3 для этого есть. Достаточно достать /usr/${CHOST} из stage3.

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

Выяснил причину. Я включил отладку (для libgcc/stdc++), а все эти генерированные recog с ней могут собираться неделю. Вот они и похерились почему-то. Нашёл все .o файлы с размером 0 и потёр. Начал собирать - застряло. Пришлось собрать эти файлы вручную, немного упростив.

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