Как я могу создать и установить gcc-5.4.0 на Ubuntu 18.04?

Я попробовал несколько методов за сборку и устанавливаю gcc-5.4.0 на моем ПК;

Я выполнил этот код:

GCC_VERSION="5.4.0"
WORKDIR="$HOME/src/"
INSTALLDIR="/platform"

cd $WORKDIR
wget http://www.netgull.com/gcc/releases/gcc-${GCC_VERSION}/gcc-${GCC_VERSION}.tar.bz2
tar -xf gcc-${GCC_VERSION}.tar.bz2

cd gcc-${GCC_VERSION}
./contrib/download_prerequisites

cd ..
mkdir gcc-build
cd gcc-build

../gcc-${GCC_VERSION}/configure                      \
    --prefix=${INSTALLDIR}                           \
    --enable-shared                                  \
    --enable-threads=posix                           \
    --enable-__cxa_atexit                            \
    --enable-clocale=gnu                             \
    --enable-languages=all                           \
&& make \
&& make install

который не работал; сообщение мне, что я должен отключить мультиlib.

Я сделал это с помощью этого кода:

GCC_VERSION="5.4.0"
WORKDIR="$HOME/src/"
INSTALLDIR="/platform"

cd $WORKDIR
wget http://www.netgull.com/gcc/releases/gcc-${GCC_VERSION}/gcc-${GCC_VERSION}.tar.bz2
tar -xf gcc-${GCC_VERSION}.tar.bz2

cd gcc-${GCC_VERSION}
./contrib/download_prerequisites

cd ..
mkdir gcc-build
cd gcc-build

../gcc-${GCC_VERSION}/configure                      \
    --prefix=${INSTALLDIR}                           \
    --enable-shared                                  \
    --enable-threads=posix                           \
    --enable-__cxa_atexit                            \
    --enable-clocale=gnu                             \
    --enable-languages=all                           \
    --disable-multilib                               \
&& make \
&& make install

который работал в течение почти получаса и сделал каталог целым 1 ГБ. Таким образом, я сомневался относительно исходного файла и прервал его.

Затем я пытался загрузить gcc-5.4.0 с другого источника.

Скомпилированный со следующей командой:

GCC_VERSION="5.4.0"
WORKDIR="$HOME/src/"
INSTALLDIR="/platform"

cd $WORKDIR
wget http://ftpmirror.gnu.org/gcc/gcc-${GCC_VERSION}/gcc-${GCC_VERSION}.tar.bz2
tar -xf gcc-${GCC_VERSION}.tar.bz2

cd gcc-${GCC_VERSION}
./contrib/download_prerequisites

cd ..
mkdir gcc-build
cd gcc-build

../gcc-${GCC_VERSION}/configure                      \
    --prefix=${INSTALLDIR}                           \
    --disable-multilib                               \
    --enable-shared                                  \
    --enable-threads=posix                           \
    --enable-__cxa_atexit                            \
    --enable-clocale=gnu                             \
    --enable-languages=all                           \
&& make \
&& make install

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

1
задан 16 January 2019 в 22:49

4 ответа

Когда пакет уже - половина гигабайта, это - гигабайт при распаковке источников.

, Но переключатель --disable-multilib ерунда при создании компилятора C/C++.

сообщение об ошибке отключают мультиlib средства: не может создать 32-разрядный блок, потому что пропавшие без вести 32-разрядного glibc библиотека. Я имею, вчера столкнулся с этой проблемой и должен был установить yum install glibc-devel.i686. На Ubuntu Linux это должно быть apt-get install glibc-dev.i386 или вероятно libc6-dev-i386 . Просто вручную обеспечьте пакеты, от которых это зависит, или зафиксируйте это (вероятно, устаревший) ./contrib/download_prerequisites сценарий оболочки для включения этого пакета.

Еще Вы закончите с компилятором, который не может создать для x86, но только x86_64.

0
ответ дан 7 December 2019 в 21:43

... который работал в течение почти получаса и сделал каталог целым 1 ГБ. Таким образом, я сомневался относительно исходного файла и прервал его.

Возможно, что Вы на правильном пути и помчались в остановку сборки преждевременно. Завися на основании Вашей машины, 30 минут не звучат как неблагоразумное время для создания GCC. Самое главное Вы создаете использование make, что означает, что исходные файлы компилируются последовательно, по одному, который является значением по умолчанию make. Для ускорения сборки значительно, выполненный make -j, который создаст parallely, использующий все ядра процессора, или make -j4 для выполнения 4 параллелей компилируют задания, например.

Что касается размера сборки, я подозреваю, что по умолчанию, GCC создает в Режиме отладки, который объяснил бы чрезмерно увеличенную в размерах папку сборки (для сравнения, отладочная сборка LLVM могла легко сложить до> 4 ГБ).

