在没有 root (sudo) 访问权限的 linux web 服务器上安装 c++11 兼容编译器的最简单方法是什么?当前的 gcc 版本是 g++ (GCC) 4.4.7 20120313
。我已经尝试过:
cp: cannot stat `libgcc_s.so.1': 没有这样的文件或目录"
- 从头开始构建现代 clang/llvm。这似乎编译正确,二进制文件可以编译非常简单的程序。但是无法编译使用许多标准库类或例程的程序。
是否有一种万无一失(或傻瓜)的方法来从头构建一个可用的编译器?
或者,更好的是,有没有办法在没有 root 访问权限的情况下安装编译器二进制文件和标准库?
您的一个问题中有 4 个不同的问题:
问题一:哪个版本的GCC完全支持C11。
答案 1:据我所知,完整的 C11 支持随 GCC 4.7.3 或更高版本一起提供。
问题 2:我的 libgcc_s.so.1 或任何 libgcc*.so* 在哪里
答案 2:这是编译器安装问题,依赖于发行版。例如我的位于“/usr/lib/gcc/x86_64-pc-linux-gnu/4.8.3/”。如果您使用的是基于包的发行版 - 寻找包拥有 libgcc。每个发行版都必须提供搜索工具,让您找到哪个包拥有(包含)该库。
问题 3:编译“hello world”是否需要 root 权限?
答案 3:快点 - 不,你不应该或检查你的安装状态。可能有人玩过 chmod 吗?
问题 4:从哪里获得 GCC-4.7.3 或更高版本?
答案 4:在存储库中取决于您的发行版。 Debian 和 Ubuntu 使用 apt-get,基于 RPM 的发行版坚持使用 rpm 和 yum。我可爱的 gentoo 有 eix/emerge 魔法。 Slackware 和 friend 们正在使用自己的 *.TGZ 格式。
没有 root 访问权限的管理任务通常是不可能的,但请检查您是否可以 sudo。我想您使用的是 Ubuntu 的一种风格。如果是这样 - 使用 sudo。