2011-12-30 202 views
7

我有权访问大学的shell帐户,但没有root权限。该服务器运行Ubuntu 8.04 - 哈代。我希望在下学期的Unix编程课程中使用Clang作为我的C编译器。 GCC已安装,但未安装Clang,大学的IT部门如预期的那样拒绝在系统上安装Clang。以用户身份安装Clang(无root权限)?

是否可以从我的主目录作为用户运行Clang?据推测我需要从源代码编译。我需要它来编译C.我不需要C++或Obj C来完成这门课程。

+2

简单的方法:https://github.com/rsmmr/install-clang – mavam 2013-01-03 08:34:49

回答

8

您可以通过运行./configure --prefix=$HOME(或者您的主目录的某个子目录,如果您愿意的话)或使用设置为家中某个目录的CMAKE_INSTALL_PREFIX的CMake编译和安装来使用autotools安装方法。前者记录为here,只需在配置步骤中添加--prefix标志,并在最后运行“make install”。

安装完成后,将bin子目录的任何前缀用于PATH环境变量中,并且您应该是很好的选择。这实际上是我作为Clang和LLVM开发人员定期使用Clang的方式。

仅供参考,这绝对是我们(Clang开发人员)希望支持的一种安装和使用模式。如果遇到问题,请不要犹豫file bugs或联系我们的email listsIRC channel (#llvm on irc.oftc.net)

+0

谢谢。将尝试在我的家用机器上踢球(我已经在该机器上安装了Clang 2.9)。我尝试在我的大学用户帐户上尝试它,但是由于在系统上超出了我的主目录配额而迅速失败。 – haziz 2012-01-02 15:13:40

+1

躲闪的一个好方法是在机器上的tmp目录中进行构建,并且只安装到您的主目录中。 LLVM和Clang的构建过程会生成大量数据。 此外,请确保你正在做一个版本生成w/o调试符号。否则,二进制文件将*巨大*。使用自动工具,'./configure --enable-optimized'应该可以做到。 – 2012-01-02 19:01:54

+0

谢谢。我在我的家用机器上安装了我的Clang 3.1/LLVM 3.0。整个构建目录的结果目录(包括编译器rt)仍然是500兆,我在大学的限制是150兆,30兆已满。从Debian/Ubuntu下载的软件包仍然较小(假设我可以信任apt-get对扩展大小的估计),所以某些构建可能不需要。不知道哪个。顺便说一句,我的家用机器如何获得Clang手册页,当我卸载Clang 2.9版本时,它们被删除。 – haziz 2012-01-03 10:06:41

3

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

Clang的建设和安装记录在here。我猜它的configure脚本 - 假设它类似于GCC的一个接受参数,如--prefix(你可以设置为$HOME/pub)。您可能还需要构建所需的依赖关系。

2

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

如果尚未安装,还需要构建LLVM,这也是父项目(低级别虚拟机)。这两个都可以在叮当网站上获得。

相关问题