如何在同一台计算机上同时安装多个版本的llvm-libc++(ubuntu)



我已经尝试了显而易见的:

apt-get install -y clang++-7 libc++abi-7-dev libc++-7-dev
apt-get install -y clang++-8 libc++-8-dev libc++abi-8-dev
apt-get install -y clang++-9 libc++-9-dev libc++abi-9-dev
apt-get install -y clang++-10 libc++-10-dev libc++abi-10-dev

clang++的多个版本没有问题。但libc++的每个版本似乎都卸载了以前的版本。

当我尝试时:

apt-get install libc++abi-7-dev libc++-7-dev  libc++abi-8-dev libc++-8-dev libc++-9-dev libc++abi-9-dev libc++-10-dev libc++abi-10-dev

我得到

The following packages have unmet dependencies:
libc++-10-dev : Conflicts: libc++-x.y-dev
libc++-7-dev : Depends: libc++1-7 (= 1:7.0.1-12) but it is not going to be installed
Conflicts: libc++-x.y-dev
libc++-8-dev : Depends: libc++1-8 (= 1:8.0.1-9) but it is not going to be installed
Conflicts: libc++-x.y-dev
libc++-9-dev : Depends: libc++1-9 (= 1:9.0.1-11ubuntu1) but it is not going to be installed
Conflicts: libc++-x.y-dev
libc++abi-10-dev : Conflicts: libc++abi-x.y-dev
libc++abi-7-dev : Depends: libc++abi1-7 (= 1:7.0.1-12) but it is not going to be installed
Conflicts: libc++abi-x.y-dev
libc++abi-8-dev : Depends: libc++abi1-8 (= 1:8.0.1-9) but it is not going to be installed
Conflicts: libc++abi-x.y-dev
libc++abi-9-dev : Depends: libc++abi1-9 (= 1:9.0.1-11ubuntu1) but it is not going to be installed
Conflicts: libc++abi-x.y-dev
E: Unable to correct problems, you have held broken packages.

现在我在ubuntu 20.04上尝试了这个,但我在过去的ubuntu版本上也尝试过类似的操作,但基本上遇到了同样的问题。

使用docker或虚拟机似乎是唯一实用的解决方案。

您可以使用ubuntu:2.04基本映像创建不同版本的构建映像。要构建图像,请创建不同的Dockefiles作为

Dockerfile.vX(用不同的版本号替换X(

FROM ubuntu:20.04
RUN apt-get install -y clang++-X libc++abi-X-dev libc++-X-dev
CMD ['/bin/bash']

然后构建版本X的映像docker build -f Dockerfile.vX -t lewisP/lvvm:X .

并将其作为容器运行docker run -it lewisP/lvvm:X

读取卷以装载要使用已安装包的项目文件。

最新更新