在Linux上安装gcc没有root权限

时间:2010-07-09 11:19:42

标签: c++ linux gcc g++

我可以访问公共图书馆中的计算机,我想尝试一些C ++和其他代码。问题是没有安装g ++,我无法使用包安装它,因为我没有root访问权限。是否有一种“智能”的方式来为主文件夹中的编程创建一个完整的环境?

我安装了gcc(我可以编译C代码)。另外,我有一个一致的主文件夹。我不知道在哪里可以找到预编译的g ++,我发现只有源代码但我不知道如何处理它。我试图让他们安装这个,但它不起作用:)

4 个答案:

答案 0 :(得分:9)

您可以使用--prefix参数运行configure脚本:../gcc-4.5.0/configure --prefix=/home/foo/bar。由于c ++标准库很可能与系统上的标准库不同,因此必须先设置export LD_LIBRARY_PATH=/home/foo/bar/lib才能启动此编译器编译的程序。

答案 1 :(得分:7)

如果您想以本地用户身份安装

GNU GSRC提供了一种简单的方法

链接:http://www.gnu.org/software/gsrc/

配置完成后,只需指定以下命令:

cd gsrc
make -C pkg/gnu/gcc 
make -C pkg/gnu/gcc install

第二步也可以改为加速N核系统:

make -C pkg/gnu/gcc MAKE_ARGS_PARALLEL="-jN"

答案 2 :(得分:2)

很久以前(1992年左右),当我购买没有开发环境的SCO系统时,我经历了类似的事情。引导它到一个完整的开发环境是一个巨大的痛苦,并不容易。在系统上使用库头文件或gcc可以使您的工作变得更加容易。

这很大程度上取决于图书馆对于安装了什么类型的东西是多么令人讨厌。如果那里没有gcc,你的工作会变得有点困难。如果那里没有glibc的头文件,你的工作就更难了。

另外,您是否在系统上获得了一个帐户,因此您有一个从登录到登录一致的主文件夹?

如果那里没有gcc,你需要找到gcc / g ++的预编译二进制文件并将其安装在某处。如果那里没有头文件,你需要找到那些文件的副本并将它们放在系统上。

虽然没有在主文件夹中安装gcc的“标准”方法。所有解决方案都将采用某种方式进行手工操作。

您是否向图书馆员询问他们是否可以更改已安装的内容,因为您想要学习一些编程并且只能访问他们的计算机来执行此操作?这可能是最简单的解决方案。

从您的评论中看来,您确实拥有gcc,如果您可以编译C代码,则您拥有库头文件。所以现在要实际编译自己的g++版本。您可能会找到一种方法来诱导系统上的包管理器在除系统文件夹之外的某个位置安装二进制包。我认为这个解决方案不如编译自己的解决方案那么有趣,我认为可能还有一些微妙的问题,因为安装的软件包可能期望在特定的地方找到东西,而不是在那里找到它们。

要做的第一件事是确保您已下载gcc包的正确来源。找到它的地方是GNU United States mirror page。您想在所选的镜像站点上找到gcc-4.5.0.tar.bz2gcc-4.5.0.tar.gz文件。它可能位于gcc目录和gcc-4.5.0子文件夹中。

下载后,你应该解压缩它。一般来说,你不应该在你解压缩的文件夹中构建gcc。因此,创建另一个兄弟文件夹,您实际上想要在标记为gcc-build的情况下构建它。然后你想要的命令是../gcc-4.5.0/configure --prefix=$HOME/.local --enable-languages='c c++'

gcc确实需要安装其他一些软件包才能自行编译。您可以对这些包使用相同的--prefix行将它们安装在同一位置。 gcc网站有list of pre-requisite packages

$HOME/.local是每个用户安装事物的标准接受位置。

答案 3 :(得分:0)

如果你有fakeroot,你可以用它来设置〜/ some-path作为root来安装包。或者,您可以设置chroot环境来执行相同的操作。

鉴于此,您可以使用dpkg -i package.deb在您的系统上安装gcc软件包。您需要单独下载并安装每个软件包(例如,从debian网站) - 至少binutilsglibclinux-headersgcc

如果您使用的是其他系统,则需要为该系统获取正确的软件包,并使用相应的软件包管理器进行安装。

相关问题