Я использую Ubuntu 16.04 LTS, где C-компилятор по умолчанию - 'gcc (Ubuntu 5.4.0-6ubuntu1 ~ 16.04.5) 5.4.0 20160609'.
Обычно я не обновляю свои C-компилятор до тех пор, пока я не обновляю всю ОС или не получаю уведомление об этом с помощью обновлений программного обеспечения.
Однако для моей работы по тестированию основного дистрибутива Perl 5 мне нужно иметь возможность оценивать другие результаты тестирования дымовых газов участников запускаются там, где C-компилятор gcc-7.2. Следовательно, я хотел бы установить gcc-7.2, но НЕ стал бы моим C-компилятором по умолчанию. Я хотел бы использовать его только тогда, когда это необходимо для одной конкретной задачи.
В таких ссылках:
Как установить g ++ - 7 на Ubuntu?
... Я нахожу инструкции по прямому обновлению до gcc-7. * Но я действительно не хочу обновлять; Я просто хочу альтернативную установку.
Можно ли это сделать? Если да, то как?
Большое спасибо.
Установка gcc-7 из toolchain-r PPA не должна влиять на установку по умолчанию gcc - она установит /usr/bin/gcc-7 и все поддерживающие файлы, но не будет символически связывать /usr/bin/gcc с ней.
Например, данный
$ gcc --version
gcc (Ubuntu 5.4.1-2ubuntu1~16.04) 5.4.1 20160904
Copyright (C) 2015 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
$ gcc-7 --version
No command 'gcc-7' found, did you mean:
Command 'gcc-6' from package 'gccgo-6' (main)
Command 'gcc-5' from package 'gcc-5' (main)
Command 'gcc-5' from package 'hardening-wrapper' (universe)
gcc-7: command not found
Тогда
$ apt-cache policy gcc-7
gcc-7:
Installed: (none)
Candidate: 7.2.0-1ubuntu1~16.04
Version table:
7.2.0-1ubuntu1~16.04 500
500 http://ppa.launchpad.net/ubuntu-toolchain-r/test/ubuntu xenial/main amd64 Packages
$ sudo apt install gcc-7
Результаты в
$ apt-cache policy gcc-7
gcc-7:
Installed: 7.2.0-1ubuntu1~16.04
Candidate: 7.2.0-1ubuntu1~16.04
Version table:
*** 7.2.0-1ubuntu1~16.04 500
500 http://ppa.launchpad.net/ubuntu-toolchain-r/test/ubuntu xenial/main amd64 Packages
100 /var/lib/dpkg/status
$ gcc-7 --version
gcc-7 (Ubuntu 7.2.0-1ubuntu1~16.04) 7.2.0
Copyright (C) 2017 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
, но
$ gcc --version
gcc (Ubuntu 5.4.1-2ubuntu1~16.04) 5.4.1 20160904
Copyright (C) 2015 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
Установка gcc-7 из toolchain-r PPA не должна влиять на установку по умолчанию gcc - она установит /usr/bin/gcc-7 и все поддерживающие файлы, но не будет символически связывать /usr/bin/gcc с ней.
Например, данный
$ gcc --version
gcc (Ubuntu 5.4.1-2ubuntu1~16.04) 5.4.1 20160904
Copyright (C) 2015 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
$ gcc-7 --version
No command 'gcc-7' found, did you mean:
Command 'gcc-6' from package 'gccgo-6' (main)
Command 'gcc-5' from package 'gcc-5' (main)
Command 'gcc-5' from package 'hardening-wrapper' (universe)
gcc-7: command not found
Тогда
$ apt-cache policy gcc-7
gcc-7:
Installed: (none)
Candidate: 7.2.0-1ubuntu1~16.04
Version table:
7.2.0-1ubuntu1~16.04 500
500 http://ppa.launchpad.net/ubuntu-toolchain-r/test/ubuntu xenial/main amd64 Packages
$ sudo apt install gcc-7
Результаты в
$ apt-cache policy gcc-7
gcc-7:
Installed: 7.2.0-1ubuntu1~16.04
Candidate: 7.2.0-1ubuntu1~16.04
Version table:
*** 7.2.0-1ubuntu1~16.04 500
500 http://ppa.launchpad.net/ubuntu-toolchain-r/test/ubuntu xenial/main amd64 Packages
100 /var/lib/dpkg/status
$ gcc-7 --version
gcc-7 (Ubuntu 7.2.0-1ubuntu1~16.04) 7.2.0
Copyright (C) 2017 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
, но
$ gcc --version
gcc (Ubuntu 5.4.1-2ubuntu1~16.04) 5.4.1 20160904
Copyright (C) 2015 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.