Установка более старой gcc версии (3.4.3) на Ubuntu 14.04 (в настоящее время 4,8 установленных)

Мне установили gcc 4.8, но я также должен установить gcc 3.4.3. Я выполнил эти шаги:

  1. Загруженный gcc 3.4.3 из gcc.parentingamerica.com/releases.
  2. Извлеченный tar.
  3. ./настраивать
  4. сделать

Затем это бросает эту ошибку: http://paste.ubuntu.com/24807240/

Кто-либо может предложить что случилось и также как попросить, чтобы gcc использовал более старую версию, однажды установленную?

ОС: Ubuntu 14.04 LTS, 64-разрядный

5
задан 8 June 2017 в 04:24

2 ответа

Проверьте текущую версию, запустив gcc -v.

Далее, вы хотите установить предыдущую версию.

  1. Для gcc-3.4

Поскольку эта версия доступна в более старых выпусках Ubuntu, нам необходимо иметь соответствующие репозитории для этой версии. Из некоторых поисков я обнаружил, что они следующие: их нужно добавить в /etc/apt/sources.list

deb     http://snapshot.debian.org/archive/debian/20070730T000000Z/ lenny main
deb-src http://snapshot.debian.org/archive/debian/20070730T000000Z/ lenny main
deb     http://snapshot.debian.org/archive/debian-security/20070730T000000Z/ lenny/updates main
deb-src http://snapshot.debian.org/archive/debian-security/20070730T000000Z/ lenny/updates main

. После выполнения sudo apt-get update будут доступны новые репозитории.

Далее установите необходимый компилятор. Я обычно устанавливаю gcc и g++ одной и той же версии для совместимости. Для общего назначения рекомендуется.

Следовательно,

sudo apt-get install gcc-3.4 g++-3.4

2. Проверка доступных компиляторов

На этом этапе у каждого будет два набора компиляторов (по одному для g++ и gcc). Их можно проверить по dpkg --list | grep compiler,

dpkg --list | grep compiler

dpkg --list | grep compile
ii  g++                                                   4:4.8.2-1ubuntu6                                    amd64        GNU C++ compiler
ii  g++-3.4                                               3.4.6-5                                             amd64        The GNU C++ compiler
ii  g++-4.8                                               4.8.4-2ubuntu1~14.04.1                              amd64        GNU C++ compiler
ii  gcc                                                   4:4.8.2-1ubuntu6                                    amd64        GNU C compiler
ii  gcc-3.4                                               3.4.6-5                                             amd64        The GNU C compiler
ii  gcc-4.8                                               4.8.4-2ubuntu1~14.04.1                              amd64        GNU C compiler
ii  hardening-includes                                    2.5ubuntu2.1                                        all          Makefile for enabling compiler flags for security hardening
ii  libllvm3.6:amd64                                      1:3.6-2ubuntu1~trusty1                              amd64        Modular compiler and toolchain technologies, runtime library
ii  libxkbcommon0:amd64                                   0.4.1-0ubuntu1                                      amd64        library interface to the XKB compiler - shared library
ii  pkg-config                                            0.26-1ubuntu4                                       amd64        manage compile and link flags for libraries

. Если вам это нужно, вы можете проверить место установки.

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

ls -lh /usr/bin/gcc*
lrwxrwxrwx 1 root root    7  5月 13  2016 /usr/bin/gcc -> gcc-4.8
-rwxr-xr-x 1 root root  91K  1月  4  2007 /usr/bin/gcc-3.4
-rwxr-xr-x 1 root root 758K  1月 27  2016 /usr/bin/gcc-4.8

и

    ls -lh /usr/bin/g++*
lrwxrwxrwx 1 root root    7  4月  8  2014 /usr/bin/g++ -> g++-4.8
-rwxr-xr-x 1 root root  93K  1月  4  2007 /usr/bin/g++-3.4
-rwxr-xr-x 1 root root 758K  1月 27  2016 /usr/bin/g++-4.8

  1. Выбор компилятор для текущей цели (создание приложения)

После установки необходимых компиляторов можно просто переключаться между компиляторами. Это делается путем обновления списка альтернативных версий приложения. Для этого нужно запустить команду update-alternative с определенными параметрами.

sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.8 60 --slave /usr/bin/g++ g++ /usr/bin/g++-4.8
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-3.4 40 --slave /usr/bin/g++ g++ /usr/bin/g++-3.4
sudo update-alternatives --config gcc

Это свяжет g++ с gcc и при изменении только gcc g++ изменится автоматически.

Затем, когда вы захотите изменить компилятор, введите следующее:

sudo update-alternatives --config gcc

Затем пользователя спросят, какой компилятор выбрать.

    sudo update-alternatives --config gcc
    There are 2 choices for the alternative gcc (providing /usr/bin/gcc).

      Selection    Path              Priority   Status
    ------------------------------------------------------------
    * 0            /usr/bin/gcc-4.8   60        auto mode
      1            /usr/bin/gcc-3.4   40        manual mode
      2            /usr/bin/gcc-4.8   60        manual mode

Press enter to keep the current choice[*], or type selection number:

Здесь вы можете выбрать, нажав клавишу (0,1) и затем нажав ввод. Изменение текущей выбранной версии может быть проверено с помощью gcc -v


Удаление update-alternative

  1. Если вы хотите сохранить альтернативу компилятор установлен. Затем просто перейдите в автоматический режим в update-alternative, который является опцией 0.
  2. Если вы хотите удалить альтернативный компилятор, то удалите компилятор, например sudo apt-get remove gcc-3.4 g++-3.4, затем запустите

sudo update-alternatives --config gcc

Программа update-alternatives будет искать ссылки и обнаружил, что они отсутствуют, и автоматически удалит альтернативу, вернувшись к другой доступной опции.

sudo update-alternatives --config gcc
update-alternatives: warning: alternative /usr/bin/gcc-3.4 (part of link group gcc) doesn't exist; removing from list of alternatives
There is only one alternative in link group gcc (providing /usr/bin/gcc): /usr/bin/gcc-4.8
Nothing to configure.
8
ответ дан 23 November 2019 в 08:58

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

Говорить, что у Вас есть опция понизить версию программы к более старой, здесь прибывает как в:

  1. откройте эмулятор терминала и тип apt-cache showpkg <package-name> список доступных версий будет распечатан
  2. Затем введите sudo apt-get install <package-name>=<package-version-number> для установки версии, Вы предпочитаете
  3. ввести apt-mark hold <package-name> это будет препятствовать тому, чтобы пакет был обновлен
  4. если у Вас есть какой-либо тип проблемы man apt открыть руководство команды
0
ответ дан 23 November 2019 в 08:58

Другие вопросы по тегам:

Похожие вопросы: