lfs gcc не может скомпилировать - PullRequest
0 голосов
/ 26 сентября 2019

Я пытаюсь сделать gcc в соответствии с Linux From Scratch.Но я сталкиваюсь с ошибкой.
ошибка захвата экрана

Дополнительная информация, которая может быть полезна:
0. lfs manual version 7.7-systemd
1. Я использую Ubuntu Linux uname -r : 4.4.0-142-generic 2. Я проверил версию и библиотеку

 bash, version 4.3.11(1)-release
 /bin/sh -> /bin/dash
 Binutils: (GNU Binutils for Ubuntu) 2.24
 bison (GNU Bison) 3.0.2
 /usr/bin/yacc -> /usr/bin/bison.yacc
 bzip2,  Version 1.0.6, 6-Sept-2010.
 Coreutils:  8.21
 diff (GNU diffutils) 3.3
 find (GNU findutils) 4.4.2
 GNU Awk 4.0.1
 /usr/bin/awk -> /usr/bin/gawk
 gcc (Ubuntu 4.8.4-2ubuntu1~14.04.4) 4.8.4
 g++ (Ubuntu 4.8.4-2ubuntu1~14.04.4) 4.8.4
 (Ubuntu EGLIBC 2.19-0ubuntu6.14) 2.19
 grep (GNU grep) 2.16
 gzip 1.6
 Linux version 4.4.0-142-generic (buildd@lcy01-amd64-006) (gcc version 4.8.4 (Ubuntu 4.8.4-2ubuntu1~14.04.4) ) #168~14.04.1-Ubuntu SMP Sat Jan 19 11:26:28 UTC 2019
 m4 (GNU M4) 1.4.17
 GNU Make 3.81
 GNU patch 2.7.1
 Perl version='5.18.2';
 sed (GNU sed) 4.2.2
 tar (GNU tar) 1.27.1
 makeinfo (GNU texinfo) 5.2
 xz (XZ Utils) 5.1.0alpha
 g++ compilation OK
 ibgmp.la: not found
 libmpfr.la: not found
 libmpc.la: not found

Это код, который я запускаю

../gcc-4.9.2/configure                             \
    --target=$LFS_TGT                              \
    --prefix=/tools                                \
    --with-sysroot=$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++

ОБНОВЛЕНИЕ
Это первая сборка набора инструментов в главе 5, и я распаковал исходные коды gcc и поработал над этими свежими.

1 Ответ

0 голосов
/ 27 сентября 2019

Во-первых, я настоятельно рекомендую использовать текущую версию LFS Book (9.0 на момент написания).Версии 7.7, которой вы пользуетесь, уже почти 5 лет.

Во-вторых, ваша хост-система (Ubuntu) не соответствует требованиям LFS:

  1. /bin/sh следуетбыть ссылкой на /bin/bash.В вашем случае это связано с /bin/dash.Простым решением было бы вручную изменить его.Как root:
rm /bin/sh
ln -sv /bin/bash /bin/sh
Ваша хост-система использует EGLIBC вместо GLIBC.EGLIBC был разработан для встраиваемых устройств, пытается быть совместимым со стандартным glibc, и он прекращается с начала 2014 года https://en.wikipedia.org/wiki/Embedded_GLIBC. К сожалению, я понятия не имею, возможно ли изменить EGLIBC на GLIBC в Ubuntu (установка glibc, а затем удаление eglibc может работать).
...