LINUX.ORG.RU

Народ подскажите как правильно поставить gcc из исходников

 , ,


0

1

Пытаюсь ставить gcc из исходников в ответ получаю ошибки ниже я привел разные способы установки пакетов и ошибки при установках пакетов


=========Var1==========================================
cd /tmp/gcc-4.5.3
./configure --enable-languages=c,c++,fortran,java
make -j 4 && make install
--------OUTPUT-------------------------------------------------------

make[4]: Leaving directory '/tmp/gcc-4.5.3/i686-pc-linux-gnu/libgcc'
make[3]: Leaving directory '/tmp/gcc-4.5.3/i686-pc-linux-gnu/libgcc'
Makefile:15246: recipe for target 'all-stage1-target-libgcc' failed
make[2]: *** [all-stage1-target-libgcc] Error 2
make[2]: Leaving directory '/tmp/gcc-4.5.3'
Makefile:19946: recipe for target 'stage1-bubble' failed
make[1]: *** [stage1-bubble] Error 2
make[1]: Leaving directory '/tmp/gcc-4.5.3'
Makefile:862: recipe for target 'all' failed
make: *** [all] Error 2



=========Var2==========================================

cd /tmp/gcc-4.5.3
./configure -v --build=i386-linux-gnu --host=i386-linux-gnu --target=i386-linux-gnu --prefix=/usr/local/gcc-4.5.3 --enable-checking=release --enable-languages=c,c++,fortran --disable-multilib --program-suffix=-4.5.3
make -j 4 && make install
--------OUTPUT-------------------------------------------------------

Makefile:370: recipe for target '_muldi3.o' failed
make[3]: *** [_muldi3.o] Error 1
make[3]: *** Waiting for unfinished jobs....
In file included from /usr/include/stdio.h:27:0,
                 from ../.././libgcc/../gcc/tsystem.h:87,
                 from ../.././libgcc/../gcc/libgcc2.c:29:
/usr/include/features.h:391:23: fatal error: gnu/stubs.h: No such file or directory
compilation terminated.
Makefile:370: recipe for target '_negdi2.o' failed
make[3]: *** [_negdi2.o] Error 1
In file included from /usr/include/stdio.h:27:0,
                 from ../.././libgcc/../gcc/tsystem.h:87,
                 from ../.././libgcc/../gcc/libgcc2.c:29:
/usr/include/features.h:391:23: fatal error: gnu/stubs.h: No such file or directory
compilation terminated.
Makefile:370: recipe for target '_lshrdi3.o' failed
make[3]: *** [_lshrdi3.o] Error 1
In file included from /usr/include/stdio.h:27:0,
                 from ../.././libgcc/../gcc/tsystem.h:87,
                 from ../.././libgcc/../gcc/libgcc2.c:29:
/usr/include/features.h:391:23: fatal error: gnu/stubs.h: No such file or directory
compilation terminated.
Makefile:370: recipe for target '_ashldi3.o' failed
make[3]: *** [_ashldi3.o] Error 1
make[3]: Leaving directory '/tmp/gcc-4.5.3/i386-linux-gnu/libgcc'
Makefile:15246: recipe for target 'all-stage1-target-libgcc' failed
make[2]: *** [all-stage1-target-libgcc] Error 2
make[2]: Leaving directory '/tmp/gcc-4.5.3'
Makefile:18598: recipe for target 'stage1-bubble' failed
make[1]: *** [stage1-bubble] Error 2
make[1]: Leaving directory '/tmp/gcc-4.5.3'
Makefile:862: recipe for target 'all' failed
make: *** [all] Error 2


=========Var3==========================================

cd /tmp/gcc-4.5.3
./configure -v --build=i386-linux-gnu --host=i386-linux-gnu --target=i386-linux-gnu --prefix=/usr/local/gcc-4.5.3 --enable-checking=release --enable-languages=c,c++,fortran --disable-multilib --program-suffix=-4.5.3
#./configure --enable-languages=c,c++,fortran,java
make  && checkinstall -y

--------OUTPUT-------------------------------------------------------

/usr/include/features.h:391:23: fatal error: gnu/stubs.h: No such file or directory
compilation terminated.
Makefile:370: recipe for target '_muldi3.o' failed
make[3]: *** [_muldi3.o] Error 1
make[3]: Leaving directory '/tmp/gcc-4.5.3/i386-linux-gnu/libgcc'
Makefile:15246: recipe for target 'all-stage1-target-libgcc' failed
make[2]: *** [all-stage1-target-libgcc] Error 2
make[2]: Leaving directory '/tmp/gcc-4.5.3'
Makefile:18598: recipe for target 'stage1-bubble' failed
make[1]: *** [stage1-bubble] Error 2
make[1]: Leaving directory '/tmp/gcc-4.5.3'
Makefile:862: recipe for target 'all' failed
make: *** [all] Error 2

