GCC 4.6.0 ошибка проверки работоспособности сборки - PullRequest
1 голос
/ 23 апреля 2011

Итак, я собираю GCC 4.6.0 в Cygwin, но я столкнулся со стеной. Я пытаюсь настроить gcc из каталога сборки на том же уровне, что и каталог gcc-4.6.0, я получаю это:

configure: error: in `/usr/local/contrib/gcc-build/gcc':
configure: error: C++ preprocessor "/lib/cpp" fails sanity check
See `config.log' for more details.
make[2]: *** [configure-stage1-gcc] Error 1
make[2]: Leaving directory `/usr/local/contrib/gcc-build'
make[1]: *** [stage1-bubble] Error 2
make[1]: Leaving directory `/usr/local/contrib/gcc-build'
make: *** [all] Error 2

Я проверил в файле config.log и вот что он говорит:

conftest.c: In function `main':
conftest.c:16: error: `choke' undeclared (first use in this function)
conftest.c:16: error: (Each undeclared identifier is reported only once for each function it appears in.)
conftest.c:16: error: parse error before "me"

Что означает эта ошибка? Что я могу сделать, чтобы исправить ее?

Ответы [ 3 ]

2 голосов
/ 14 декабря 2011

У меня была эта проблема в Cygwin. Было более одной версии GCC, а именно. GCC и GCC-4. Деинсталлировал последний. Проблема решена для меня!

2 голосов
/ 19 мая 2011

tl; dr - Во-первых, есть страница Викия для этого (только что пересмотрела).Если вы пытаетесь собрать компилятор c ++ (обычно с использованием «--enable-languages ​​= c, c ++»), убедитесь, что вы установили пакет gcc-g ++ !Без этого ваша сборка не будет работать так, как вы видите.

РЕДАКТИРОВАТЬ 2: Я исправил эту страницу Викия после успешного построения GCC 4.6.0 (цели C и C ++) некоторое время назад.

Во-первых, ваш пост немного устарел, поэтому, если вы с ним разобрались, сообщите нам!

Какой набор инструкций вы используете для его создания?Я сам работаю над этим, используя эту вики-страницу , и я попал в ту же стену.Вы смотрели файл config.log в папке, в которую вы строите?Что это говорит о том, что идет не так?Для меня это отсутствует * ppl_c.h *, который я пытаюсь отследить сейчас, и я также получаю повторяющуюся ошибку «not exec 'cc1plus'».Поскольку это конфигурация, то это может быть нормально - возможно, все так (неудачная проверка может просто означать, что будет использоваться альтернативный метод).Далее я собираюсь попробовать 4.3.0, чтобы увидеть, работает ли , и как выглядит config.log в сравнении.

РЕДАКТИРОВАТЬ 1: Установите gcc-g ++!Это устранит препятствие cc1plus .

Мои настройки для записи (Примечание: моя хост-операционная система - Windows 7 x64):

Основные пакеты Cygwinиспользуются самые последние (не экспериментальные):

$ cygcheck -c bash binutils bzip2 gcc-core gcc-java  gzip m4 make unzip zip

Cygwin Package Information
Package              Version        Status
bash                 4.1.10-4       OK
binutils             2.20.51-2      OK
bzip2                1.0.6-1        OK
gcc-core             3.4.4-999      OK
gcc-g++              3.4.4-999      OK
gzip                 1.4-1          OK
m4                   1.4.16-1       OK
make                 3.81-2         OK
unzip                6.0-10         OK
zip                  3.0-11         OK

В частности, пакеты, которые я получил для GCC, в порядке сборки и установки:

gmp-5.0.2
mpfr-3.0.1
mpc-0.9
gcc-4.6.0 (trying to build "c,c++" targets only)

Путиустановить правильно (по крайней мере, в соответствии с инструкциями выше):

LD_LIBRARY_PATH=/usr/local/lib
LIBRARY_PATH=/usr/local/lib
CPATH=/usr/local/include
1 голос
/ 11 августа 2012

Я нахожусь в CentOS 5 и не могу решить проблему с приведенными выше предложениями. Мой обходной путь от Иана Лэнса Тейлора:

make all-gcc
make install-gcc
...