【踩坑记】Ubuntu 20.04.6 LTS下编译安装gcc 4.4.0

简介: 【踩坑记】Ubuntu 20.04.6 LTS下编译安装gcc 4.4.0

目录
缺少依赖包
strsignal的类型冲突
参考
floor_log2、exact_log2函数重复定义
没有32位的库
x86_fallback_frame_state函数的info域
找不到ctri.o
找不到gmp.h
没有zip
编译libgcj.so时没有cxa_call_unexpected
Bootstrap comparison failure
warning: C++ style comments are not allowed in ISO C90
九九归真
缺少依赖包

安装依赖包gmp、mpfr

strsignal的类型冲突

export C_INCLUDE_PATH=/usr/include/x86_64-linux-gnu

参考
https://stackoverflow.com/questions/12255058/g-4-7-1-compilation-error-conflicting-types-for-strsignal

floor_log2、exact_log2函数重复定义

直接注释掉

没有32位的库

apt-get install gcc-multilib

../configure --prefix=/mao/install/gcc/ --disable-libgcj --disable-multilib --enable-languages=c,c++

x86_fallback_frame_state函数的info域

struct siginfo info; 改为 siginfo_t info;
struct ucontext uc 改为 struct ucontext_t uc

找不到ctri.o

export LIBRARY_PATH=/usr/lib/x86_64-linux-gnu
如果LIBRARY_PATH有冒号

找不到gmp.h

找到gmp.h,拷贝到对应目录下

没有zip

安装zip

编译libgcj.so时没有cxa_call_unexpected

不要编译gcj
../configure --prefix=/mao/install/gcc/ --disable-libgcj --disable-multilib --enable-languages=c,c++

Bootstrap comparison failure

删掉构建目录,重新开始编译
{spa.wypdesign.com]
{spa.tech-aru.com]
{spa.jiacaizhaipei.com]
{spa.tsjzgb.com]
{spa.neihanpuzi.com]
{spa.xborderdesk.com]

warning: C++ style comments are not allowed in ISO C90
ISO C90 标准仅支持 C 风格的注释,也就是 / ... /,而不允许 // 这种 C++ 风格的单行注释。

在编译时,使用 -std=c99(或者 -std=gnu99,后者包含 GNU 扩展)来启用 C99 标准支持,从而允许使用 // 注释:
./configure CFLAGS='-std=c99' CXXFLAGS='-std=c99'

九九归真

相关文章
|
6天前
|
Ubuntu 开发工具 C++
Ubuntu 22.04上编译安装c++ libconfig library
通过本文的介绍,我们详细讲解了如何在Ubuntu 22.04上编译和安装libconfig库,并通过编写和运行一个简单的测试程序来验证安装是否成功。libconfig库的安装过程相对简单,主要包括环境准备、下载源码、编译和安装几个步骤。希望本文对您在项目中使用libconfig库有所帮助。
41 14
|
1月前
|
Ubuntu 网络协议 关系型数据库
超聚变服务器2288H V6使用 iBMC 安装 Ubuntu Server 24.04 LTS及后续系统配置
【11月更文挑战第15天】本文档详细介绍了如何使用iBMC在超聚变服务器2288H V6上安装Ubuntu Server 24.04 LTS,包括连接iBMC管理口、登录iBMC管理界面、配置RAID、安装系统以及后续系统配置等步骤。
|
1月前
|
Ubuntu Linux 网络安全
Ubuntu 22.04 LTS有哪些新特性
Ubuntu 22.04 LTS有哪些新特性
|
2月前
|
Ubuntu Linux C语言
Ubuntu安装笔记(二):ubuntu18.04编译安装opencv 3.4.0 opencv_contrib3.4.0
本文介绍了在Ubuntu 18.04系统上编译安装OpenCV 3.4.0及其扩展包opencv_contrib 3.4.0的详细步骤,包括下载源码、安装依赖、配置CMake和编译安装,以及常见问题的解决方法。
233 1
Ubuntu安装笔记(二):ubuntu18.04编译安装opencv 3.4.0 opencv_contrib3.4.0
|
2月前
|
缓存 NoSQL Ubuntu
大数据-39 Redis 高并发分布式缓存 Ubuntu源码编译安装 云服务器 启动并测试 redis-server redis-cli
大数据-39 Redis 高并发分布式缓存 Ubuntu源码编译安装 云服务器 启动并测试 redis-server redis-cli
61 3
|
4月前
|
Ubuntu 开发者 Python
|
3月前
|
存储 Kubernetes Ubuntu
Ubuntu 22.04LTS版本二进制部署K8S 1.30+版本
这篇文章详细介绍了在Ubuntu 22.04 LTS系统上使用VMware Fusion虚拟化软件部署Kubernetes 1.30+版本的完整过程,包括环境准备、安装containerd、配置etcd、生成证书、部署高可用组件、启动Kubernetes核心组件以及网络插件的部署和故障排查。
225 4
|
4月前
|
Ubuntu 安全 Linux
Windows——安装Ubuntu 18.04 LTS
Windows——安装Ubuntu 18.04 LTS
87 1
Windows——安装Ubuntu 18.04 LTS
|
3月前
|
Ubuntu Oracle 关系型数据库
Oracle VM VirtualBox之Ubuntu 22.04LTS双网卡网络模式配置
这篇文章是关于如何在Oracle VM VirtualBox中配置Ubuntu 22.04LTS虚拟机双网卡网络模式的详细指南,包括VirtualBox网络概述、双网卡网络模式的配置步骤以及Ubuntu系统网络配置。
362 3
|
3月前
|
Ubuntu 开发工具 虚拟化
MacOS系统基于VMware Fusion配置Ubuntu 22.04LTS环境
这篇文章介绍了如何在MacOS系统上使用VMware Fusion虚拟化软件配置Ubuntu 22.04 LTS环境,包括自定义VMware Fusion网段、Ubuntu系统安装、配置root用户登录、设置静态IP地址、修改默认网卡名称、配置PS1变量、设置登录界面为字符界面、修改软件源和进行vim基础优化等步骤。
423 2