Оновити GCC до версії 6.3 [закрито]


10

Я хочу використовувати деякі функції C ++, доступні лише в останніх версіях мови. Проблема полягає в тому, що Ubuntu 15.04 (Vivid Vervet) встановлено 4.9.2 і дивлячись на результат, який я отримую з apt-get install gcc :

Reading package lists... Done
Building dependency tree       
Reading state information... Done
gcc is already the newest version.
0 upgraded, 0 newly installed, 0 to remove and 3 not upgraded.
2 not fully installed or removed.
After this operation, 0 B of additional disk space will be used.
Do you want to continue? [Y/n]

У ньому сказано, що це вже найновіша версія. Я не розумію, чому ...


1
Ubuntu 15.04 більше не підтримується, можливо, ви повинні перейти на більш нову версію. У старих версіях Ubuntu зазвичай немає найновіших версій пакетів, вам потрібно оновити дистрибутив або встановити свій пакет з ppa або створити його з джерела.
Разиман ТВ

Відповіді:


10

Єдиний варіант - це створити його з джерел , оскільки ви працюєте з Vivid (15.04) версією, яка досягла EOL (End Of Life).

  1. Завантажте вихідний код та його передумови:

    wget https://ftp.gnu.org/gnu/gcc/gcc-6.3.0/gcc-6.3.0.tar.bz2
    tar jxvf gcc-6.3.0.tar.bz2
    cd gcc-6.3.0
    ./contrib/download_prerequisites
    
  2. Складіть джерела (зверніть увагу: ця команда буде відрізнятися залежно від того, де ви спочатку зберегли архів .bz2), ви також можете змінити параметр для buildкоманди. У цьому випадку ми будемо використовувати дуже основний варіант:

    cd ~
    mkdir gcc-build && cd gcc-build
    ../gcc-6.3.0/configure -v --prefix=$HOME/gcc-6.3.0
    

    ПРИМІТКА . Переконайтеся, що ви прочитали документи, щоб переглянути доступний варіант.

  3. Тепер ми готові створити gcc

    • Запустіть makeкоманду для створення gcc, для виконання цих кроків буде потрібно багато часу.

      make
      
    • Після завершення вищезазначеної фази ви можете встановити вбудований gcc за допомогою:

      sudo make install
      

      Після завершення цього процесу запустіть команду, gcc --versionщоб переконатися, що установка успішно завершена.


Що робить варіант "-v"? Я не можу знайти його на gcc.gnu.org/install/configure.html
Fabrício Santana


До якої папки встановлено g ++ 6.3, виконуючи ці дії? До ~/gcc-6.3.0, до ~/gcc-buildчи до якоїсь іншої папки? Чи не слід видалити будь-яку з створених папок після виконання цих команд або вони все ще потрібні?
HelloGoodbye

1
tar xzvf gcc-6.3.0.tar.bz2просто відбитки gzip: stdin: not in gzip format; tar: Child returned status 1; tar: Error is not recoverable: exiting now, тому я розпакував архів із менеджером архіву.
HelloGoodbye

Коли я біжу ../gcc-6.3.0/configure -v --prefix=$HOME/gcc-6.3.0, я отримую /usr/bin/ld: cannot find crt1.o: No such file or directory, /usr/bin/ld: cannot find crti.o: No such file or directory, /usr/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-linux-gnu/4.8/libgcc.a when searching for -lgcc, /usr/bin/ld: cannot find -lgccі інші подібні помилки.
HelloGoodbye

4

Ubuntu 15.04 закінчився термін служби і не має підтримки, а це означає, що більше оновлень або виправлень (безпеки, помилок чи функцій) не буде опубліковано.

Вам слід оновити чи перевстановити новішу версію Ubuntu.

Я рекомендую перейти з 16.10 (9-місячна підтримка), яка вже має офіційну репортаж gcc 6.x.

Але ви також можете скористатись 16.04 LTS (5-річною підтримкою) та додати ненадійного / не гарантованого PPA, щоб отримати останні версії gcc, як ця.

Особисто я хотів би перейти з 16.10 і продовжувати оновлюватись з офіційних каналів до пізніших версій програмного забезпечення / Ubuntu, не додаючи (здебільшого) жодної ppa.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.