Итак, после решения проблем, которые у меня были раньше (предыдущий вопрос здесь), у меня возникли другие проблемы при компиляции gcc 2.95.3 на моей Raspberry.

Это то, что я получаю с

make bootstrap

команда.

../../gcc-2.95.3/gcc/config/arm/arm.c: In function ‘arm_override_options’:
../../gcc-2.95.3/gcc/config/arm/arm.c:286:20: warning: assignment discards ‘const’ qualifier from pointer target type [enabled by default]
../../gcc-2.95.3/gcc/config/arm/arm.c:530:17: error: lvalue required as left operand of assignment
make[2]: *** [arm.o] Error 1
make[2]: Leaving directory `/home/pi/Desktop/gcc2/gcc-2-build/gcc'
make[1]: *** [bootstrap] Error 2
make[1]: Leaving directory `/home/pi/Desktop/gcc2/gcc-2-build/gcc'
make: *** [bootstrap] Error 2

Может кто-нибудь мне помочь? Как я могу сделать это скомпилировать?


ОБНОВИТЬ

После изменения имени переменной я получаю следующие ошибки:

In file included from /usr/include/stdlib.h:25,
                 from ../../gcc-2.95.3/gcc/libgcc2.c:41:
/usr/include/features.h:323: bits/predefs.h: No such file or directory
/usr/include/features.h:356: sys/cdefs.h: No such file or directory
/usr/include/features.h:388: gnu/stubs.h: No such file or directory
In file included from ../../gcc-2.95.3/gcc/libgcc2.c:41:
/usr/include/stdlib.h:42: bits/waitflags.h: No such file or directory
/usr/include/stdlib.h:43: bits/waitstatus.h: No such file or directory
/usr/include/stdlib.h:320: sys/types.h: No such file or directory
In file included from ../../gcc-2.95.3/gcc/libgcc2.c:42:
/usr/include/unistd.h:203: bits/posix_opt.h: No such file or directory
/usr/include/unistd.h:207: bits/environments.h: No such file or directory
/usr/include/unistd.h:218: bits/types.h: No such file or directory
In file included from ../../gcc-2.95.3/gcc/libgcc2.c:42:
/usr/include/unistd.h:606: bits/confname.h: No such file or directory
make[4]: *** [libgcc2.a] Error 1
make[4]: Leaving directory `/home/pi/Desktop/gcc2/gcc-2-build/gcc'
make[3]: *** [stmp-multilib-sub] Error 2
make[3]: Leaving directory `/home/pi/Desktop/gcc2/gcc-2-build/gcc'
make[2]: *** [stmp-multilib] Error 1
make[2]: Leaving directory `/home/pi/Desktop/gcc2/gcc-2-build/gcc'
make[1]: *** [bootstrap] Error 2
make[1]: Leaving directory `/home/pi/Desktop/gcc2/gcc-2-build/gcc'
make: *** [bootstrap] Error 2

1 ответ1

1

К счастью для вас, это старая проблема. У меня тоже было это, и я решил это, посмотрев в Google.

В файле arm.c (/gcc/config/arm), строка 530 согласно сообщению об ошибке выше, исправьте строку следующим образом:

  arm_prgmode = TARGET_APCS_32 ? PROG_MODE_PROG32 : PROG_MODE_PROG26;

Я понятия не имею, как эта глупая ошибка просочилась в код и как она избежала обнаружения. Но, увы, это так.

РЕДАКТИРОВАТЬ:

Вторая ошибка не очень специфична, возможно, из-за многих факторов. Например, ваша переменная PATH пуста?

  echo $PATH

Если это перекликается с чем-то вроде

  /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

тогда ты в порядке, иначе

  export PATH= /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

решит проблему.

Или вам может потребоваться установить / переустановить библиотеки libc6-dev . В этом случае,

  sudo apt-get purge libc6-dev
  sudo apt-get install libc6-dev

В качестве альтернативы вы можете попытаться использовать (я нашел это очень удобным) предварительно созданную цепочку инструментов, доступную здесь: https://github.com/raspberrypi/tools. Даже если вы знаете, что делаете, проходить, казалось бы, бесконечный список ошибок компиляции, пытаясь определить все недостающие фрагменты, может быть утомительно.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .