2016-01-11 2 views
2

Я пытаюсь скомпилировать gcc из исходного кода, так как я не могу использовать yum, apt-get и т. Д. Мои шаги просты:компилировать gcc из исходников (проблемы)

-I скачать источник GCC (я пробовал GCC-4.8.4 и GCC-5.3.0) в моем компьютере, и я использовал:

./contrib/download_prerequisites 

-После этого, я посылаю этот мой исходный файл gcc для моей системы с помощью powerPC y Linux.

mkdir objdir 
    cd objdir 
    ../gcc-4.6.2/configure --prefix=/usr --enable-languages=c,c++,fortran,go 
    make 

я получил следующую ошибку:

In file included from ../../gcc-4.9.2/gcc/genmddeps.c:19:0: 
    ../../gcc-4.9.2/gcc/system.h:205:20: fatal error: cstring: No such file or directory 
    # include <cstring> 
       ^
    compilation terminated. 
    make[3]: *** [build/genmddeps.o] Error 1 
    make[3]: Leaving directory `/home/root/build/gcc' 
    make[2]: *** [all-stage1-gcc] Error 2 
    make[2]: Leaving directory `/home/root/build' 
    make[1]: *** [stage1-bubble] Error 2 
    make[1]: Leaving directory `/home/root/build' 
    make: *** [all] Error 2 

Любая идея о том, что это происходит не так?

С наилучшими пожеланиями

+0

опечатка в вашем вопросе ' 4.6.2' или '4.9.2' ?? –

ответ

2

Некоторые советы: во-первых, компилировать (в частности, для целей обучения) что-то простой, чем GCC, например, GNU make, если вы никогда не компилировали материал GNU из исходного кода.

Затем скомпилировать недавний GCC (так 5.3 в январе 2016) - вопросов строительства будет то же самое с 4,8 и GCC 5 лучше! Вам нужен gcc & libc-dev & g++ & libstdc++-dev для вашего хост компьютера (один работает ваше будущее кросс-компилятор). Я не уверен, что ваш --prefix=/usr - хорошая идея. Рассмотрим, возможно, --program-suffix=-mine вариант (в противном случае, может быть перезаписана вашей системы /usr/bin/gcc, которую вы не хотите, чтобы это произошло)

Вы можете оставить по умолчанию --prefix=/usr/local, а затем добавить соответственно /usr/local/bin/ в свой PATH

+1

Я второй комментарий о том, что не использовал '--prefix =/usr', конечно, пока вы не сделали это достаточно часто, чтобы убедиться, что знаете упражнение и как все это работает. Лично я сохраняю каталог '/ opt/gcc' и устанавливаю разные версии в каталогах с именами версий (например,'/opt/gcc/v5.3.0', где вы не обязаны или даже обязательно рекомендуется использовать ' V'). Сценарий настройки PATH автоматически выбирает каталог последней версии - для GCC и другого программного обеспечения с версией - поэтому я создаю и устанавливаю новую версию и в конечном итоге использую ее автоматически. –

Смежные вопросы