好了,我成功地通过安装编译在Ubuntu 13.04卤化物llvm
,clang
和build-essential
。对于您的问题,我的唯一猜测是您安装的PPA的LLVM或clang可能无法正常运行。通过所谓的“建议”归档文件,似乎可以从Ubuntu 12.04中获得LLVM 3.2。您可以尝试清除现有的LLVM并从“建议的”中安装它。我将在下面说明如何执行此操作。既然您提到过您是Ubuntu的新手(在原始问题版本中),我将尽我所能首先解释您已经使用的每个命令的功能。
因此,sudo apt-get install llvm-3.2
尝试安装llvm-3.2
从系统上当前启用的存储库中命名的软件包。在您的情况下,找不到它,因此命令失败。sudo apt-get install llvm
安装了该llvm
软件包,这可能是一个特殊的软件包,它仅使用标准存储库中提供的最新LLVM。在您的情况下,该值为2.9。同样的想法也适用于sudo apt-get install clang
。在您的系统中sudo add-apt-repository ppa:kxstudio-team/builds
添加所谓的个人包裹档案或PPA。这使您可以从另一个存储库或软件源中获取更多软件。有关更多信息,请参见https://help.launchpad.net/Packaging/PPA。最后,sudo apt-get update
告诉Ubuntu从当前可用的存储库中获取有关哪些软件包可用的信息。您可以查看http://www.debian.org/doc/manuals/debian-faq/ch-pkgtools.en.html,以获取有关Debian中软件包管理的更多信息(其中大多数也应适用于Ubuntu,因为Ubuntu是基于Debian的)。
因此,删除精确安装的软件包并安装可用版本的步骤如下:
- 用于
sudo apt-get purge llvm-3.2 clang-3.2
从系统中完全删除LLVM和clang。
- (可选)用于
sudo add-apt-repository --remove ppa:kxstudio-team/builds
从系统中删除PPA。
- 请按照https://wiki.ubuntu.com/Testing/EnableProposed上的说明启用建议的归档文件(在页面顶部),并按照“从-proposed选择性升级”的说明进行操作。第一部分将启用该
llvm-3.2
软件包的实际Ubuntu版本,第二部分将使系统避免尝试将所有内容升级到建议版本。
- 用
sudo apt-get update
拉的什么包和版本,现在得到的信息。
- 使用
sudo apt-get install llvm-3.2/precise-proposed
安装LLVM 3.2,并使用sudo apt-get install clang/precise-proposed
安装锵3.0(我认为这是你应该得到的版本)。
- 新的一步:待办事项
sudo ln -s /usr/bin/llvm-config-3.2 /usr/local/bin/llvm-config
,使系统治疗llvm-config-3.2
(也就是llvm-config
与来llvm-3.2
)作为llvm-config
。更完整地说,这将在Ubuntu将要查找程序的另一个地方创建指向llvm-config-3.2 的符号链接(或符号链接)(更多信息:ln,FHS,PATH)。因此,当您运行“ llvm-config”时,Ubuntu将找到符号链接并运行指向(llvm-config-3.2
)的程序。
- 查看现在是否一切正确编译。
希望那行得通。我没有测试过任何一个,因此使用后果自负,依此类推。但是,我敢肯定,它不会做任何可怕的事情。
编辑:请注意,llvm
和llvm-3.2
是独立的。llvm
取决于llvm-2.9
(请参阅此处),llvm-3.2
而是分开的(请参阅此处的依赖项)
另外,我不确定您是否知道制表符补全;如果您要查找命令但不太了解名称(例如,在这种情况下,它可能表明已llvm-config
被称为llvm-config-3.2
)。