Установка clang 6.0 на Ubuntu 18.04 LTS Bionic


17

Как я могу установить Clang на Ubuntu 18.04 LTS Bionic?


Добавьте результатыapt-cache policy clang clang-6.0 clang-5.0
doug

2
Пожалуйста, опубликуйте результаты sudo apt install clang-6.0...
Olimjon

sudo apt install clang-6, Вы также можете сделать sudo apt install clang-7иsudo apt install clang-8
Борис

Ответы:


16

clang-6.0является (по крайней мере в настоящее время) версией по умолчанию clangна Bionic:

$ apt-cache depends clang
clang
  Depends: clang-6.0
  Breaks: <clang-3.2>
  Breaks: <clang-3.3>
  Breaks: <clang-3.4>
  Breaks: <clang-3.5>
  Replaces: clang
  Replaces: <clang-3.2>
  Replaces: <clang-3.3>
  Replaces: <clang-3.4>
  Replaces: <clang-3.5>


$ apt-cache policy clang-6.0
clang-6.0:
  Installed: 1:6.0-1ubuntu2
  Candidate: 1:6.0-1ubuntu2
  Version table:
 *** 1:6.0-1ubuntu2 500
        500 http://ca.archive.ubuntu.com/ubuntu bionic/universe amd64 Packages
        100 /var/lib/dpkg/status

Итак, вы просто включаете репозиторий юниверсов и затем устанавливаете их clang- либо из магазина программного обеспечения, либо из командной строки, используя

sudo apt update
sudo apt install clang

Чтение списков пакетов ... Готово Построение дерева зависимостей Чтение информации о состоянии ... Готово Некоторые пакеты не могут быть установлены. Это может означать, что вы запросили невозможную ситуацию или используете нестабильный дистрибутив, что некоторые необходимые пакеты еще не созданы или не были удалены из Incoming. Следующая информация может помочь разрешить ситуацию: Следующие пакеты имеют неудовлетворенные зависимости: clang: Зависит: clang-6.0 (> = 6.0 ~), но он не будет установлен E: Невозможно исправить проблемы, у вас поврежденные пакеты ,
Bluetake

Как я могу решить эту проблему?
Bluetake

1
@steeldriver с помощью it Я получаю следующую ошибку clang: Зависит от: clang-6.0 (> = 6.0 ~), но она не будет установлена ​​E: Невозможно исправить проблемы, у вас есть поврежденные пакеты. Как это исправить?
Nithin Varghese

@NithinVarghese, это довольно общая ошибка - в этом предыдущем вопросе есть несколько предложенных исправлений. Не удалось исправить проблемы, среди прочих были поврежденные пакеты
steeldriver

2

В дополнение к ответу @ steeldriver clangдобавлен пакет зависимостей, предоставляющий версию clang по умолчанию, которая в Bionic составляет 6.0.

Возможно, вам повезет, установив clang-6.0пакет напрямую:

sudo apt-get update
sudo apt-get install clang-6.0

1
Нет, не было никакого повода для этого.
Нитин Варгезе

@NithinVarghese Возможно, вам придется задать свой вопрос и показать ошибки, которые вы получаете. У меня есть установка 18.04 LTS, и я едва установил ее, и она работала нормально. Не сообщая нам об ошибках, мы почти не можем угадать, какие проблемы у вас возникают во время установки.
Терренс

2

Вы можете установить clang-6.0на Ubuntu 18.04, используя официальный репозиторий LLVM.

wget -O - https://apt.llvm.org/llvm-snapshot.gpg.key | sudo apt-key add -

sudo apt-add-repository "deb http://apt.llvm.org/bionic/ llvm-toolchain-bionic-6.0 main"

sudo apt update && sudo apt install clang-6.0

1
Я устал от этого метода раньше, и он был бесполезен, как и другие. Есть ли у вас какие-либо подсказки, что может быть причиной этого
Nithin Varghese

Я пытался, и это сработало для меня. Можете ли вы отключить другие репо и попробовать еще раз?
Кетан Патель

2

Возможно, вам не хватает некоторых необходимых каналов sources.list.

Шаг 1: Сделайте резервную копию ваших репозиториев и удалите списки репозиториев, кроме sources.list.

Шаг 2: Сделайте так, sudo gedit /etc/apt/sources.listчтобы это выглядело так:

deb http://archive.ubuntu.com/ubuntu bionic main multiverse restricted universe
deb http://archive.ubuntu.com/ubuntu bionic-security main multiverse restricted universe
deb http://archive.ubuntu.com/ubuntu bionic-updates main multiverse restricted universe

Сохранить и выйти.

Шаг 3: Обновите свой репозиторий:

sudo apt update

Шаг 4: Установите clang-6.0:

sudo apt install clang-6.0

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.