24

How can I install clang on Ubuntu 18.04 LTS Bionic?

valiano
  • 1,985
Bluetake
  • 269

6 Answers6

21

clang-6.0 is (at least currently) the default version of clang on 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

So, you just enable the universe repository and then install clang - either from the software store or from the command line using

sudo apt update
sudo apt install clang
steeldriver
  • 136,215
  • 21
  • 243
  • 336
  • Reading package lists... Done Building dependency tree
    Reading state information... Done Some packages could not be installed. This may mean that you have requested an impossible situation or if you are using the unstable distribution that some required packages have not yet been created or been moved out of Incoming. The following information may help to resolve the situation: The following packages have unmet dependencies: clang : Depends: clang-6.0 (>= 6.0~) but it is not going to be installed E: Unable to correct problems, you have held broken packages.
    – Bluetake Jul 23 '18 at 02:33
  • How can i fix this problem? – Bluetake Jul 23 '18 at 02:33
  • 1
    @steeldriver using the it I am getting the following error clang : Depends: clang-6.0 (>= 6.0~) but it is not going to be installed E: Unable to correct problems, you have held broken packages. How to fix it ? – Nithin Varghese Aug 01 '18 at 09:10
  • @NithinVarghese that's a rather generic error - there are some suggested fixes in this previous question Unable to correct problems, you have held broken packages among others – steeldriver Aug 01 '18 at 15:55
5

Adding to @steeldriver's answer, clang is a dependency package providing the default clang version, which is 6.0 in Bionic.

You may have better luck installing the clang-6.0 package directly:

sudo apt-get update
sudo apt-get install clang-6.0
valiano
  • 1,985
  • 1
    Nope there was no lucking in doing so. – Nithin Varghese Aug 06 '18 at 18:26
  • @NithinVarghese You might need to ask your own question then showing the errors that you are getting. I have a 18.04 LTS installation and I just barely installed it this way and it worked fine. Without telling us errors, it is nearly next to impossible for us to guess what problems you are having during the installation. – Terrance Aug 06 '18 at 19:39
4

You can install clang-6.0 on Ubuntu 18.04 using official LLVM repository.

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
KK Patel
  • 19,083
3

You might be missing some necessary channels from sources.list.

Step 1: Backup your repositories and remove repository lists other than sources.list.

Step 2: Do sudo gedit /etc/apt/sources.list and make it look like this:

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

Save and exit.

Step 3: Update your repository:

sudo apt update

Step 4: Install clang-6.0:

sudo apt install clang-6.0
Olimjon
  • 7,292
0

You can do as users above shared

sudo apt-get install clang-6.0

just that i want to pay your attention to this interesting document : LLVM Debian/Ubuntu nightly packages

to get a complete vision how to install nightly packages.

0

Actualize by latest versions of the compiler:

sudo apt-get update
# sudo apt-get install clang-9
sudo apt-get install clang-10
vladimir
  • 103
  • 4