проблема установки gcc 4.5 под ubuntu

Я пытался установить gcc 4.5 на Ubuntu 10.04, но не смог. Вот ошибка компиляции, которую я не знаю, как решить. Кто-нибудь успешно установил последнюю версию gcc на Ubuntu? Ниже приведены мои шаги и сообщение об ошибке, я хотел бы знать, в чем проблема....

Шаг 1: загрузите эти файлы:

gcc-core-4.5.0.tar.gz
gcc-g++-4.5.0.tar.gz
gmp-4.3.2.tar.bz2
mpc-0.8.1.tar.gz
mpfr-2.4.2.tar.gz

Шаг 2: Разархивируйте вышеуказанные файлы

Шаг 3: переместите gmp, mpc, mpfr в каталог gcc-4.5.0/.

mv gmp-4.3.2  gcc-4.5.0/gmp
mv mpc-0.8.1  gcc-4.5.0/mpc
mv mpfr-2.4.2 gcc-4.5.0/mpfr

Шаг 4: перейдите в каталог gcc-4.5.0 и выполните настройку:

sudo ./configure

Шаг 5: скомпилируйте и установите

sudo make
sudo make install

Первые 4 шага в порядке, я могу их успешно настроить. Однако, когда я пытаюсь его скомпилировать, появляется следующее сообщение об ошибке, я не могу понять, в чем проблема. Должен ли я изменить имя с «gcc 4.5» на «gcc»?? Немного странно, что нам нужно делать это самостоятельно. Я что-то пропустил во время установки?

xxx@xxx-laptop:/media/Data/Tool/linux/gcc 4.5/gcc-4.5.0$ sudo make
[sudo] password for xxx: 
[ -f stage_final ] || echo stage3 > stage_final
/bin/bash: line 2: test: /media/Data/Tool/linux/gcc: binary operator expected
/bin/bash: /media/Data/Tool/linux/gcc: No such file or directory
make[1]: Entering directory `/media/Data/Tool/linux/gcc 4.5/gcc-4.5.0'
make[2]: Entering directory `/media/Data/Tool/linux/gcc 4.5/gcc-4.5.0'
make[3]: Entering directory `/media/Data/Tool/linux/gcc 4.5/gcc-4.5.0'
rm -f stage_current
make[3]: Leaving directory `/media/Data/Tool/linux/gcc 4.5/gcc-4.5.0'
make[2]: Leaving directory `/media/Data/Tool/linux/gcc 4.5/gcc-4.5.0'
make[2]: Entering directory `/media/Data/Tool/linux/gcc 4.5/gcc-4.5.0'
Configuring stage 1 in host-x86_64-unknown-linux-gnu/intl
/bin/bash: /media/Data/Tool/linux/gcc: No such file or directory
make[2]: *** [configure-stage1-intl] Error 127
make[2]: Leaving directory `/media/Data/Tool/linux/gcc 4.5/gcc-4.5.0'
make[1]: *** [stage1-bubble] Error 2
make[1]: Leaving directory `/media/Data/Tool/linux/gcc 4.5/gcc-4.5.0'
make: *** [all] Error 2

person Claire Huang    schedule 21.05.2010    source источник
comment
Вы не должны запускать sudo make. Это оставит файлы с неправильными разрешениями.   -  person Ignacio Vazquez-Abrams    schedule 22.05.2010
comment
Я пытался скомпилировать без sudo (просто ./configure и make), но сообщение об ошибке такое же. И я не понимаю, почему он ищет путь gcc, а не gcc 4.5.   -  person Claire Huang    schedule 22.05.2010
comment
У меня никогда не было проблем с использованием sudo make - я думаю, что процесс установки все равно устанавливает разрешения (конечно, если вы скопируете двоичные файлы, библиотеки и т. Д. На место вручную, может возникнуть проблема, но OP не пытается это сделать ).   -  person Mike Dinsdale    schedule 22.05.2010


Ответы (1)


Возможно, не стоит иметь пробел в вашем пути - это довольно редко и может легко испортить сценарии оболочки, которые специально не предназначены для этого (что является плохой комбинацией!)

Другая потенциальная проблема заключается в том, что вы запускаете configure внутри исходного каталога gcc — это не рекомендуется (и у меня вообще не работало по крайней мере на одной версии gcc 4). Вместо этого создайте пустой каталог сборки, параллельный исходному каталогу, чтобы у вас было что-то вроде:

gcc 4.5            <- but might want to avoid the space
  gcc-4.5.0
    ...
  build

Затем cd в build и бегом

../gcc-4.5.0/configure

Вам также может понадобиться начать с только что разархивированного исходного каталога, так как предыдущая неудачная сборка могла повредить его.

person Mike Dinsdale    schedule 22.05.2010
comment
Большое спасибо!! Теперь я могу его скомпилировать :) Я думаю, что основная проблема — это пробел в пути. Кстати, мне любопытно, почему рекомендуется использовать другую папку для запуска конфигурации. Я делаю так, как вы сказали, если это не слишком сложно, не могли бы вы объяснить мне причину? - person Claire Huang; 22.05.2010
comment
Честно говоря, я не знаю точно, почему он ломается, если вы делаете сборку в исходном каталоге - предположительно, процесс сборки перезаписывает файл из исходного дистрибутива или создает новый, который попадает в PATH и что-то портит. .. но я действительно просто предполагаю :) Они могли бы даже исправить это для 4.5, но они все еще не рекомендуют это на веб-сайте gcc, поэтому я бы не стал рисковать (когда у меня была проблема, сборка не удалась только после несколько часов компиляции, что весьма раздражает :)) - person Mike Dinsdale; 23.05.2010
comment
Насколько я понимаю, разработчики строят вне исходного кода; следовательно, они рекомендуют это сделать и вам, поскольку сборка исходного кода менее проверена, а сборка нетривиальна. У каждого свои предпочтения, но я предпочитаю сборку вне исходного кода, поскольку это устраняет неоднозначность артефактов сборки из исходного кода. Вероятно, это не проблема для тех, кто не занимается разработкой. - person ejgottl; 28.07.2010