Те кто «в теме» подскажите как правильно поставить пакеты или исправить возникающие ошибки. P.S. Специально для борцов за размещение темы в соответствующем разделе - я уже пытался разместить пост в соотв разделе сайта нашел только один отклик, да и то не совсем в тему здесь откликов гораздо больше.

Перемещено hobbit из general


подскажите как правильно поставить gcc из исходников

Ответ, правильно поставить gcc и прочий «build essentials» - используя пакетный менеджер дистрибутива.

vvn_black ★★★★★
()
Последнее исправление: vvn_black (всего исправлений: 1)

Так, у вас еще и ninja образовался, который требует собственно то, что вы пытаетесь сделать. Вы задаете неверный вопрос. Не «надо поставить gcc x.xx», а "раз мой ninja требует версию gcc, то мне надо спросить «как собрать проект ххх, который использует старую версию ninja».

PPP328 ★★★★★
()

для сборки всякого из исходников можно использовать LFS как справочник про опции,зависимости и патчи

сборка текущей версии gcc https://linuxfromscratch.org/lfs/view/stable/chapter08/gcc.html и про сборку кросса выше по главам

для древней версии ищите в музее https://linuxfromscratch.org/museum/lfs-museum/

всё быстрее чем вычитывать мегатонны из документации и рассылок gcc

MKuznetsov ★★★★★
()
axel -S4 --ipv4 --no-clobber --verbose
{
https://ftp.gnu.org/gnu/gcc/gcc-8.4.0/gcc-8.4.0.tar.gz
https://ftp.gnu.org/gnu/gcc/gcc-8.4.0/gcc-8.4.0.tar.gz.sig
https://ftp.gnu.org/gnu/gnu-keyring.gpg
}
gpg --verify --no-default-keyring --keyring ./gnu-keyring.gpg gcc-8.4.0.tar.gz.sig

tar -zxvf gcc-8.4.0.tar.gz
cd gcc-8.4.0
source ./contrib/download_prerequisites
./configure --prefix=/usr/local --enable-languages=c,c++,fortran,java

Ждём-с сборки и смотрим выхлоп.

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

Во-первых, я не Козлов, специально для Вас, Баранов (Бакланов)! Во вторых, на этом сайте не указан способ решения конкретных проблем при сборке.

xxoaea
() автор топика
Последнее исправление: xxoaea (всего исправлений: 2)
Ответ на: комментарий от PPP328

Боюсь, если я так спрошу, меня уведут не в ту сторону вообще - потому что будут вопросы типа -а на фига тебе собирать проект xxx когда есть проект yyy который решает те же проблемы.-. При этом никто не замечает что проект yyy тащит в разы больше зависимостей чем проект xxx

xxoaea
() автор топика
Последнее исправление: xxoaea (всего исправлений: 1)
Ответ на: комментарий от xxoaea

Чем не устраивают озвученные выше варианты:

  • взять древний дистрибутив с GCC нужной версии
  • взять и посмотреть, как собирают GCC в древнем LFS
  • посмотреть про сборку на оф. сайте GNU GCC
  • взять готовый докер-образ с GCC 4.6 или подсмотреть докер-файл и собрать самому с 4.5.3
vvn_black ★★★★★
()
Последнее исправление: vvn_black (всего исправлений: 1)
Ответ на: комментарий от xxoaea

При этом никто не замечает что проект yyy тащит в разы больше зависимостей чем проект xxx

И что, если yyy работает, а для xxx даже среду сборки не получается сделать?

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

Еще раз древний дистриб не пойдет т.е он нужен для сборки ninja 1.8.2 Смотреть как собирают древний GCC в древнем LFS т.к. нам не учтены все зависимости современного (их просто не было) посмотреть про сборку на оф. сайте GNU GCC - не годится потому как они не рассматривают ошибки сборки взять готовый образ с GCC 4.6 - не катит потребует новые зависимости; по поводу докера не уверен надо ли для этого ставить докер.

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

а GMP, MPFR and MPC установлены?

с хостом и таргетом i386-linux-gnu ? там до них ещё пыхтеть и пыхтеть :-)

ld, ar, libelf, bintools и почти 100% что всё это дело на uclibc (современная libc начиналась с i586, не уверен что её вообще можно собрать под 386)

MKuznetsov ★★★★★
()