CentOS 7 安装 gcc 4.1.2

0. 参考

在centOS7.2上编译gcc4.1.2

1. 安装了编译所需

yum groupinstall "Development Tools"
yum install wget bzip2 texinfo glibc-devel glibc-static glibc binutils vim

出现collect2: error: ld returned 1 exit status多为编译库没有安装,要安装上glibc-devel。

2.下载源码

wget http://mirrors.ustc.edu.cn/gnu/gcc/gcc-4.1.2/gcc-4.1.2.tar.bz2
tar jxvf gcc-4.1.2.tar.bz2

3. 修改代码

gcc/config/i386/linux-unwind.h

struct rt_sigframe {
int sig;
struct siginfo *pinfo;
void *puc;
struct siginfo info;
} *rt_ = context->cfa;

改为

struct rt_sigframe {
int sig;
siginfo_t *pinfo;
void *puc;
siginfo_t info;
struct ucontext uc;
} *rt_ = context->cfa;

否则会有类似以下的编辑错误

It has a compiling error when you build gcc4.1.2:
../gcc/config/i386/linux-unwind.h:138:17: error: field 'info' has incomplete type "

4. 编译

cd gcc-4.1.2
./configure --prefix=/usr/local/gcc-4.1.2 --enable-languages=c,c++
make
make install

5. 替换现有的gcc

cd /usr/bin/
mv gcc gcc-4.8.5 #4.8.5为现版本
mv g++ g++-4.8.5 #4.8.5为现版本
ln -s /usr/local/gcc-4.1.2/bin/gcc /usr/bin/gcc
ln -s /usr/local/gcc-4.1.2/bin/g++ /usr/bin/g++

检查是gcc g++版本已经替换

gcc -v

Using built-in specs.
Target: x86_64-unknown-linux-gnu
Configured with: ./configure --prefix=/usr/local/gcc-4.1.2 --enable-languages=c,c++
Thread model: posix
gcc version 4.1.2

CentOS 7 安装 gcc 4.1.2的更多相关文章

  1. CentOS离线安装GCC编译环境

    gcc编译环境rpm下载 安装相关的rpm包,具体版本可能随时间变化而变化,可以去以下地址下载: 重庆大学镜像:http://b.mirrors.lanunion.org/CentOS/中国科学技术大 ...

  2. CentOS编译安装GCC 4.9.2成功

    在Linux上编译安装gcc是个寻烦恼的活,对于像我这样习惯于在Windows上面使用二进制安装包的人来说,自已编译安装gcc是个相当大的挑战,今天直接挑战最新版的gcc,是4.9.2版本的,做之前查 ...

  3. [Centos]升级安装GCC

    摘要 在尝试运行asp.net core站点的时候,发现了gcc包版本太低,造成一些错误.没办法只能升级gcc了. 升级 最新包:http://gcc.parentingamerica.com/rel ...

  4. CentOs下安装gcc/g++/gdb

    使用yum安装gcc:yum install gcc即可.使用:which gcc 查看是否安装成功 使用yum安装g++:yum install gcc-c++ 即可.使用:which g++ 查看 ...

  5. CentOS下安装gcc和gdb

    我的操作系统是CentOS6.4,安装源里自带了gcc4.4.0和gdb7.0,版本略老遂删除之重新安装. gcc 1.下载源码包,解压 //下载 wget http: //ftp.gnu.org/g ...

  6. Centos下安装gcc

    虚拟机安装了一个CentOS7,发现没有gcc,通过以下命令安装: yum install gcc yum install gcc-c++

  7. 离线安装gcc_rpm(centos下安装gcc的方法之一)

    .解压gcc_rpm.tar.gz (我的CSDN账号下载过) tar -zxvf gcc_rpm.tar.gz .解压完进入文件夹,执行以下命令,挨个执行(如果报依赖错误,就加上"--fo ...

  8. centos 7 安装gcc g++

    yum install gcc gcc-c++ over. ps:如果系统报yum命令未找到,退出重新登陆试试root.

  9. Linux(Centos)之安装Redis及注意事项

    1.redis简单说明 a.在前面我简单的说过redis封装成共用类的实现,地址如下:http://www.cnblogs.com/hanyinglong/p/Redis.html. b.redis是 ...

随机推荐

  1. C++数据结构之哈希表

    哈希表的定义:哈希表是一种根据关键码去寻找值的数据映射结构,该结构通过把关键码映射的位置去寻找存放值的地方.键可以对应多个值(即哈希冲突),值根据相应的hash公式存入对应的键中. 哈希函数的构造要求 ...

  2. Introduction to pointers in C

    The basic purpose of developing a C programming tutorial for this website – CircuitsToday – is to ma ...

  3. Eclipse MAT和jvisualvm分析内存溢出

    ---------------------------------------------mac os版------------------------------------------------ ...

  4. python中的set集合

    当使用爬虫URL保存时,一般会选择set来保存urls,set是集合,集合中的元素不能重复,其次还有交集,并集等集合的功能, 爬虫每次获取的网页中提取网页中的urls,并保存,这就需要利用urls = ...

  5. react 添加代理 proxy

    react package.json中proxy的配置如下 "proxy": { "/api/rjwl": { "target": &quo ...

  6. OpenStack组件——Neutron网络服务(2)

    1.虚拟机获取 ip 1)用 namspace 隔离 DHCP 服务 Neutron 通过 dnsmasq 提供 DHCP 服务,而 dnsmasq 通过 Linux Network Namespac ...

  7. 【Linux开发】linux设备驱动归纳总结(四):4.单处理器下的竞态和并发

    linux设备驱动归纳总结(四):4.单处理器下的竞态和并发 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx ...

  8. .NET Core和.NET Standard 区别与联系

    每一种托管实现(如Xamarin..NET Core或.NET Framework)都必须遵循.NET Standard实现BCL..NET STANDARD LIBRARY是.net 标准库,.NE ...

  9. [python] 进度条效果

    method 1 如果出现多行显示,添加选项 tqdm(iter,ncols=40) """ ncols : int, optional The width of the ...

  10. [转帖].MegaRAID SAS 9361-8i 开箱 极简测试

    [配件开箱] 谁说raid0软硬没多大区别的...MegaRAID SAS 9361-8i 开箱 极简测试 [复制链接] https://www.chiphell.com/thread-1810952 ...