Сборка lfs. Ошибка компиляции.

Вопросы программного кода и архитектуры Linux

Модератор: Olej

Alexey_P

Сборка lfs. Ошибка компиляции.

Непрочитанное сообщение Alexey_P » 19 мар 2015, 22:42

Собираю Linux from Scratch по 7.7-systemd
host-система Ubuntu 14.04, 32 бит
Ошибка в разделе книги 5.5.1 (Первичная сборка gcc)
configure выполнен, кажется успешно.
команда make dыдает ошибку:

...
checking for i686-lfs-linux-gnu-strip... i686-lfs-linux-gnu-strip
checking whether ln -s works... yes
checking for i686-lfs-linux-gnu-gcc... /mnt/lfs/source/gcc-build/./gcc/xgcc -B/mnt/lfs/source/gcc-build/./gcc/ -B/tools/i686-lfs-linux-gnu/bin/ -B/tools/i686-lfs-linux-gnu/lib/ -isystem /tools/i686-lfs-linux-gnu/include -isystem /tools/i686-lfs-linux-gnu/sys-include
checking for suffix of object files... configure: error: in `/mnt/lfs/source/gcc-build/i686-lfs-linux-gnu/libgcc':
configure: error: cannot compute suffix of object files: cannot compile
See `config.log' for more details.
make[1]: *** [configure-target-libgcc] Error 1
make[1]: Leaving directory `/mnt/lfs/source/gcc-build'
make: *** [all] Error 2

Буду рад помощи!
Если требуется, сообщу дополнительную информацию.

Содержимое gcc-build/i686-lfs-linux-gnu/libgcc/config.log:

This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.

It was created by GNU C Runtime Library configure 1.0, which was
generated by GNU Autoconf 2.64. Invocation command line was

$ /mnt/lfs/source/gcc-4.9.2/libgcc/configure --cache-file=./config.cache --with-cross-host=i686-pc-linux-gnu --prefix=/tools --with-sysroot=/mnt/lfs --with-newlib --without-headers --with-local-prefix=/tools --with-native-system-header-dir=/tools/include --disable-nls --disable-shared --disable-multilib --disable-decimal-float --disable-threads --disable-libatomic --disable-libgomp --disable-libitm --disable-libquadmath --disable-libsanitizer --disable-libssp --disable-libvtv --disable-libcilkrts --disable-libstdc++-v3 --enable-languages=c,c++,lto --program-transform-name=s&^&i686-lfs-linux-gnu-& --disable-option-checking --with-target-subdir=i686-lfs-linux-gnu --build=i686-pc-linux-gnu --host=i686-lfs-linux-gnu --target=i686-lfs-linux-gnu --srcdir=../../../gcc-4.9.2/libgcc

## --------- ##
## Platform. ##
## --------- ##

hostname = alexey-MS-7678
uname -m = i686
uname -r = 3.16.0-30-generic
uname -s = Linux
uname -v = #40~14.04.1-Ubuntu SMP Thu Jan 15 17:45:15 UTC 2015

/usr/bin/uname -p = unknown
/bin/uname -X = unknown

/bin/arch = unknown
/usr/bin/arch -k = unknown
/usr/convex/getsysinfo = unknown
/usr/bin/hostinfo = unknown
/bin/machine = unknown
/usr/bin/oslevel = unknown
/bin/universe = unknown

PATH: /tools/bin
PATH: /bin
PATH: /usr/bin


## ----------- ##
## Core tests. ##
## ----------- ##

configure:1980: creating cache ./config.cache
configure:2163: checking build system type
configure:2177: result: i686-pc-linux-gnu
configure:2197: checking host system type
configure:2210: result: i686-lfs-linux-gnu
configure:2307: checking for --enable-version-specific-runtime-libs
configure:2320: result: no
configure:2368: checking for a BSD-compatible install
configure:2436: result: /usr/bin/install -c
configure:2452: checking for gawk
configure:2479: result: gawk
configure:2579: checking for i686-lfs-linux-gnu-ar
configure:2606: result: i686-lfs-linux-gnu-ar
configure:2671: checking for i686-lfs-linux-gnu-lipo
configure:2698: result: i686-lfs-linux-gnu-lipo
configure:2763: checking for i686-lfs-linux-gnu-nm
configure:2790: result: /mnt/lfs/source/gcc-build/./gcc/nm
configure:2855: checking for i686-lfs-linux-gnu-ranlib
configure:2882: result: i686-lfs-linux-gnu-ranlib
configure:2947: checking for i686-lfs-linux-gnu-strip
configure:2974: result: i686-lfs-linux-gnu-strip
configure:3036: checking whether ln -s works
configure:3040: result: yes
configure:3057: checking for i686-lfs-linux-gnu-gcc
configure:3084: result: /mnt/lfs/source/gcc-build/./gcc/xgcc -B/mnt/lfs/source/gcc-build/./gcc/ -B/tools/i686-lfs-linux-gnu/bin/ -B/tools/i686-lfs-linux-gnu/lib/ -isystem /tools/i686-lfs-linux-gnu/include -isystem /tools/i686-lfs-linux-gnu/sys-include
configure:3353: checking for C compiler version
configure:3362: /mnt/lfs/source/gcc-build/./gcc/xgcc -B/mnt/lfs/source/gcc-build/./gcc/ -B/tools/i686-lfs-linux-gnu/bin/ -B/tools/i686-lfs-linux-gnu/lib/ -isystem /tools/i686-lfs-linux-gnu/include -isystem /tools/i686-lfs-linux-gnu/sys-include --version >&5
xgcc (GCC) 4.9.2
Copyright (C) 2014 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

configure:3373: $? = 0
configure:3362: /mnt/lfs/source/gcc-build/./gcc/xgcc -B/mnt/lfs/source/gcc-build/./gcc/ -B/tools/i686-lfs-linux-gnu/bin/ -B/tools/i686-lfs-linux-gnu/lib/ -isystem /tools/i686-lfs-linux-gnu/include -isystem /tools/i686-lfs-linux-gnu/sys-include -v >&5
Reading specs from /mnt/lfs/source/gcc-build/./gcc/specs
COLLECT_GCC=/mnt/lfs/source/gcc-build/./gcc/xgcc
COLLECT_LTO_WRAPPER=/mnt/lfs/source/gcc-build/./gcc/lto-wrapper
Target: i686-lfs-linux-gnu
Configured with: ../gcc-4.9.2/configure --target=i686-lfs-linux-gnu --prefix=/tools --with-sysroot=/mnt/lfs --with-newlib --without-headers --with-local-prefix=/tools --with-native-system-header-dir=/tools/include --disable-nls --disable-shared --disable-multilib --disable-decimal-float --disable-threads --disable-libatomic --disable-libgomp --disable-libitm --disable-libquadmath --disable-libsanitizer --disable-libssp --disable-libvtv --disable-libcilkrts --disable-libstdc++-v3 --enable-languages=c,c++
Thread model: single
gcc version 4.9.2 (GCC)
configure:3373: $? = 0
configure:3362: /mnt/lfs/source/gcc-build/./gcc/xgcc -B/mnt/lfs/source/gcc-build/./gcc/ -B/tools/i686-lfs-linux-gnu/bin/ -B/tools/i686-lfs-linux-gnu/lib/ -isystem /tools/i686-lfs-linux-gnu/include -isystem /tools/i686-lfs-linux-gnu/sys-include -V >&5
xgcc: error: unrecognized command line option '-V'
xgcc: fatal error: no input files
compilation terminated.
configure:3373: $? = 1
configure:3362: /mnt/lfs/source/gcc-build/./gcc/xgcc -B/mnt/lfs/source/gcc-build/./gcc/ -B/tools/i686-lfs-linux-gnu/bin/ -B/tools/i686-lfs-linux-gnu/lib/ -isystem /tools/i686-lfs-linux-gnu/include -isystem /tools/i686-lfs-linux-gnu/sys-include -qversion >&5
xgcc: error: unrecognized command line option '-qversion'
xgcc: fatal error: no input files
compilation terminated.
configure:3373: $? = 1
configure:3389: /mnt/lfs/source/gcc-build/./gcc/xgcc -B/mnt/lfs/source/gcc-build/./gcc/ -B/tools/i686-lfs-linux-gnu/bin/ -B/tools/i686-lfs-linux-gnu/lib/ -isystem /tools/i686-lfs-linux-gnu/include -isystem /tools/i686-lfs-linux-gnu/sys-include -o conftest -g -O2 conftest.c >&5
/mnt/lfs/source/gcc-build/./gcc/as: 106: exec: --32: not found
configure:3392: $? = 1
configure:3580: checking for suffix of object files
configure:3602: /mnt/lfs/source/gcc-build/./gcc/xgcc -B/mnt/lfs/source/gcc-build/./gcc/ -B/tools/i686-lfs-linux-gnu/bin/ -B/tools/i686-lfs-linux-gnu/lib/ -isystem /tools/i686-lfs-linux-gnu/include -isystem /tools/i686-lfs-linux-gnu/sys-include -c -g -O2 conftest.c >&5
/mnt/lfs/source/gcc-build/./gcc/as: 106: exec: --32: not found
configure:3606: $? = 1
configure: failed program was:
| /* confdefs.h */
| #define PACKAGE_NAME "GNU C Runtime Library"
| #define PACKAGE_TARNAME "libgcc"
| #define PACKAGE_VERSION "1.0"
| #define PACKAGE_STRING "GNU C Runtime Library 1.0"
| #define PACKAGE_BUGREPORT ""
| #define PACKAGE_URL "http://www.gnu.org/software/libgcc/"
| /* end confdefs.h. */
|
| int
| main ()
| {
|
| ;
| return 0;
| }
configure:3620: error: in `/mnt/lfs/source/gcc-build/i686-lfs-linux-gnu/libgcc':
configure:3623: error: cannot compute suffix of object files: cannot compile
See `config.log' for more details.

## ---------------- ##
## Cache variables. ##
## ---------------- ##

ac_cv_build=i686-pc-linux-gnu
ac_cv_env_CC_set=set
ac_cv_env_CC_value='/mnt/lfs/source/gcc-build/./gcc/xgcc -B/mnt/lfs/source/gcc-build/./gcc/ -B/tools/i686-lfs-linux-gnu/bin/ -B/tools/i686-lfs-linux-gnu/lib/ -isystem /tools/i686-lfs-linux-gnu/include -isystem /tools/i686-lfs-linux-gnu/sys-include '
ac_cv_env_CFLAGS_set=set
ac_cv_env_CFLAGS_value='-g -O2'
ac_cv_env_CPPFLAGS_set=set
ac_cv_env_CPPFLAGS_value=
ac_cv_env_CPP_set=
ac_cv_env_CPP_value=
ac_cv_env_LDFLAGS_set=set
ac_cv_env_LDFLAGS_value=
ac_cv_env_LIBS_set=
ac_cv_env_LIBS_value=
ac_cv_env_build_alias_set=set
ac_cv_env_build_alias_value=i686-pc-linux-gnu
ac_cv_env_host_alias_set=set
ac_cv_env_host_alias_value=i686-lfs-linux-gnu
ac_cv_env_target_alias_set=set
ac_cv_env_target_alias_value=i686-lfs-linux-gnu
ac_cv_host=i686-lfs-linux-gnu
ac_cv_prog_AR=i686-lfs-linux-gnu-ar
ac_cv_prog_AWK=gawk
ac_cv_prog_CC='/mnt/lfs/source/gcc-build/./gcc/xgcc -B/mnt/lfs/source/gcc-build/./gcc/ -B/tools/i686-lfs-linux-gnu/bin/ -B/tools/i686-lfs-linux-gnu/lib/ -isystem /tools/i686-lfs-linux-gnu/include -isystem /tools/i686-lfs-linux-gnu/sys-include '
ac_cv_prog_LIPO=i686-lfs-linux-gnu-lipo
ac_cv_prog_NM=/mnt/lfs/source/gcc-build/./gcc/nm
ac_cv_prog_RANLIB=i686-lfs-linux-gnu-ranlib
ac_cv_prog_STRIP=i686-lfs-linux-gnu-strip

## ----------------- ##
## Output variables. ##
## ----------------- ##

AR='i686-lfs-linux-gnu-ar'
AWK='gawk'
CC='/mnt/lfs/source/gcc-build/./gcc/xgcc -B/mnt/lfs/source/gcc-build/./gcc/ -B/tools/i686-lfs-linux-gnu/bin/ -B/tools/i686-lfs-linux-gnu/lib/ -isystem /tools/i686-lfs-linux-gnu/include -isystem /tools/i686-lfs-linux-gnu/sys-include '
CFLAGS='-g -O2'
CPP=''
CPPFLAGS=''
DEFS=''
ECHO_C=''
ECHO_N='-n'
ECHO_T=''
EXEEXT=''
INSTALL_DATA='/usr/bin/install -c -m 644'
INSTALL_PROGRAM='/usr/bin/install -c'
INSTALL_SCRIPT='/usr/bin/install -c'
LDFLAGS=''
LIBOBJS=''
LIBS=''
LIPO='i686-lfs-linux-gnu-lipo'
LN_S='ln -s'
LTLIBOBJS=''
MAINT='#'
NM='/mnt/lfs/source/gcc-build/./gcc/nm'
OBJEXT=''
PACKAGE_BUGREPORT=''
PACKAGE_NAME='GNU C Runtime Library'
PACKAGE_STRING='GNU C Runtime Library 1.0'
PACKAGE_TARNAME='libgcc'
PACKAGE_URL='http://www.gnu.org/software/libgcc/'
PACKAGE_VERSION='1.0'
PATH_SEPARATOR=':'
PICFLAG='-fpic'
RANLIB='i686-lfs-linux-gnu-ranlib'
SHELL='/bin/bash'
STRIP='i686-lfs-linux-gnu-strip'
ac_ct_CC=''
asm_hidden_op=''
bindir='${exec_prefix}/bin'
build='i686-pc-linux-gnu'
build_alias='i686-pc-linux-gnu'
build_cpu='i686'
build_libsubdir='build-i686-pc-linux-gnu'
build_os='linux-gnu'
build_subdir='build-i686-pc-linux-gnu'
build_vendor='pc'
cpu_type=''
datadir='${datarootdir}'
datarootdir='${prefix}/share'
decimal_float=''
docdir='${datarootdir}/doc/${PACKAGE_TARNAME}'
double_type_size=''
dvidir='${docdir}'
enable_decimal_float='no'
enable_shared='no'
enable_vtable_verify='no'
exec_prefix='NONE'
extra_parts=''
fixed_point=''
host='i686-lfs-linux-gnu'
host_alias='i686-lfs-linux-gnu'
host_cpu='i686'
host_noncanonical='i686-lfs-linux-gnu'
host_os='linux-gnu'
host_subdir='.'
host_vendor='lfs'
htmldir='${docdir}'
includedir='${prefix}/include'
infodir='${datarootdir}/info'
libdir='${exec_prefix}/lib'
libexecdir='${exec_prefix}/libexec'
libgcc_topdir='../../../gcc-4.9.2/libgcc/..'
localedir='${datarootdir}/locale'
localstatedir='${prefix}/var'
long_double_type_size=''
mandir='${datarootdir}/man'
oldincludedir='/usr/include'
pdfdir='${docdir}'
prefix='/tools'
program_transform_name='s&^&i686-lfs-linux-gnu-&'
psdir='${docdir}'
sbindir='${exec_prefix}/sbin'
set_have_cc_tls=''
set_use_emutls=''
sfp_machine_header=''
sharedstatedir='${prefix}/com'
slibdir='$(exec_prefix)/$(host_noncanonical)/lib'
sysconfdir='${prefix}/etc'
target_alias='i686-lfs-linux-gnu'
target_noncanonical='i686-lfs-linux-gnu'
target_subdir='i686-lfs-linux-gnu'
thread_header=''
tm_defines=''
tm_file=''
tmake_file=''
toolexecdir='$(exec_prefix)/$(target_noncanonical)'
toolexeclibdir='$(toolexecdir)/lib'
vis_hide=''

## ----------- ##
## confdefs.h. ##
## ----------- ##

/* confdefs.h */
#define PACKAGE_NAME "GNU C Runtime Library"
#define PACKAGE_TARNAME "libgcc"
#define PACKAGE_VERSION "1.0"
#define PACKAGE_STRING "GNU C Runtime Library 1.0"
#define PACKAGE_BUGREPORT ""
#define PACKAGE_URL "http://www.gnu.org/software/libgcc/"

configure: exit 1


Спасибо!

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: Сборка lfs. Ошибка компиляции.

Непрочитанное сообщение Olej » 20 мар 2015, 00:06

Ну вот же у вас валом ошибок ещё на этапе ./configure:

Код: Выделить всё

configure:3362: /mnt/lfs/source/gcc-build/./gcc/xgcc -B/mnt/lfs/source/gcc-build/./gcc/ -B/tools/i686-lfs-linux-gnu/bin/ -B/tools/i686-lfs-linux-gnu/lib/ -isystem /tools/i686-lfs-linux-gnu/include -isystem /tools/i686-lfs-linux-gnu/sys-include -V >&5
xgcc: error: unrecognized command line option '-V'
xgcc: fatal error: no input files
compilation terminated.
configure:3373: $? = 1
configure:3362: /mnt/lfs/source/gcc-build/./gcc/xgcc -B/mnt/lfs/source/gcc-build/./gcc/ -B/tools/i686-lfs-linux-gnu/bin/ -B/tools/i686-lfs-linux-gnu/lib/ -isystem /tools/i686-lfs-linux-gnu/include -isystem /tools/i686-lfs-linux-gnu/sys-include -qversion >&5
xgcc: error: unrecognized command line option '-qversion'
xgcc: fatal error: no input files
compilation terminated.
configure:3373: $? = 1
configure:3389: /mnt/lfs/source/gcc-build/./gcc/xgcc -B/mnt/lfs/source/gcc-build/./gcc/ -B/tools/i686-lfs-linux-gnu/bin/ -B/tools/i686-lfs-linux-gnu/lib/ -isystem /tools/i686-lfs-linux-gnu/include -isystem /tools/i686-lfs-linux-gnu/sys-include -o conftest -g -O2 conftest.c >&5
/mnt/lfs/source/gcc-build/./gcc/as: 106: exec: --32: not found
configure:3392: $? = 1

Код: Выделить всё

configure: exit 1
Находите соответствующие строки и разбирайтесь вручную (может поменять что надо будет).

P.S.#1
Вообще то, достаточно обычная проблема (о ней часто звучат вопросы) состоит в том, что опубликованные материалы LFS относятся к настолько старым версиям (GCC, ядра, утилит, библиотек, ...), что они в неизменном виде не собираются, скрипты приходится обновлять.
По крайней мере, я это не раз слышал.

P.S.#2
Меня изумляет ;-) (не менее!) упорное желание многих и многих собирать Linux из описаний LFS.
Объясните мне, что это вам или кому даст? Какие-то устаревшие версии в непонятной комплектации? Что?
LFS - интересный эксперимет его авторов, убедиться и подтвердить, что всё в Linux можно собрать "с абсолютного нуля"...
Но зачем эту глупость повторять всем остальным?! :-o
Т.е. - какой в этом смысл?
Может я просто чего-то не догоняю? :oops:

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: Сборка lfs. Ошибка компиляции.

Непрочитанное сообщение Olej » 20 мар 2015, 00:11

Alexey_P писал(а):Спасибо!

Alexey_P, поделитесь секретом :lol: как вам удаётся писать в тему, не зарегистрировав это имя в БД пользователей форума? :-o

Alexey_P

Re: Сборка lfs. Ошибка компиляции.

Непрочитанное сообщение Alexey_P » 20 мар 2015, 22:22

Спасибо за помощь!

Я правильно понимаю, что надо смотреть файл gcc-4.9.2/libgcc/configure
К сожалению, не имею понятия как менять файл.

Видимо, моего уровня недостаточно для LFS.

Цель - понять как происходит сборка пакетов, что именно происходит на этапах ./configure, make, make install

Alexey_P2

Re: Сборка lfs. Ошибка компиляции.

Непрочитанное сообщение Alexey_P2 » 20 мар 2015, 22:27

Кажется, это не запрещено системой

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: Сборка lfs. Ошибка компиляции.

Непрочитанное сообщение Olej » 21 мар 2015, 02:21

Alexey_P2 писал(а):Кажется, это не запрещено системой
Не знаю, потому что администраторы меняли провайдера, потом меняли спам-защиту недавно, и очень эффективно, с тех пор поток спамеров резко заткнулся ;-), обновляли версию движка и меняли настройки под спам-защиту...

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

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: Сборка lfs. Ошибка компиляции.

Непрочитанное сообщение Olej » 21 мар 2015, 02:32

Alexey_P писал(а):Цель - понять как происходит сборка пакетов, что именно происходит на этапах ./configure, make, make install
Для того, чтобы понять в самых общих чертах, но достаточно, чтобы понимать что там происходит, почитайте вот здесь (не всё, а о сборке):
Разработка программных проектов в Linux.
Alexey_P писал(а): Я правильно понимаю, что надо смотреть файл gcc-4.9.2/libgcc/configure
К сожалению, не имею понятия как менять файл.
Менять, когда вы уже понимаете, что хотите поменять, текстовым редактором.
Alexey_P писал(а): Видимо, моего уровня недостаточно для LFS.
Поищите, здесь в форуме уже описывали подобные вашим проблемы, и как-то их решали...
Всё связано с тем, что LFS пишется по достаточно устаревшим версиям всех инструментов используемых, а в новых версиях накопились отличия.
Отличия обычно совсем небольшие, их легко откорректировать в файлах-скриптах ... но прежде нужно выловить в чём конкретно они состоят в каждом случае, а вот это бывает хлопотно.

P.S. Ещё раз повторю, что я совершенно не понимаю, зачем повторять LFS - в этом нет никакой практической пользы!
Авторы LFS написали это, чтобы сказать "посмотрите какие мы крутые парни" ... я их очень в этом понимаю :lol: .
Но именно поэтому их совершенно не заботит чтобы это было повторяемо, и обновлять это под свежие версии инструментов.
Вот потому вся эта история повторяется каждый раз. :lol:


Ответить

Вернуться в «Linux изнутри»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 12 гостей