LINUX.ORG.RU

Компиляция glibc в LFS с ошибкой


0

0

Собираю (точнее пытаюсь) Linux from scratch 6.5. Дошел до этапа перехода в chroot (когда временная система уже поставлена), создал все необходимые папки и поставил необходимые права. Застрял на этапе сборки Glibc-2.10.1. Configure выводит warning, жалуется на отсутствие autoconf, но завершается успешно, создает Makefile. make завершается с ошибкой примерно через час сборки. Ошибка:

/sources/glibc-build/libc_pic.os:/sources/glibc-2.10.1/nscd/nscd_gethst_r.c:413: more undefined references to `__sync_fetch_and_add_4' follow

/sources/glibc-build/libc_pic.os: In function `__nscd_get_map_ref':

/sources/glibc-2.10.1/nscd/nscd_helper.c:432: undefined reference to `__sync_val_compare_and_swap_4'

/sources/glibc-build/libc_pic.os: In function `*__GI___libc_freeres':

/sources/glibc-2.10.1/malloc/set-freeres.c:39: undefined reference to `__sync_bool_compare_and_swap_4'

collect2: ld returned 1 exit status

make[1]: *** [/sources/glibc-build/libc.so] Error 1

make[1]: Leaving directory `/sources/glibc-2.10.1'

make: *** [all] Error 2

Не вижу здесь никаких полезных сообщений (куда копать). Погуглил, нашел пару сообщений от других таких же видимо хреновых сборщиков ))), но они бесполезны, т.к. ошибка выводится у них на более раннем этапе и решается в HOST system (кстати, у всех по-разному). Тем не менее попробовал то, что советуют - результат нулевой. Уже надоело по часу ждать, пока это добро в очередной раз выдаст ошибку. Помогите, не дайте забить )

ЗЫ Попробовал присвоить значение CFLAGS через export (один из советов), после этого компилятор жалуется:

gcc: unrecognized option -02 {-03, пробовал и так, и так}



Последнее исправление: ARTIsshoque (всего исправлений: 2)

что-то у вас с компилятором, криво собраный gcc часто не может собрать glibc, хотя что-то остальное у него вполне может и получаться

gcc: unrecognized option -02

это вообще бред, если там не тире-нуль-два конечно ) там O, от Optimize

export CFLAGS="-O2 -pipe -march=i686"
./configure --prefix=/usr --host=i686-pc-linux --build=i686-pc-linux --enable-omitfp --enable-add-ons --enable-stackguard-rand
omization --without-cvs --enable-add-ons=libidn,nptl --with-tls

Sylvia ★★★★★
()

в линукс-формате рекомендовали собирать gcc несколько раз и проверять хэш. Ровно ли у вас собран сам компилятор?

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

>там O, от Optimize

Спасибо. Тут я конечно тупанул... Просто оптимизацией никогда не занимался. Хотя я пробовал и копировать команды из книги, все равно ошибку выдает (первую).

Сейчас поставилось. Сначала написал 'uname -m' вместо `uname -m`. Видимо дело было в этом. Попробую запустить тест, что-то мне подсказывает, что на этом трудности только начинаются. За советы и особенно за то, что не обошли вниманием и постарались помочь, большое спасибо.

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