Возможно, не все необходимые сертификаты были загружены на ваш компьютер. Подключите терминал и введите следующую команду, чтобы обновить ваши сертификаты SSL:
$ sudo apt-get install --reinstall ca-certificates
После повторной установки сертификатов перезагрузите компьютер и повторите попытку.
Во-первых, поскольку вы запустили sudo apt-get install build-essential, вы должны уже установить gcc. Вы можете узнать, какую версию у вас есть, запустив gcc -v. Местоположение этой установленной версии будет /usr/lib/gcc/version-number/.
/usr/bin/gcc является местоположением по умолчанию для двоичного файла gcc в Ubuntu.
Затем вы хотите установить предыдущую версию.
Для [ f14]Поскольку эта версия доступна в старых версиях 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-4.1 g++-4.1
2. Проверка доступных компиляторов
На этом этапе у каждого будет два набора компиляторов (каждый из них для g++ и gcc). Это можно проверить с помощью dpkg --list | grep compiler,
dpkg --list | grep compiler
ii antlr3.2 3.2-14 all language tool for constructing recognizers, compilers etc
ii g++ 4:5.3.1-1ubuntu1 amd64 GNU C++ compiler
ii g++-4.1 4.1.2-13 amd64 The GNU C++ compiler
ii g++-4.1-multilib 4.1.2-13 amd64 The GNU C++ compiler (multilib files)
ii g++-5 5.4.0-6ubuntu1~16.04.4 amd64 GNU C++ compiler
ii gcc 4:5.3.1-1ubuntu1 amd64 GNU C compiler
ii gcc-4.1 4.1.2-13 amd64 The GNU C compiler
ii gcc-4.1-multilib 4.1.2-13 amd64 The GNU C compiler (multilib files)
ii gcc-5 5.4.0-6ubuntu1~16.04.4 amd64 GNU C compiler
ii gcc-5-multilib 5.4.0-6ubuntu1~16.04.4 amd64 GNU C compiler (multilib support)
ii gcc-multilib 4:5.3.1-1ubuntu1 amd64 GNU C compiler (multilib files)
ii hardening-includes 2.7ubuntu2 all Makefile for enabling compiler flags for security hardening
ii libantlr-java 2.7.7+dfsg-6ubuntu1 all language tool for constructing recognizers, compilers etc (java library)
ii libllvm3.8:amd64 1:3.8-2ubuntu3 amd64 Modular compiler and toolchain technologies, runtime library
ii libllvm3.8:i386 1:3.8-2ubuntu3 i386 Modular compiler and toolchain technologies, runtime library
ii libxkbcommon0:amd64 0.5.0-1ubuntu2 amd64 library interface to the XKB compiler - shared librar
Важно, чтобы расположение двух наборов компиляторов, которые можно указать,
ls -lh /usr/bin/gcc*
lrwxrwxrwx 1 root root 5 五 5 2016 /usr/bin/gcc -> gcc-5
-rwxr-xr-x 1 root root 208K 七 10 2007 /usr/bin/gcc-4.1
-rwxr-xr-x 1 root root 895K 十一 3 10:00 /usr/bin/gcc-5
и [!d17 ]
ls -lh /usr/bin/g++*
-rwxr-xr-x 1 root root 210K 七 10 2007 /usr/bin/g++-4.1
-rwxr-xr-x 1 root root 899K 十一 3 09:41 /usr/bin/g++-5
Для gcc-4.1 После установки необходимых компиляторов можно просто переключиться между компиляторами. Это делается путем обновления списка альтернативных версий приложения. Для этого команда update-alternative должна запускаться с определенными параметрами.
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-5 60 --slave /usr/bin/g++ g++ /usr/bin/g++-5
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.1 40 --slave /usr/bin/g++ g++ /usr/bin/g++-4.1
sudo update-alternatives --config gcc
Это будет связывать g++ с gcc, а при изменении только gcc изменится g++ автоматически.
Тогда всякий раз, когда вы хотите изменить компилятор, введите это:
sudo update-alternatives --config gcc
Затем пользователь спрашивает, какой компилятор выбрать.
Selection Path Priority Status
------------------------------------------------------------
* 0 /usr/bin/gcc-5 60 auto mode
1 /usr/bin/gcc-4.1 40 manual mode
Press <enter> to keep the current choice[*], or type selection number:
Здесь вы можно выбрать, нажав клавишу (0,1), а затем нажав enter. Изменение текущей выбранной версии можно проверить с помощью gcc -v.
2. Проверка доступных компиляторов
Некоторые основные рекомендации:
Обычно есть два шага: создание (build) и создание (make). Шаг build включает в себя создание системных кодов для установки, которые требуют привязки к требуемым компиляторам. make эквивалентно установке в какой-либо директории. Любое приложение может быть build и make в любой папке, как было определено пользователем. В build выбрана временная папка. Эта папка может быть удалена после успешного шага make. Важно отметить, что для шага make назначение установки определяется обычно --prefix=/path/to/folder, пока выполняется сценарий build. Например, если сценарий установки .setup, то в большинстве случаев ./setup --prefix=/path/to/installation/folderДля получения подробной информации обратитесь к руководству или рекомендациям для вашего приложения.
При запуске скрипт сборки будет использоваться текущая выбранная версия компилятора (для gcc и g++). При запуске установленного приложения поведение будет зависеть от того, будет ли программа принимать компилятор из переменной окружения или связана с конкретным двоичным кодом. Это необходимо проверить после установки.
Существует, как правило, два шага, построение (build) и создание (make). Шаг build включает в себя создание системных кодов для установки, которые требуют привязки к требуемым компиляторам. make эквивалентно установке в какой-либо директории. Любое приложение может быть build и make в любой папке, как было определено пользователем. Шаг build и make одинаковы для компиляторов.