Итак, я пытаюсь собрать компилятор GCC (8.1.0) из исходного кода, и я столкнулся с проблемой. Я пытаюсь собрать его на Windows 7, и сначала я попытался собрать версию 8.2.0 и столкнулся с точной проблемой с текущей версией, которую я пытаюсь собрать (понял, поскольку версия 8.2.0 вышла 26 июля, два за несколько недель до публикации этого вопроса у него была проблема :)).
Первое, что я делаю, это конфигурирую для процесса сборки следующее:
configure --program-suffix=-8.1.0. --enable-languages=c --disable-bootstrap --disable-shared --prefix="C:\Users\Vuk\Desktop\Diplomski\gcc-8.1.0\objdir"
Я ранее создал каталог objdir, как это рекомендовано официальным руководством . В котором я планирую хранить встроенный компилятор.
После предыдущего шага я запускаю:
make -j4
, что приводит к нескольким минутам компиляции и появлению первого сообщения об ошибке:
../../intl/localealias.c: In function ‘_nl_expand_alias’:
../../intl/localealias.c:164:25: error: incomplete universal character name \U
locale_alias_path = LOCALE_ALIAS_PATH;
^~~~~~~~~~~~~~~~~
../../intl/localealias.c:164:25: warning: unknown escape sequence: '\V'
../../intl/localealias.c:164:25: warning: unknown escape sequence: '\D'
../../intl/localealias.c:164:25: warning: unknown escape sequence: '\D'
../../intl/localealias.c:164:25: warning: unknown escape sequence: '\g'
../../intl/localealias.c:164:25: warning: unknown escape sequence: '\o'
make[2]: *** [Makefile:133: localealias.o] Error 1
В конце концов появляется второе сообщение об ошибке вместе с гигантской текстовой стеной, которую я не могу отобразить:
make[2]: Leaving directory '/cygdrive/c/Users/Vuk/Desktop/Diplomski/gcc-8.1.0/objdir/libiberty'
config.status: creating Makefile
config.status: creating backtrace-supported.h
config.status: creating config.h
config.status: executing libtool commands
config.status: executing gstdint.h commands
config.status: executing default commands
make[1]: Leaving directory '/cygdrive/c/Users/Vuk/Desktop/Diplomski/gcc-8.1.0/objdir'
make: *** [Makefile:889: all] Error 2
Я не делаю все это из командной строки Windows, вместо этого я использую cygwin64.