Однако, если Вы не должны создавать свою собственную копию GCC из источника, Вы могли использовать предварительно созданный 5,4 пакетов, доступных на Панели запуска.

Для GCC (C только), захватите .deb файлы и установите их в порядке:

mkdir ~/Downloads/gcc-5.4-deb && cd ~/Downloads/gcc-5.4-deb

wget http://launchpadlibrarian.net/375474546/gcc-5-base_5.4.0-6ubuntu1~16.04.10_amd64.deb
wget http://launchpadlibrarian.net/375474798/libasan2_5.4.0-6ubuntu1~16.04.10_amd64.deb
wget http://launchpadlibrarian.net/375474828/libmpx0_5.4.0-6ubuntu1~16.04.10_amd64.deb
wget http://launchpadlibrarian.net/375474805/libgcc-5-dev_5.4.0-6ubuntu1~16.04.10_amd64.deb
wget http://launchpadlibrarian.net/375474748/cpp-5_5.4.0-6ubuntu1~16.04.10_amd64.deb
wget http://launchpadlibrarian.net/375474755/gcc-5_5.4.0-6ubuntu1~16.04.10_amd64.deb

sudo dpkg -i gcc-5-base_5.4.0-6ubuntu1~16.04.10_amd64.deb
sudo dpkg -i libasan2_5.4.0-6ubuntu1~16.04.10_amd64.deb
sudo dpkg -i libmpx0_5.4.0-6ubuntu1~16.04.10_amd64.deb
sudo dpkg -i libgcc-5-dev_5.4.0-6ubuntu1~16.04.10_amd64.deb
sudo dpkg -i cpp-5_5.4.0-6ubuntu1~16.04.10_amd64.deb
sudo dpkg -i gcc-5_5.4.0-6ubuntu1~16.04.10_amd64.deb

Для поддержки C++ добавьте следующее:

wget http://launchpadlibrarian.net/375474836/libstdc++6_5.4.0-6ubuntu1~16.04.10_amd64.deb
wget http://launchpadlibrarian.net/375474834/libstdc++-5-dev_5.4.0-6ubuntu1~16.04.10_amd64.deb
wget http://launchpadlibrarian.net/375474751/g++-5_5.4.0-6ubuntu1~16.04.10_amd64.deb

sudo dpkg -i libstdc++6_5.4.0-6ubuntu1~16.04.10_amd64.deb
sudo dpkg -i libstdc++-5-dev_5.4.0-6ubuntu1~16.04.10_amd64.deb
sudo dpkg -i g++-5_5.4.0-6ubuntu1~16.04.10_amd64.deb

Действительно отметьте это, понизив libstdc++6 может вызвать поломку некоторых пакетов (например, cmake и firefox на моей Ubuntu 18.10). Хранение нескольких libstdc ++ является технически возможным, но трудным выполнить и конечно не идеальное.

0
ответ дан 7 December 2019 в 21:43

Я должен был установить следующие пакеты в дополнение к тому, что упомянул valiano:

wget http://security.ubuntu.com/ubuntu/pool/main/g/gcc-5/libcilkrts5_5.4.0-6ubuntu1~16.04.10_amd64.deb
wget http://security.ubuntu.com/ubuntu/pool/main/g/gcc-5/libubsan0_5.4.0-6ubuntu1~16.04.10_amd64.deb
wget http://cz.archive.ubuntu.com/ubuntu/pool/main/i/isl/libisl15_0.16.1-1_amd64.deb
wget http://cz.archive.ubuntu.com/ubuntu/pool/main/m/mpfr4/libmpfr4_3.1.4-1_amd64.deb
0
ответ дан 7 December 2019 в 21:43

Различие между gcc 5.5.0 и gcc 5.4 так минимально, что, возможно, Вы никогда не будете знать различия. У меня есть gcc 5.5.0 (gcc-5), установленный в Ubuntu 18.04, и я не знаю ни о какой функциональности, которую это пропускает, потому что мне не установили gcc 5.4 также.

Вы не должны создавать gcc-5 в Ubuntu 18.04; вместо этого это может быть установлено с Кв. Для установки gcc 5.5.0 в Ubuntu 18.04 открывают терминал и тип:

sudo apt install gcc-5  

Несколько версий gcc могут быть установлены друг вместе с другом в Ubuntu 18.04, например, gcc-5 и gcc-8. Можно изменить значение по умолчанию gcc версия при помощи update-alternatives команда для определения, на какой фактический файл ссылается родовое название, например, которым ссылаются на фактический файл gcc. Для получения дополнительной информации см. ответы на этот вопрос: Как изменить компилятор GCC по умолчанию в Ubuntu?.

0
ответ дан 7 December 2019 в 21:43

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

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