安装Clang作为用户(没有root权限)?

时间:2011-12-30 16:03:44

标签: c linux compiler-construction clang privileges

我可以作为用户访问大学的shell帐户,但没有root权限。服务器正在运行Ubuntu 8.04 - Hardy。我希望在下学期的Unix编程课程中使用Clang作为我的C编译器。 GCC已经安装但没有安装,而大学的IT部门正如预期的那样拒绝在系统上安装Clang。

是否可以以用户身份从我的主目录运行Clang?据推测,我需要从源代码编译。我需要它只编译C.本课程不需要C ++或Obj C.

3 个答案:

答案 0 :(得分:8)

您可以通过运行./configure --prefix=$HOME(或主目录的某个子目录,如果您愿意)或使用CMake构建和安装,并将CMAKE_INSTALL_PREFIX设置为您的某个目录下的某个目录来使用autotools安装方法家。前者记录为here,只是将--prefix标志添加到配置步骤,并在结束时运行'make install'。

安装完成后,将您使用的任何前缀的bin子目录放入PATH环境变量中,您应该可以随意使用。这实际上是我经常使用Clang作为Clang和LLVM开发人员的方式。

作为参考,这绝对是我们(Clang开发人员)想要支持的安装和使用模式。如果您遇到问题,请不要犹豫file bugs或通过email listsIRC channel (#llvm on irc.oftc.net)寻求支持。

答案 1 :(得分:3)

使用免费软件,您始终可以配置它并(如果需要)补丁并根据您的需要进行改进。但是,构建一个编译器(无论是GCC还是Clang)需要大量资源(磁盘空间,几千兆字节,以及RAM和CPU时间),以及您的一些时间和精力。

Clang建筑和安装记录在案here。我猜它的configure脚本 - 假设它与GCC类似 - 接受--prefix之类的参数(您可以设置为$HOME/pub)。您可能还需要构建所需的依赖项。

答案 2 :(得分:2)

当项目似乎使用autotools时,您可以使用命令行参数将安装目标更改为configure程序(例如--prefix=$HOME/clang)。运行./configure --help并阅读INSTALL文本文件将为您提供更多详细信息。

如果尚未安装,您还需要构建LLVM,这也是父项目(低级虚拟机)。两个Installation instructions可以在clang网站上找到。