centos arm linux gcc?centos-7
大家好,centos arm linux gcc相信很多的网友都不是很明白,包括centos-7也是一样,不过没有关系,接下来就来为大家分享关于centos arm linux gcc和centos-7的一些知识点,大家可以关注收藏,免得下次来找不到哦,下面我们开始吧!
如何编译arm linux的go
Golang也就是Go语言,现在已经发行到1.4.1版本了,语言特性优越性和背后Google强大靠山什么的就不多说了。Golang的官方提供了多个平台上的二进制安装包,遗憾的是并非没有发布ARM平台的二进制安装包。ARM平台没办法直接从官网下载二进制安装包来安装,好在Golang是支持多平台并且开源的语言,因此可以通过直接在ARM平台上编译源代码来安装。整个过程主要包括编译工具配置、获取Golang源代码、设置Golang编译环境变量、编译、配置Golang行环境变量等步骤。
注:本文选用树莓派做测试,因为树莓派是基于ARM平台的。
1、编译工具配置
据说下个版本的golang编译工具要使用golang自己来写,但目前还是使用C编译工具的。因此,首先要配置好C编译工具:
1.1在Ubuntu或Debian平台上可以使用sudo apt-get install gcc libc6-dev命令安装,树莓派的RaspBian系统是基于Debian修改的,所以可以使用这种方法安装。
1.2在RedHat或CentOS 6平台上可以使用sudo yum install gcc libc-devel命令安装。
安装完成后可以输入 gcc--version命令验证是否成功安装。
2、获取golang源代码
2.1直接从官网下载源代码压缩包。
golang官网提供golang的源代码压缩包,可以直接下载,最新的1.4.1版本源代码链接:
2.2使用git工具获取。
golang使用git版本管理工具,也可以使用git获取golang源代码。推荐使用这个方法,因为以后可以随时获取最新的golang源代码。
2.2.1首先确认ARM平台上已经安装了git工具,可以使用git--version命令确认。一般linux平台都安装了git,没有的话可以自行安装,不同平台的安装方法可以参考:
2.2.2克隆远程golang的git仓库到本地
在终端cd到你想要安装golang的目录,确保该目录下没有名为go的目录。然后以下命令获取代码仓库:
git clone
大陆地区可能会获取失败,在不翻墙的情况下我试了几次都没成功,原因大家都懂的。好在google已经将golang也托管到github上面,所以也可以通过下面命令获取:
git clone
视网络情况,下载可能需要不少时间。我2M的带宽花了将近两个小时才下载完,虽然整个项目不过几十兆==
下载完成后,可以看到目录下多了一个go目录,里面即为golang的源代码,在终端上执行cd go命令进入该目录。
执行下面命令检出go1.4.1版本的源代码,因为现在已经有新的代码提交上去了,最新的代码可能不是最稳定的:
git checkout go1.4.1
至此,最新1.4.1发行版的源代码获取完毕
3、设置golang的编译环境变量
主要有GOROOT、GOOS、GOARCH、GOARM四个环境变量需要设置,先解释四个环境变量的意义。
3.1 GOROOT
主要代表golang树结构目录的路径,也就是上面git检出的go目录。一般可以不用设置这个环境变量,因为编译的时候默认会以go目录下src子目录中的all.bash脚本运行时的父目录作为GOROOT的值。为了保险起见,可以直接设置为go目录的路径。
3.2 GOOS和GOARCH
分别代表编译的目标系统和平台,可选值如下:
GOOS GOARCH
darwin 386
darwin amd64
dragonfly 386
dragonfly amd64
freebsd 386
freebsd amd64
freebsd arm
linux 386
linux amd64
linux arm
netbsd 386
netbsd amd64
netbsd arm
openbsd 386
openbsd amd64
plan9 386
plan9 amd64
solaris amd64
windows 386
windows amd64
需要注意的是这两个值代表的是目标系统和平台,而不是编译源代码的系统和平台。树莓派的RaspBian是linux系统,所以这些GOOS设置为linux,GOARCH设置为arm。
3.3 GOARM
表示使用的浮点运算协处理器版本号,只对arm平台有用,可选值有5,6,7。如果是在目标平台上编译源代码,这个值可以不设置,它会自动判断需要使用哪一个版本。
总结下来,在树莓派上设置golang的编译环境变量,可编辑$HOME/.bashrc文件,在末尾添加下面内容:
export GOROOT=你的go目录路径
export GOOS=linux
export GOARCH=arm
编辑完后保存,执行source~/.bashrc命令让修改生效。
4、编译源代码
环境变量配置完成自后就可以开始编译源代码。在go目录下的src子目录中,主要有all.bash和make.bash两个脚本(另外还有两个all.bat和make.bat脚本适用于window平台)。编译实际上就是执行其中一个脚本,两者的区别在于all.bash在编译完成后还会执行一些测试套件。如果希望只编译不测试,可以运行make.bash脚本。使用cd命令进入go下src目录,执行./all.bash或者./make.bash命令即可开始编译。由于硬件情况不同,编译耗费的时间不同。在我的B型树莓派编译过程花费了将近半个小时,编译完成后执行的测试套件又花费了差不多一个小时,总共花费了一个半小时左右。
5、配置golang运行环境变量
编译完成后,go目录下会生成bin目录,里面就是go的运行脚本。为了以后使用方法,可以将这个bin路径添加到PATH环境变量中。同样编辑~/.bashrc文件,因为前面设置过GOROOT环境变量指向go目录了,所以只需要在末尾加上
export PATH=$PATH:$GOROOT/bin
保存后同样执行source~/.bashrc命令让环境变量生效。
至此,golang源代码编译安装成功。执行go version应该就能看到当前golang的版本信息,表示编译安装成功。
Linux Centos7.8.2003系统离线GCC源码编译升级
要进行Linux Centos7.8.2003的GCC离线源码编译升级,首先需要准备一个干净的Centos7.8.2003虚拟机,并可以使用本地镜像源,具体步骤可在相关文章中找到。
在GCC的ftp站点下载所需版本,例如gcc-10.1.0。新安装的机器可能缺少编译依赖,但镜像源内通常包含这些,无需在线下载。
编译依赖库一般包括gcc-c++、autoconf、automake、libtools和m4,但具体可能因机器环境而异。简便的方法是使用yum group install Development Tools,这个组合包含了大部分开发所需的依赖。
离线编译时,先解压gcc源码,然后进入目录,由于是离线,需要手动下载所有依赖,如gmp-6.1.0、isl、mpfr和mpc。确保按依赖顺序编译,例如先gmp-6.1.0,然后mpc-1.0.3。
创建编译目录,设置编译参数后,开始编译过程。可能遇到找不到库的错误,此时需要将库添加到环境变量。编译时间根据机器性能不同,通常十几分钟内完成。
编译成功后,升级GCC的过程是删除或备份原有GCC软链接,然后指向新编译的GCC目录。升级脚本可以简化这一过程,但如有问题,务必及时调整。
linux安装gcc包linux下gcc下载
如何卸载Linux上的GCC?
如果您需要卸载Linux系统上的GCC编译器,可以采取以下步骤:
1.打开终端。
2.使用 `sudo`命令提升权限,执行 `apt-get`或 `yum`命令卸载GCC。例如,对于基于Debian的系统(如Ubuntu),您可以使用:
```sh
sudo apt-get remove gcc
```
对于基于Red Hat的系统(如CentOS),您可以使用:
```sh
sudo yum remove gcc
```
3.根据提示进行确认,GCC将被卸载。
如何在Linux下下载GCC?
在Linux系统上下载GCC编译器,通常需要从GCC的官方网站或者Linux发行版的软件仓库中获取。以下是基于命令行的基本步骤:
1.打开终端。
2.如果您使用的是基于Debian的系统,可以使用 `apt-get`命令安装GCC:
```sh
sudo apt-get update
sudo apt-get install build-essential
```
这将安装GCC以及其它构建工具。
3.如果您使用的是基于Red Hat的系统,可以使用 `yum`命令安装GCC:
```sh
sudo yum groupinstall"Development Tools"
```
这将安装GCC以及其它开发工具。
如何解决在Linux下安装GCC时遇到的错误?
如果在安装GCC时遇到错误,例如提示找不到 `arm-none-linux-gnueabi-gcc`命令,可以按照以下步骤进行解决:
1.确认是否安装了交叉编译工具链。
2.如果未安装,需要先安装相应的交叉编译工具链。
3.如果已安装,确保交叉编译工具链的路径已经添加到环境变量 `PATH`中。
Linux下GCC/G++、Make和CMake有什么区别?
-**GCC/G++**:GCC(GNU Compiler Collection)是一套编程语言编译器,包括C、C++、Fortran、Ada等多种语言的编译器。GCC可以编译源代码并生成机器代码,G++是GCC中的C++编译器部分。
-**Make**:Make是一种工具,用于自动化构建过程。它根据Makefile文件中的规则来确定哪些目标需要编译,然后执行编译。Make是构建过程中不可或缺的工具,常用于编译项目中的多个源文件。
-**CMake**:CMake是一个跨平台的安装(编译)工具,能够使用简单的声明性语句描述所有平台的安装(编译过程)。CMake生成适用于特定平台的Makefile或NMake文件,然后Make或NMake根据这些文件来构建项目。
如何在Linux上安装GCC?
在Linux系统上安装GCC的步骤因发行版不同而异,以下是在CentOS系统上安装GCC的示例步骤:
1.确认是否已安装GCC。在终端输入 `gcc`命令,如果没有安装,会提示找不到命令。
2.挂载GCC安装光盘到指定目录,例如 `/mnt`。
3.切换到挂载后的目录 `/mnt`。
4.进入CentOS目录。
5.使用 `rpm`命令搜索GCC安装包。
6.根据搜索结果,使用 `rpm`命令安装GCC。
7.安装过程中可能会出现依赖关系问题,需要安装相应的依赖包。
8.安装完成后,测试 `gcc`命令是否可用,确认GCC是否安装成功。