LINUX.ORG.RU

Ошибка компиляции программы

 , ,


0

1

Здравствуйте. Собираю ядро на основе рекомендаций LFS. На этапе тестирования установки пакета GLibc-2.17 выполняю компиляцию тестовой программы

echo 'main(){}' > dummy.c
$LFS_TGT-gcc -v dummy.c

В итоге имеем:

Reading specs from /mnt/lfs/tools/lib/gcc/i686-lfs-linux-gnu/4.7.2/specs COLLECT_GCC=i686-lfs-linux-gnu-gcc COLLECT_LTO_WRAPPER=/mnt/lfs/tools/libexec/gcc/i686-lfs-linux-gnu/4.7.2/lto-wrapper Target: i686-lfs-linux-gnu Configured with: ../gcc-4.7.2/configure --target=i686-lfs-linux-gnu --prefix=/mnt/lfs/tools --with-sysroot=/mnt/lfs --with-newlib --without-headers --with-local-prefix=/mnt/lfs/tools --with-native-system-header-dir=/mnt/lfs/tools/include --disable-nls --disable-shared --disable-multilib --disable-decimal-float --disable-threads --disable-libmudflap --disable-libssp --disable-libgomp --disable-libquadmath --enable-languages=c --with-mpfr-include=/mnt/lfs/sources/unpacked/gcc-build/../gcc-4.7.2/mpfr/src --with-mpfr-lib=/mnt/lfs/sources/unpacked/gcc-build/mpfr/src/.libs Thread model: single gcc version 4.7.2 (GCC) COLLECT_GCC_OPTIONS='-v' '-mtune=generic' '-march=pentiumpro' /mnt/lfs/tools/libexec/gcc/i686-lfs-linux-gnu/4.7.2/cc1 -quiet -v -isystem /tools/include dummy.c -quiet -dumpbase dummy.c -mtune=generic -march=pentiumpro -auxbase dummy -version -o /tmp/ccvKvJoE.s GNU C (GCC) version 4.7.2 (i686-lfs-linux-gnu) compiled by GNU C version 4.7.2 20130108 [gcc-4_7-branch revision 195012], GMP version 5.1.1, MPFR version 3.1.1, MPC version 1.0.1 GGC heuristics: --param ggc-min-expand=98 --param ggc-min-heapsize=128464 ignoring nonexistent directory «/mnt/lfs/mnt/lfs/tools/include» ignoring nonexistent directory «/mnt/lfs/tools/lib/gcc/i686-lfs-linux-gnu/4.7.2/../../../../i686-lfs-linux-gnu/include» ignoring nonexistent directory «/mnt/lfs/mnt/lfs/tools/include» #include "..." search starts here: #include <...> search starts here: /tools/include /mnt/lfs/tools/lib/gcc/i686-lfs-linux-gnu/4.7.2/include /mnt/lfs/tools/lib/gcc/i686-lfs-linux-gnu/4.7.2/include-fixed End of search list. GNU C (GCC) version 4.7.2 (i686-lfs-linux-gnu) compiled by GNU C version 4.7.2 20130108 [gcc-4_7-branch revision 195012], GMP version 5.1.1, MPFR version 3.1.1, MPC version 1.0.1 GGC heuristics: --param ggc-min-expand=98 --param ggc-min-heapsize=128464 Compiler executable checksum: 2aaf383beceb1cd77404fb8e8aa64773 COLLECT_GCC_OPTIONS='-v' '-mtune=generic' '-march=pentiumpro' /mnt/lfs/tools/lib/gcc/i686-lfs-linux-gnu/4.7.2/../../../../i686-lfs-linux-gnu/bin/as -v --32 -o /tmp/ccYE3y8s.o /tmp/ccvKvJoE.s GNU assembler version 2.23.1 (i686-lfs-linux-gnu) using BFD version (GNU Binutils) 2.23.1 COMPILER_PATH=/mnt/lfs/tools/libexec/gcc/i686-lfs-linux-gnu/4.7.2/:/mnt/lfs/tools/libexec/gcc/i686-lfs-linux-gnu/4.7.2/:/mnt/lfs/tools/libexec/gcc/i686-lfs-linux-gnu/:/mnt/lfs/tools/lib/gcc/i686-lfs-linux-gnu/4.7.2/:/mnt/lfs/tools/lib/gcc/i686-lfs-linux-gnu/:/mnt/lfs/tools/lib/gcc/i686-lfs-linux-gnu/4.7.2/../../../../i686-lfs-linux-gnu/bin/ LIBRARY_PATH=/mnt/lfs/tools/lib/gcc/i686-lfs-linux-gnu/4.7.2/:/mnt/lfs/tools/lib/gcc/i686-lfs-linux-gnu/4.7.2/../../../../i686-lfs-linux-gnu/lib/ COLLECT_GCC_OPTIONS='-v' '-mtune=generic' '-march=pentiumpro' /mnt/lfs/tools/libexec/gcc/i686-lfs-linux-gnu/4.7.2/collect2 --sysroot=/mnt/lfs --eh-frame-hdr -m elf_i386 -dynamic-linker /tools/tools/lib/ld-linux.so.2 crt1.o crti.o /mnt/lfs/tools/lib/gcc/i686-lfs-linux-gnu/4.7.2/crtbegin.o -L/mnt/lfs/tools/lib/gcc/i686-lfs-linux-gnu/4.7.2 -L/mnt/lfs/tools/lib/gcc/i686-lfs-linux-gnu/4.7.2/../../../../i686-lfs-linux-gnu/lib /tmp/ccYE3y8s.o -lgcc -lc -lgcc /mnt/lfs/tools/lib/gcc/i686-lfs-linux-gnu/4.7.2/crtend.o crtn.o /mnt/lfs/tools/lib/gcc/i686-lfs-linux-gnu/4.7.2/../../../../i686-lfs-linux-gnu/bin/ld: cannot find crt1.o: No such file or directory /mnt/lfs/tools/lib/gcc/i686-lfs-linux-gnu/4.7.2/../../../../i686-lfs-linux-gnu/bin/ld: cannot find crti.o: No such file or directory /mnt/lfs/tools/lib/gcc/i686-lfs-linux-gnu/4.7.2/../../../../i686-lfs-linux-gnu/bin/ld: cannot find /mnt/lfs/tools/lib/libc.so.6 inside /mnt/lfs /mnt/lfs/tools/lib/gcc/i686-lfs-linux-gnu/4.7.2/../../../../i686-lfs-linux-gnu/bin/ld: cannot find /mnt/lfs/tools/lib/libc_nonshared.a inside /mnt/lfs /mnt/lfs/tools/lib/gcc/i686-lfs-linux-gnu/4.7.2/../../../../i686-lfs-linux-gnu/bin/ld: cannot find /mnt/lfs/tools/lib/ld-linux.so.2 inside /mnt/lfs collect2: error: ld returned 1 exit status

