Multiple versions of LLVM installed - Question

Hi!

I see in Synaptic package manager multiple versions of LLVM:

llvm-4.0
llvm-6.0
llvm-8

Can I remove llvm-4.0 + llvm6.0 and only hold llvm-8 installed?

Hi it depends on the packages you have install and need.

I am on 19.04 so my results may differ if you are on LTS

firstly for me

dpkg -l | grep libllvm
ii libllvm8:amd64 1:8-3 amd64 Modular compiler and toolchain technologies, runtime library

apt-cache rdepends libllvm8
libllvm8
Reverse Depends:
mesa-va-drivers
mesa-opencl-icd
creduce
mesa-vulkan-drivers
mesa-vdpau-drivers
libxatracker2
libosmesa6
libgl1-mesa-dri
libd3dadapter9-mesa
sparse
mesa-va-drivers
mesa-opencl-icd
llvm-spirv
llvm-8-runtime
llvm-8-dev
llvm-8
lldb-8
lld-8
libopencl-clang8
libllvmspirvlib8
liblldb-8
liblld-8
libigdfcl1
libigc1
libclang1-8
libclang-common-8-dev
ghdl-llvm
faust
clazy
clang-tools-8
clang-tidy-8
clang-format-8
clang-8
libd3dadapter9-mesa

but for you try code

apt-cache rdepends llvm
llvm
Reverse Depends:
llvm-6.0-runtime
llvm-dev
llvm-6.0-runtime
llvm-6.0-dev
emscripten
diffoscope

I don't get a hit for 4 or 6 but you might need to check dpkg command for exact package name and then try the apt-cache reverse depends command
good luck

dpkg -l | grep libllvm

libllvm4.0:amd64 1:4.0.1-10
libllvm6.0:amd64 1:6.0.1-11
libllvm8:amd64 1:8-3

apt-cache rdepends libllvm8

Reverse Depends:

mesa-va-drivers
mesa-opencl-icd
creduce
mesa-vulkan-drivers
mesa-vdpau-drivers
libxatracker2
libosmesa6
libgl1-mesa-dri
libd3dadapter9-mesa
sparse
mesa-va-drivers
mesa-opencl-icd
llvm-spirv
llvm-8-runtime
llvm-8-dev
llvm-8
lldb-8
lld-8
libopencl-clang8
libllvmspirvlib8
liblldb-8
liblld-8
libigdfcl1
libigc1
libclang1-8
libclang-common-8-dev
ghdl-llvm
faust
clazy
clang-tools-8
clang-tidy-8
clang-format-8
clang-8
libd3dadapter9-mesa
mesa-vulkan-drivers
mesa-vdpau-drivers
libxatracker2
libosmesa6
libgl1-mesa-dri

apt-cache rdepends llvm

Reverse Depends:

llvm-6.0-runtime
llvm-4.0-runtime
llvm-4.0-runtime
llvm-4.0-dev
llvm-dev
llvm-6.0-runtime
llvm-6.0-dev
emscripten
diffoscope

Can I safety remove llvm4+6?

...because I want a lightweight Ubuntu Mate system :wink:

I done this:

Before remove all these packages, I looked into Ubuntu Mate 19.04 Live-DVD with Qemu and installed Synaptic.

Then looked into Synaptic which packages from "LLVM" are installed.

I don't need these packages, so I removed them.

Only "libllvm8" I left installed which is also installed in Synaptic from Ubuntu Mate 19.04 Live DVD.

There are also 32libs removed (purged).

sudo apt purge --remove gcc-multilib g++-multilib g++-7-multilib g++-8-multilib gcc-7-multilib gcc-8-multilib lib32tinfo5 lib32ubsan0 lib32ubsan1 lib32z1 lib32z1-dev libc6-i386 libc6-dev-i386 libc6-dev-x32 libclang-common-6.0-dev libclang-common-8-dev lib32asan4 lib32asan5 lib32atomic1 lib32cilkrts5 lib32gcc-7-dev lib32gcc-8-dev lib32gcc1 lib32gomp1 lib32itm1 lib32mpx2 lib32ncurses5 lib32quadmath0 lib32stdc++-7-dev lib32stdc++-8-dev lib32stdc++6 libllvm4.0 libx32gcc-7-dev libx32gcc-8-dev libx32stdc++-7-dev libx32stdc++-8-dev
sudo apt purge --remove libc6-x32 libclang1-6.0 libobjc-7-dev libobjc-8-dev libomp-8-dev libomp-dev libomp5-8 libx32asan4 libx32asan5 libx32atomic1 libx32cilkrts5 libx32gcc1 libx32gomp1 libx32itm1 libx32quadmath0 libx32stdc++6 libx32ubsan0 libx32ubsan1
sudo apt purge --remove libclang1-8 qdoc-qt5 qttools5-dev qttools5-dev-tools
sudo apt purge --remove libqt5designercomponents5 libqt5positioning5 libqt5qml5 libqt5quick5 libqt5quickwidgets5 libqt5sensors5 libqt5webchannel5 libqt5webkit5 qt5-assistant
sudo apt purge --remove libllvm6.0 llvm-6.0 llvm-6.0-dev llvm-6.0-runtime
sudo apt purge --remove llvm llvm-8 llvm-8-dev llvm-8-runtime llvm-runtime

Rebooted my system, now I am here with no problems.

Cheers! :slight_smile: