LINUX.ORG.RU

LFS 6.8, глава 5.9. Пакет Binutils-2.21 — Второй проход. ошибка сборки


0

1

собираю LFS, делаю 2й проход binutils, возникает ошибка при выполнении команды make: в самом конце сборки пишет " checking for equivalent to int8_t... configure: error: no 8-bit type" на этом месте прерывается сборка, а в каталоге binutils-build/bfd только 2 файла config.cache и config.log.с чем может быть связана подобная проблема? собираю строго с сайта http://rus-linux.net/nlib.php?name=/MyLDP/BOOKS/LFS-BOOK-6.8-ru/lfs-6.8-ru-ch...

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

Скрипт конфигурирования не может найти заголовочные файлы glibc, в частности, stdio.h, sys/types.h.

Убедитесь что установка glibc прошла корректно, http://www.linuxfromscratch.org/lfs/view/stable/chapter05/glibc.html, ориентировочное содержание http://www.archlinux.org/packages/core/i686/glibc/files/, разумеется с Вашим установачным префиксом, /tools вместо /usr.

В LFS, пакеты временной системы устанавливаются в /tools, т.е. проверить наличие stdio.h sys/types.h можно, к примеру, следующей командой.

ls -l /tools/usr/stdio.h /tools/usr/sys/types.h

Если файлы stdio.h, sys/types.h имеются в /tools. То следует проверить, что gcc настроен так, что gcc может найти эти заголовочный файлы в /tools. В главе http://www.linuxfromscratch.org/lfs/view/stable/chapter05/adjusting.html gcc настраивается изменением spec файла, следовательно вывод команды /tools/bin/i686-pc-linux-gnu-gcc -dumpspecs | grep isystem должно содержать -isystem /tools/include.

Можно, при сборке binutils указать CC=«i686-pc-linux-gnu-gcc -I/tools/include», но в LFS используется настройка gcc через spec файл.

P.s. http://ru.wikipedia.org/wiki/Pastebin

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

http://www.linuxfromscratch.org/lfs/view/stable/chapter05/adjusting.html По умолчанию, используется встроенный spec файл. В LFS, создаётся файл specs в директории содержащей run-time библиотеки компилятора, dirname $($LFS_TGT-gcc -print-libgcc-file-name), обычно /префикс/lib/gcc/архитектура/версия_gcc.

http://gcc.gnu.org/onlinedocs/gcc-3.4.1/gcc/Spec-Files.html

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

1)эти 2 библиотеки расположены в /tools/include. правильно ли это? 2)в главе http://www.linuxfromscratch.org/lfs/view/stable/chapter05/adjusting.html приводится пример компиляции и проверки gcc. тест проходит успешно и отображает то, что нужно, однако команда $LFS_TGT-gcc -dumpspecs отображает для dynamic_linker пути к библиотекам хост системы(т.е. /lib/ld-linux.so.2). это как вообще может быть?

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

/tools/include/stdio.h /tools/include/sys/types.h это не библиотеки - это заголовочные файлы, http://ru.wikipedia.org/wiki/Заголовочный_файл.

http://www.linuxfromscratch.org/lfs/view/stable/chapter05/glibc.html используется префикс /tools, т.е. устанавливаемые заголовочные файлы glibc будут расположены в /tools/include.

однако команда $LFS_TGT-gcc -dumpspecs отображает для dynamic_linker пути к библиотекам хост системы(т.е. /lib/ld-linux.so.2). это как вообще может быть?

Извините. $LFS_TGT-gcc -dumpspecs всегда будет отбражать встроенный spec файл. Всё впорядке, настройку gcc Вы выполнили правильно. Вместо gcc -dumpspecs, можно было проверить настройки изучив вывод команды: echo «#include <stdio.h>\nint main()\n{\n}» > /tmp/test.c gcc --verbose /tmp/test.c

Вывод должен содержать строки: Reading specs from /префикс/lib/gcc/архитектура/версия_gcc/specs ... COLLECT_GCC_OPTIONS=... ... -isystem /tools/include ... ... #include <...> search starts here: /tools/include ...

С Ваших «слов», установка glibc и настройка gcc прошли корректно. Binutils не собирается? Если так, то нужно смотреть binutils-build/config.log binutils-build/bfd/config.log и создать log выполнения команды make, make | tee /tmp/build_binutils.log

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