Как установить Clang 3.9 в качестве значения по умолчанию в Zesty?

Zesty поставляется с несколькими версиями Clang. Пакет clang зависит как от clang-3.9, так и от clang-4.0. По-видимому, Clang 4 используется по умолчанию:

$ clang --version clang version 4.0.0-1ubuntu1 (tags/RELEASE_400/rc1) Target: x86_64-pc-linux-gnu Thread model: posix InstalledDir: /usr/bin

Однако мне нужна Clang 3.9 для версии по умолчанию. Из-за этого я не могу скомпилировать UnrealEngine:

UnrealBuildTool Exception: ERROR: This version of the Unreal Engine can only be compiled with clang 3.9, 3.8, 3.7, 3.6 and 3.5. clang 4.0.0 may not build it - please use a different version.

Как я могу это сделать?

4
задан 23 April 2017 в 00:43

8 ответов

Этот ответ указал мне в правильном направлении:

sudo update-alternatives --install \
    /usr/bin/clang++ clang++ /usr/lib/llvm-3.9/bin/clang++ 100
sudo update-alternatives --install \
    /usr/bin/clang clang /usr/lib/llvm-3.9/bin/clang 100

После запуска этих двух команд сборка была продолжена.

4
ответ дан 22 May 2018 в 23:19

Этот ответ указал мне в правильном направлении:

sudo update-alternatives --install \ /usr/bin/clang++ clang++ /usr/lib/llvm-3.9/bin/clang++ 100 sudo update-alternatives --install \ /usr/bin/clang clang /usr/lib/llvm-3.9/bin/clang 100

После запуска этих двух команд сборка была продолжена.

4
ответ дан 18 July 2018 в 14:27

Этот ответ указал мне в правильном направлении:

sudo update-alternatives --install \ /usr/bin/clang++ clang++ /usr/lib/llvm-3.9/bin/clang++ 100 sudo update-alternatives --install \ /usr/bin/clang clang /usr/lib/llvm-3.9/bin/clang 100

После запуска этих двух команд сборка была продолжена.

4
ответ дан 24 July 2018 в 20:23

Этот ответ указал мне в правильном направлении:

sudo update-alternatives --install \ /usr/bin/clang++ clang++ /usr/lib/llvm-3.9/bin/clang++ 100 sudo update-alternatives --install \ /usr/bin/clang clang /usr/lib/llvm-3.9/bin/clang 100

После запуска этих двух команд сборка была продолжена.

4
ответ дан 31 July 2018 в 13:16

Чтобы использовать принятый ответ, если у вас несколько версий clang, вам может быть интересно сделать clang++ зависимым от clang, так что все, что вам нужно сделать, это обновить clang до другой версии и версия clang ++ следует примеру.

Вы можете сделать это, используя опцию --slave в update-alternatives. Итак, что-то вроде этого:

sudo update-alternatives --install /usr/bin/clang clang /usr/bin/clang-3.9 100 \
   --slave /usr/bin/clang++ clang++ /usr/bin/clang++-3.9

Вы можете, конечно, сделать это для других версий:

sudo update-alternatives --install /usr/bin/clang clang /usr/bin/clang-4.0 100 \
   --slave /usr/bin/clang++ clang++ /usr/bin/clang++-4.0

sudo update-alternatives --install /usr/bin/clang clang /usr/bin/clang-5.0 100 \
   --slave /usr/bin/clang++ clang++ /usr/bin/clang++-5.0

Чтобы переключать версии, просто введите:

sudo update-alternatives --config clang

Введите выбор, и оба clang и clang++ будут автоматически переключены на одни и те же версии.

То же самое относится к GCC, если у вас также есть несколько версий этого, вы можете используйте этот метод для настройки gcc и g++.

Ошибки:

update-alternatives: ошибка: альтернативный clang ++ не может быть slave clang: это основная альтернатива

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

sudo update-alternatives --remove clang++ /usr/bin/clang++-3.9

Сделайте это для каждой версии clang ++, затем, после удаления всех, попробуйте еще раз.

Источники:

[d12 ] https://codeyarns.com/2015/02/26/how-to-switch-gcc-version-using-update-alternatives/ Как удалить Oracle JDK
1
ответ дан 22 May 2018 в 23:19

Чтобы использовать принятый ответ, если у вас несколько версий clang, вам может быть интересно сделать clang++ зависимым от clang, так что все, что вам нужно сделать, это обновить clang до другой версии и версия clang ++ следует примеру.

Вы можете сделать это, используя опцию --slave в update-alternatives. Итак, что-то вроде этого:

sudo update-alternatives --install /usr/bin/clang clang /usr/bin/clang-3.9 100 \ --slave /usr/bin/clang++ clang++ /usr/bin/clang++-3.9

