2013-04-16 3 views
0

Я пытаюсь установить gcc-4.6.2 на узел кластера. К сожалению, у этого узла нет подключения к Интернету, поэтому я пытаюсь сделать все вручную. Я установил все необходимые пакеты, и я запустить конфигурационный файл со следующими параметрами:Ошибка GCC 4.6.2: конфликтующие типы для 'psignal'

./configure --with-newlib --prefix=/usr/lib64/gcc-4.6.2 --disable-libssp 
--enable-shared --enable-threads=posix --enable-__cxa_atexit 
--enable-clocale=gnu --enable-languages=c,c++,java 
--with-cpu=generic --build=x86_64-redhat-linux    
--host=x86_64-redhat-linux --target=x86_64-redhat-linux 
--with-target-subdir=x86_64-redhat-linux --with-mpfr=/usr/local/lib 
--with-gmp=/usr/local/lib --with-mpc=/usr/local/lib 

Однако, когда я делаю это я получаю следующее сообщение об ошибке:

../.././libiberty/strsignal.c:555: error: conflicting types for ‘psignal’ 
/usr/include/signal.h:141: error: previous declaration of ‘psignal’ was here 
Может кто-то помочь

меня?

ответ

0

Я вижу три возможных проблем с вызовом конфигурирования:

  • Вы указали --build, --host и --target, но они все-таки. Это ставит сборку в режиме «сделай меня кросс-компилятором», несмотря на то, что вы на самом деле не получаете от нее кросс-компилятор. Это ненормальная вещь, и, возможно, она работает неправильно. Попробуйте удалить все три из этих параметров. Если узел, на котором вы строите, находится неx86_64-redhat-linux, и вам действительно нужен кросс-компилятор для этой цели, укажите --targetтолько.

  • Вы указали --with-newlib, но ваш выбор --target - x86_64-redhat-linux. Последнее, что я слышал, newlib не поддерживает эту ОС - это минимальная библиотека C для встроенной работы. Попытайтесь взять это тоже.

  • Нет --with-target-subdir вариант. Это безвредно само по себе - configure игнорирует непризнанные --with и --enable опции - но мне интересно, что это было предназначалось для. Вы скопировали этот вызов configure откуда-нибудь?

См. http://gcc.gnu.org/install/configure.html для получения дополнительной информации.

(Есть ли у вас на самом деле есть использование для компилятора Java? Если нет, то вывести его из строя и ваша сборка будет примерно в четыре раза быстрее.)

+0

Я снова запустить с этим './configure --enable-общий --enable-threads = posix --enable -__ cxa_atexit --enable-clocale = gnu --enable-languages ​​= c, C++, java --with-cpu = generic --with-mpfr =/usr/local/lib - -with-gmp =/usr/local/lib --with-mpc =/usr/local/lib', но я получил следующую ошибку: 'configure: error: in' /usr/lib64/gcc-4.6.2/x86_64- unknown-linux-gnu/libgcc ': configure: error: невозможно вычислить суффикс объектных файлов: невозможно компилировать. ' – desmo

+0

Что-то не так с вашим компилятором bootstrap. Установлен ли уже установленный компилятор? Он работает для тривиальных тестовых программ? Я могу быть более конкретным, если вы разместите содержимое 'config.log' где-нибудь (не здесь, пожалуйста, оно будет огромным, поместите его на pastebin или что-то в этом роде и разместите ссылку) – zwol

+0

У меня есть 2 предыдущая версия gcc 3.4.6 и gcc 4.1.2. – desmo