无需 root 权限即可在 Linux 上安装 gcc

2024-11-14 08:29:00
admin
原创
178
摘要:问题描述:我可以在公共图书馆使用计算机,我想尝试一些 C++ 和其他代码。问题是没有安装 g++,我无法使用软件包安装它,因为我没有 root 访问权限。有没有一种“智能”方法可以在主文件夹中创建完整的编程环境?我安装了 gcc(我可以编译 C 代码)。此外,我有一个一致的主文件夹。我不知道在哪里可以找到预编...

问题描述:

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

我安装了 gcc(我可以编译 C 代码)。此外,我有一个一致的主文件夹。我不知道在哪里可以找到预编译的 g++,我只找到了源代码,但我不知道该怎么处理它。我试图让他们安装这个,但没有成功 :)


解决方案 1:

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

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:

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

解决方案 3:

很久以前(大约 1992 年),我购买了一台没有开发环境的 SCO 系统,也经历过类似的事情。将它引导到拥有完整的开发环境是一件非常痛苦的事情,而且一点也不容易。如果系统上有库头文件或 gcc,你的工作就会轻松很多。

这很大程度上取决于库对于安装的东西有多讨厌。如果没有gcc,你的工作就会变得有点困难。如果那里没有 glibc 的头文件,你的工作就会困难得多。

另外,您是否在系统上拥有一个帐户,以便您拥有一个从登录到登录都一致的主文件夹?

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

不过,没有在主文件夹中安装 gcc 的“标准”方法。所有解决方案都会涉及某种手动操作。

您是否问过图书管理员,他们是否可以更改已安装的内容,因为您想学习一点编程知识,但只能使用他们的计算机来学习?这可能是最简单的解决方案。

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

首先要确保你已下载了正确的 gcc 软件包源代码。你可以在GNU 美国镜像页面找到它。你需要在所选的镜像站点上找到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 网站有一个先决条件软件包列表。

$HOME/.local是每个用户安装东西的标准接受地点。

解决方案 4:

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

有了这些,您就可以使用在系统上dpkg -i package.deb安装 gcc 包。您需要单独下载并安装每个包(例如从 debian 网站下载)——至少binutilsglibc和。linux-headers`gcc`

如果您在另一个系统上,您将需要获取该系统的正确软件包并使用相应的包管理器安装它们。

解决方案 5:

如果您需要 gcc 来安装 python 包,可以在安装之前尝试以下操作:

conda install gcc gxx_linux-64
相关推荐
  为什么项目管理通常仍然耗时且低效?您是否还在反复更新电子表格、淹没在便利贴中并参加每周更新会议?这确实是耗费时间和精力。借助软件工具的帮助,您可以一目了然地全面了解您的项目。如今,国内外有足够多优秀的项目管理软件可以帮助您掌控每个项目。什么是项目管理软件?项目管理软件是广泛行业用于项目规划、资源分配和调度的软件。它使项...
项目管理软件   1120  
  IPD(Integrated Product Development,集成产品开发)流程是一种广泛应用于高科技和制造业的产品开发方法论。它通过跨职能团队的紧密协作,将产品开发周期缩短,同时提高产品质量和市场成功率。在IPD流程中,CDCP(Concept Decision Checkpoint,概念决策检查点)是一个关...
IPD培训课程   75  
  研发IPD(集成产品开发)流程作为一种系统化的产品开发方法,已经在许多行业中得到广泛应用。它不仅能够提升产品开发的效率和质量,还能够通过优化流程和资源分配,显著提高客户满意度。客户满意度是企业长期成功的关键因素之一,而IPD流程通过其独特的结构和机制,能够确保产品从概念到市场交付的每个环节都围绕客户需求展开。本文将深入...
IPD流程   66  
  IPD(Integrated Product Development,集成产品开发)流程是一种以跨职能团队协作为核心的产品开发方法,旨在通过优化资源分配、提高沟通效率以及减少返工,从而缩短项目周期并提升产品质量。随着企业对产品上市速度的要求越来越高,IPD流程的应用价值愈发凸显。通过整合产品开发过程中的各个环节,IPD...
IPD项目管理咨询   76  
  跨部门沟通是企业运营中不可或缺的一环,尤其在复杂的产品开发过程中,不同部门之间的协作效率直接影响项目的成败。集成产品开发(IPD)作为一种系统化的项目管理方法,旨在通过优化流程和增强团队协作来提升产品开发的效率和质量。然而,跨部门沟通的复杂性往往成为IPD实施中的一大挑战。部门之间的目标差异、信息不对称以及沟通渠道不畅...
IPD是什么意思   70  
热门文章
项目管理软件有哪些?
云禅道AD
禅道项目管理软件

云端的项目管理软件

尊享禅道项目软件收费版功能

无需维护,随时随地协同办公

内置subversion和git源码管理

每天备份,随时转为私有部署

免费试用