Вы можете, конечно, сделать это для других версий:

sudo update-alternatives --install /usr/bin/clang clang /usr/bin/clang-4.0 100 \ --slave /usr/bin/clang++ clang++ /usr/bin/clang++-4.0 sudo update-alternatives --install /usr/bin/clang clang /usr/bin/clang-5.0 100 \ --slave /usr/bin/clang++ clang++ /usr/bin/clang++-5.0

Чтобы переключать версии, просто введите:

sudo update-alternatives --config clang

Введите выбор, и оба clang и clang++ будут автоматически переключены на одни и те же версии.

То же самое относится к GCC, если у вас также есть несколько версий этого, вы можете используйте этот метод для настройки gcc и g++.

Ошибки:

update-alternatives: ошибка: альтернативный clang ++ не может быть slave clang: это основная альтернатива

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

sudo update-alternatives --remove clang++ /usr/bin/clang++-3.9

Сделайте это для каждой версии clang ++, затем, после удаления всех, попробуйте еще раз.

Источники:

https://codeyarns.com/2015/02/26/how-to-switch-gcc-version-using-update-alternatives/ Как удалить Oracle JDK
2
ответ дан 18 July 2018 в 14:27

Чтобы использовать принятый ответ, если у вас несколько версий clang, вам может быть интересно сделать clang++ зависимым от clang, так что все, что вам нужно сделать, это обновить clang до другой версии и версия clang ++ следует примеру.

Вы можете сделать это, используя опцию --slave в update-alternatives. Итак, что-то вроде этого:

sudo update-alternatives --install /usr/bin/clang clang /usr/bin/clang-3.9 100 \ --slave /usr/bin/clang++ clang++ /usr/bin/clang++-3.9

Вы можете, конечно, сделать это для других версий:

sudo update-alternatives --install /usr/bin/clang clang /usr/bin/clang-4.0 100 \ --slave /usr/bin/clang++ clang++ /usr/bin/clang++-4.0 sudo update-alternatives --install /usr/bin/clang clang /usr/bin/clang-5.0 100 \ --slave /usr/bin/clang++ clang++ /usr/bin/clang++-5.0

Чтобы переключать версии, просто введите:

sudo update-alternatives --config clang

Введите выбор, и оба clang и clang++ будут автоматически переключены на одни и те же версии.

То же самое относится к GCC, если у вас также есть несколько версий этого, вы можете используйте этот метод для настройки gcc и g++.

Ошибки:

update-alternatives: ошибка: альтернативный clang ++ не может быть slave clang: это основная альтернатива

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

sudo update-alternatives --remove clang++ /usr/bin/clang++-3.9

Сделайте это для каждой версии clang ++, затем, после удаления всех, попробуйте еще раз.

Источники:

https://codeyarns.com/2015/02/26/how-to-switch-gcc-version-using-update-alternatives/ Как удалить Oracle JDK
2
ответ дан 24 July 2018 в 20:23

Чтобы использовать принятый ответ, если у вас несколько версий clang, вам может быть интересно сделать clang++ зависимым от clang, так что все, что вам нужно сделать, это обновить clang до другой версии и версия clang ++ следует примеру.

Вы можете сделать это, используя опцию --slave в update-alternatives. Итак, что-то вроде этого:

sudo update-alternatives --install /usr/bin/clang clang /usr/bin/clang-3.9 100 \ --slave /usr/bin/clang++ clang++ /usr/bin/clang++-3.9

Вы можете, конечно, сделать это для других версий:

sudo update-alternatives --install /usr/bin/clang clang /usr/bin/clang-4.0 100 \ --slave /usr/bin/clang++ clang++ /usr/bin/clang++-4.0 sudo update-alternatives --install /usr/bin/clang clang /usr/bin/clang-5.0 100 \ --slave /usr/bin/clang++ clang++ /usr/bin/clang++-5.0

Чтобы переключать версии, просто введите:

sudo update-alternatives --config clang

Введите выбор, и оба clang и clang++ будут автоматически переключены на одни и те же версии.

То же самое относится к GCC, если у вас также есть несколько версий этого, вы можете используйте этот метод для настройки gcc и g++.

Ошибки:

update-alternatives: ошибка: альтернативный clang ++ не может быть slave clang: это основная альтернатива

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

sudo update-alternatives --remove clang++ /usr/bin/clang++-3.9

Сделайте это для каждой версии clang ++, затем, после удаления всех, попробуйте еще раз.

Источники:

https://codeyarns.com/2015/02/26/how-to-switch-gcc-version-using-update-alternatives/ Как удалить Oracle JDK
2
ответ дан 31 July 2018 в 13:16

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

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