Пробую собрать систему LFS на основе uclibc.
Почти по этой шпаргалке: http://linuxfromscratch.org/pipermail/hlfs-dev/2004-November/001291.html
1. Конфигурируем uclibc-0.9.27, компилируем и устанавливаем в /usr/i386-linux-uclibc/
2. Компилируем и устанавливаем binutils-2.17:
./configure --prefix=/usr/i386-linux-uclibc --disable-nls --target=i386-linux-uclibc
make configure-host
make LDFLAGS="-all-static"
make install
make -C ld clean
make -C ld LDFLAGS="-all-static" LIB_PATH=/usr/i386-linux-uclibc
make -C ld install
3. Патчим (под uclibc), компилируем и устанавливаем кросс-компилятор gcc-3.4.6:
./configure --target=i386-linux-uclibc --prefix=/usr/i386-linux-uclibc -libexecdir=/usr/i386-linux-uclibc/lib --disable-nls --disable-shared --enable-languages=c
make
make install
4. Немножко патчим установку uclibc:
ln -s /usr/i386-linux-uclibc/lib/crt* /usr/i386-linux-uclibc/i386-pc-linux-uclibc/lib
5. Тестируем кросс-компилятор (для запуска a.out надо прописать uclibc'овский загрузчик в /lib):
echo 'main(){}' > dummy.c
i386-linux-uclibc-gcc dummy.c
6. патчим (под uclibc), компилируем и устанавливаем нативный компилятор gcc-3.4.6 (слинкованный с uclibc):
*.patch:
100-uclibc-conf.patch
200-uclibc-locale.patch
300-libstdc++-pic.patch
304-index_macro.patch
600-gcc34-arm-ldm-peephole.patch
601-gcc34-arm-ldm-peephole2.patch
601-gcc34-arm-ldm.patch
602-sdk-libstdc++-includes.patch
700-pr15068-fix.patch
71_all_sh-pr16665-fix.patch
72_all_sh-no-reorder-blocks.patch
73_all_sh-pr20617.patch
800-arm-bigendian.patch
800-powerpc-libc_stack_end-uclibc.patch
810-mips-xgot.patch
900-nios2.patch
CC="i386-linux-uclibc-gcc" ./configure --prefix=/usr/i386-linux-uclibc --host=i386-linux-uclibc --build=i386-linux-uclibc --target=i386-linux-uclibc --enable-shared -libexecdir=/usr/i386-linux-uclibc/lib --with-local-prefix=/usr/i386-linux-uclibc --enable-threads=posix --disable-__cxa_atexit --enable-languages=c,c++ --disable-libstdcxx-pch
make
....
Configuring in gcc
configure: creating cache ./config.cache
checking build system type... i386-pc-linux-uclibc
checking host system type... i386-pc-linux-uclibc
checking target system type... i386-pc-linux-uclibc
checking LIBRARY_PATH variable... ok
checking GCC_EXEC_PREFIX variable... ok
checking whether to place generated files in the source directory... no
checking whether a default linker was specified... no
checking whether a default assembler was specified... no
checking for i386-linux-uclibc-gcc... i386-linux-uclibc-gcc
checking for C compiler default output file name... a.out
checking whether the C compiler works... configure: error: cannot run C compiled programs.
If you meant to cross compile, use `--host'.
See `config.log' for more details.
make: *** [configure-gcc] Error 1
Почему выходит такая бяка ?
Ответ на:
комментарий
от Chubaka
Ответ на:
комментарий
от Chubaka
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.
Похожие темы
- Форум porting gcc-3.1.1 (2002)
- Форум Сборка GCC для компиляции под ARM (2005)
- Форум LFS linux — glibc 2.2.5 with gcc 2.95.3 compilation problem (2003)
- Форум LFS linux — glibc 2.2.5 with gcc 2.95.3 compilation problem (2003)
- Форум не находит компилятор (2006)
- Форум Сборка gcc 4.4.2 (2009)
- Форум Ошибка кофигурирования пакета Binutils-2.21 на втором проходе при сборке LFS (2014)
- Форум Кросс-компиляция Python3 в Ubuntu 12 для ARM (2019)
- Форум Кросс-компиляция dhcp-4.1-ESV-R3 (2012)
- Форум configure problem (2002)