Параметры конфигурации пакета Glibc следующие:

/configure --prefix=$LFS/tools --host=$LFS_TGT --build=$(../glibc-2.17/scripts/config.guess) --disable-profile --enable-kernel=2.6.25 --with-headers=$LFS/tools/include libc_cv_forced_unwind=yes libc_cv_ctors_header=yes libc_cv_c_cleanup=yes

Параметры конфигурации пакета Gcc:

/configure --target=$LFS_TGT --prefix=$LFS/tools --with-sysroot=$LFS --with-newlib --without-headers --with-local-prefix=$LFS/tools --with-native-system-header-dir=$LFS/tools/include --disable-nls --disable-shared --disable-multilib --disable-decimal-float --disable-threads --disable-libmudflap --disable-libssp --disable-libgomp --disable-libquadmath --enable-languages=c --with-mpfr-include=$(pwd)/../gcc-4.7.2/mpfr/src --with-mpfr-lib=$(pwd)/mpfr/src/.libs

Сборка и установка прошли долго, но безошибочно. Хотелось бы знать, в чем состоит решение, так как без успешного завершения данного шага двигаться дальше невозможно. Пошарив в сети натыкался на различные рекомендации: от создания символических ссылок, до установки дополнительных пакетов. Надеюсь на вашу помощь)


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

Я все делал в соответствии с рекомендациями. Странно. В какую сторону порекомендуете копать. У меня, к сожалению, не большой опыт в сборке систем.

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

Копать нужно в сторону более внимательного чтения документации, вдумчивого чтения, понимания того что написано и выполнение рекомендаций.

А вообще можете посмотреть в сторону другой Linux системы.

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

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

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

может собрал не для той архитетуры или без ABI?

splinter ★★★★★ ()

Во-первых, Внимание: прочитайте описание разметки LORCODE (особенно тега code).

Во-вторых, вот какую ты написал команду:

>echo 'main(){}' > dummy.c >$LFS_TGT-gcc -v dummy.c

Должно быть как-то так:

echo 'main(){}' > dummy.c; $LFS_TGT-gcc -v dummy.c

Скорее всего, конечно, как-то так и есть, раз оно работает.

Есть вероятность, что что-то пошло не так на этапе сборки binutils. Там никаких ошибок не было? --prefix и --with-lib-path указаны? Весь сопутствующий шаманизм, указанный в книге, сделан?

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

Разобрался :)

Ну так расскажи теперь честно́му народу, в чем была проблема. Вдруг у кого-нибудь еще потом возникнет такая же?

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

В какую сторону порекомендуете копать

Вниз. На 6 футов.

anonymous ()
Ответ на: комментарий от qux
  • Права на /tools/lib по какой-то причине не задействовались. достаточно было установить их заново.
  • По этой же причине не подцепились заголовочные файлы необходимые для корректной установки
dehrom ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.