1.【文】鲲鹏916-ARM64架构源码gcc编译完整记录
2.GCC 源码编译安装
3.ubuntu安装gcc编译器的源码教程
4.源码安装升级gcc
5.Linux环境源码安装GCC/CMAKE
6.Linux驱动开发笔记(二):ubuntu系统从源码编译安装gcc7.3.0编译器
【文】鲲鹏916-ARM64架构源码gcc编译完整记录
以下是关于ARM架构源码gcc编译的详细步骤记录: 首先,确保已经准备就绪,源码如果cmake未安装,源码需要进行安装。源码检查cmake版本以确认其是源码否满足需求。 安装必要的源码linux pthread 源码依赖包,如isl、源码gmp、源码mpc、源码mpfr等,源码检查它们是源码否已成功安装。 针对gcc版本过低的源码问题,需下载并更新到7.3版本。源码下载并解压gcc7.3的源码安装包。 在gcc-7.3.0目录下,源码确认已下载和安装了所有依赖包。 利用多核CPU的优势,通过“-j”参数加速编译过程。原先是按照官方文档使用make -j,但速度缓慢,后来调整为make -j以提升效率。 依次执行编译目录创建、gcc编译、安装以及确认“libstdc++.so”软连接在正确的目录(/usr/lib)。 编译完成后,通过查看gcc版本来确认安装是否成功。 以上就是完整的gcc编译安装流程。如果您觉得这些信息对您有所帮助,欢迎分享和关注我们的更新。更多技术内容敬请期待,感谢您的niushop官网源码支持!GCC 源码编译安装
前言
本文主要介绍如何在特定条件下,通过源码编译安装GCC(GNU Compiler Collection)4.8.5版本。在Linux环境下,特别是遇到较老工程代码和低版本GCC适配问题时,网络仓库不可用,可通过下载源码进行本地编译安装。文章总结了该过程的步骤,以期帮助读者解决类似需求。
Linux系统版本:SUSE Linux Enterprise Server SP5 (aarch) - Kernel \r (\l)
GCC版本:gcc-4.8.5
步骤如下:
1,源码下载
直接在Linux终端执行:wget ftp.gnu.org/gnu/gcc/gcc...
或手动下载:ftp://gcc.gnu.org/pub/gcc/infrastructure
选取对应的gcc版本下载。
2,解压并进入目录
解压下载的tar包:tar -jxvf gcc-4.8.5.tar.bz2
进入解压后的目录:cd gcc-4.8.5
3,配置依赖库
联网情况下:cd gcc-4.8.5/
./contrib/download_prerequisites
无法联网时,手动下载依赖库(如mpfr、gmp、mpc)并上传到指定目录,然后分别解压、重命名并链接。
4,创建编译存放目录
在gcc-4.8.5目录下执行:mkdir gcc-build-4.8.5
5,生成Makefile文件
cd gcc-build-4.8.5
../configure -enable-checking=release -enable-languages=c,c++ -disable-multilib
推荐配置时,根据环境调整参数,如X_环境下的`--disable-libsanitizer`。
6,执行编译
make(可能耗时较长)
解决可能出现的问题,如libc_name_p和struct ucontext uc,通过参考gcc.gnu.org/git或直接覆盖相关文件。
7,安装GCC
在gcc-build-4.8.5目录下执行:make install
安装完成后,可直接解压并安装。易语言彩源码
8,配置环境变量
执行命令:export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/root/gcc-4.8.5/mpc:/root/gcc-4.8.5/gmp:/root/gcc-4.8.5/mpfr
确保路径一致,执行 source /etc/profile 使环境变量生效。
9,检查安装情况
通过`gcc -v`和`g++ -v`验证GCC版本。
,库升级
遇到动态库未找到问题时,需升级gcc库,通过查找和替换最新库文件解决。
,卸载系统自带的gcc
以root用户执行:rpm -qa |grep gcc | xargs rpm -e --nodeps
,修改ld.so.conf文件
编辑文件:vi /etc/ld.so.conf,在最下面添加实际路径,如/usr/local/lib和/usr/local/lib。
执行 ldconfig /etc/ld.so.conf。
,修改GCC链接
确保GCC及其相关工具的正确链接,使用`ll /usr/bin/gcc*`和`ll /usr/bin/g++*`检查链接结果。
至此,GCC源码编译安装流程完成,可满足特定环境下的GCC版本需求。
ubuntu安装gcc编译器的教程
Ubuntu安装GCC编译器指的是在Ubuntu操作系统中安装GCC(GNU Compiler Collection)编译器的过程。GCC是一个开源的编译器集合,它支持多种编程语言,包括C、C++、Objective-C、Fortran、Ada等。
通过安装GCC编译器,任务悬赏源码app用户可以在Ubuntu系统上编译和构建C、C++等程序。编译器是将高级程序代码(如C、C++代码)转换为计算机能够理解的低级机器代码的工具。在编程中,编译器起着非常重要的作用,它将源代码转换成可执行文件,以便计算机可以运行和执行程序。在Ubuntu上安装GCC编译器(GNU Compiler Collection)非常简单,可以按照以下教程安装。
1、打开终端:在Ubuntu中,可以使用Ctrl+Alt+T组合键打开终端,或者从”应用程序”菜单中找到”终端”
2、更新软件包列表:在终端中执行以下命令,更新系统的软件包列表,以确保安装的软件是最新的。
sudo apt update
源码安装升级gcc
在Debian 环境中,对于GCC的安装和升级,你需要遵循以下步骤:
首先,确保你的系统拥有编译GCC所需的必要依赖。在遇到编译错误时,根据错误提示逐一安装缺失的软件,通常情况下这一步骤不会遇到问题。
其次,前往GCC的官方网站或者可靠的源码仓库下载最新的GCC源码包。这一步是为了获取最新版本的GCC,以获取更好的性能和功能。
接着,为了方便后续的源码后台那里找使用,你需要编辑你的~/.bashrc文件。在该文件中,添加一些必要的环境变量和路径设置,这将确保GCC能够在你的系统中正确识别和调用。
最后,执行相关命令以安装或更新GCC。这通常包括解压源码包、配置编译选项、编译和安装等一系列操作。按照文档指示进行,确保每个步骤都正确无误。
Linux环境源码安装GCC/CMAKE
为了在Linux环境下源码安装GCC和CMAKE,我们需要遵循详细的步骤和策略。对于GCC源码,我们可以从GitHub-gcc-mirror/gcc获取4.4.6版本。接下来,进入下载后的GCC源代码目录。
在配置和编译GCC时,首先应该明确指定安装的目录,避免冲突。可能在配置脚本时遇到错误,这时候需要解决依赖项问题。分别安装MPFR、MPC和任何其他必要的依赖库。对于GCC8.3及以上版本,内部集成脚本能够简便地获取这些依赖库。
安装库路径后,再次执行配置文件,加入库路径参数,确保安装的每个步骤顺利进行。配置完成后,整个GCC安装过程即宣告成功。
为了测试GCC是否正确安装,遵循指导进行验证。
CMake的安装同样关键,可以通过直接指定需要的GCC版本来简化安装流程。在CMake命令行参数中指定GCC路径也是可行的。
在运行GCC4.4.6编译的程序时,可能存在系统路径问题,这是因为我们选择的是不替换安装方式。因此,需要额外操作,确保所需的库被正确添加到路径中。
遇到GCC多版本引起的ABI兼容问题时,如果编译链接过程中遇到“undefined reference to"“std::__cxx ***””错误,这提示可能是C++ ABI问题。处理方法是,针对GCC5.1之前版本发布的libstdc++中新增的ABI,通过添加定义-D_GLIBCXX_USE_CXX_ABI=0来解决该问题。
对于GDB版本的问题,特别在GCC.1的使用中,要求C++的编译器,导致了旧版本GDB启动出现Segment Fault。解决办法是升级GDB版本。
附录中提供了一些额外资源,例如Mingw下载,适用于位和位Windows的最新版x_-win-sjlj;CMake下载链接以及GCC的GitHub地址等。遵循这些资源和提示,能够帮助用户顺畅进行Linux环境下的GCC和CMAKE的源码安装与配置。
Linux驱动开发笔记(二):ubuntu系统从源码编译安装gcc7.3.0编译器
在编译Ubuntu驱动时,由于使用的gcc版本为7.3.0,通过apt管理和下载都无法直接安装,因此需要从源码编译安装gcc7.3.0编译器。
GCC,作为GNU项目的重要组成部分,是一款遵循GPL许可证的自由软件。起初,它为GNU操作系统设计,如今已广泛应用于Linux、BSD、MacOS X等系统,甚至在Windows上也有应用。GCC支持多种处理器架构,如x、ARM和MIPS,并且支持多种编程语言,如C、C++、Fortran、Pascal等。
要从源码安装gcc7.3.0,首先需要下载源码包。下载地址为:mirrors.tuna.tsinghua.edu.cn...
安装过程分为几个步骤。首先,确保网络连接,因为需要依赖库,如libgmp-dev、libmpfr-dev和libmpc-dev。安装完这些后,不要卸载已有的gcc,因为可能会遇到问题。
下载并解压gcc-7.3.0.tar.gz,然后执行./configure。注意增加c和c++的配置,避免编译结果只有g++。配置完成后,进行make -j4编译,可能会遇到错误,如"fatal error: asm/errno.h: No such file or directory",这时需要修改头文件路径。
继续编译,可能会遇到"sanitizer_syscall_generic.inc::: error: '__NR_open' was not declared in this scope",解决方法是修正头文件链接。最后,编译成功后执行sudo make install,并确认安装版本。
在安装过程中,有两点需要注意:一是本地需要g++,否则编译时会出错,解决方法是安装gcc;二是安装后可能只有g++,没有gcc,此时需在./configure阶段添加c和c++的配置。
源码编译 gcc
最近对于C++协程的研究促使我决定更新gcc到最新稳定版本.1.0。首先,从gcc官网下载了gcc-.1.0.tar.xz的安装包,通过`tar xf gcc-.1.0.tar.xz`命令解压。
接下来,进入解压后的目录,执行`./contrib/download_prerequisites`脚本来自动下载所需的依赖项,确保编译环境准备就绪。
然后,开始编译过程,通过`./configure`命令,并设置编译选项,如`--prefix=/home/lingzhang/gcc`指定安装路径,`--enable-bootstrap`启用自举编译,`--enable-languages=c,c++`启用C和C++语言支持,`--enable-threads=posix`选择POSIX线程模型,`--enable-checking=release`开启检查以确保质量,`--disable-multilib`禁用多库支持,`--with-system-zlib`使用系统级的zlib库。执行`make`命令开始编译,接着`make install`进行安装。
为了方便后续使用,创建了一个名为gcc.env的环境变量文件,内容为设置环境变量。通过`source gcc.env`来激活这个环境变量,确保gcc.1的正确使用。
最后,验证安装的gcc版本,通过`gcc -v`命令,显示的版本信息确认为.1,至此,gcc .1.0的编译和环境设置已完成。
Ubuntu. 下手动编译安装gcc-6.3.0安装,多版本GCC 共存和切换
在Ubuntu .环境下,为编译Matlab的mex函数,需要特定版本的gcc-6.3.0。尽管sudo apt-get默认安装的是6.5.0,而较新版本的如gcc-8, gcc-9, gcc-可以通过apt-get安装。以下是手动编译和安装gcc-6.3.0,以及处理多版本GCC共存和切换的步骤:
1. 首先,你需要从ftp.gnu.org/gnu/gcc/下载gcc-6.3.0的源代码。
2. 安装时,确保使用自定义路径,如--with-gmp=$HOME/local/ --with-mpfr=$HOME/local/ --with-cgal=$HOME/local/,这与你的安装目录相关。
3. 配置和编译过程可能耗时且可能出现错误,例如configure期间可能遇到`CC' has changed since the previous run`的错误,解决方法是运行`make distclean`或`rm ./config.cache`重置。
4. 在遇到`error: dereferencing pointer to incomplete type 'struct ucontext'`错误时,这是由于struct定义不完整引起的。需要修正相关变量uc_的代码。
5. 另一个问题是关于`sanitizer_platform_limits_posix.cc`中的sys/ustat.h文件问题,需要在适当位置插入预计算的Linux结构ustat大小。
6. 在sanitizer_common/sanitizer_internal_defs.h文件中,可能会遇到数组大小负数的错误。在configure时,可以考虑注释掉--disable-libsanitizer以解决这个问题,特别是如果你不使用golang。
总之,手动编译gcc-6.3.0在Ubuntu .上需要细心处理各种编译时的问题,并且需要根据错误信息进行相应的调整,同时要处理不同GCC版本的共存和切换。