【踩坑记】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'

九九归真

相关文章
|
1月前
|
Ubuntu API 网络虚拟化
ubuntu22 编译安装docker,和docker容器方式安装 deepseek
本脚本适用于Ubuntu 22.04,主要功能包括编译安装Docker和安装DeepSeek模型。首先通过Apt源配置安装Docker,确保网络稳定(建议使用VPN)。接着下载并配置Docker二进制文件,创建Docker用户组并设置守护进程。随后拉取Debian 12镜像,安装系统必备工具,配置Ollama模型管理器,并最终部署和运行DeepSeek模型,提供API接口进行交互测试。
378 15
|
2月前
|
Ubuntu
Ubuntu20.04 编译安装FFmpeg,出错分析以及解决方案
通过上述步骤,可以在 Ubuntu 20.04 上成功编译和安装 FFmpeg。如果遇到问题,可以通过检查依赖包的安装情况以及 `config.log` 文件来解决。掌握这些技巧和解决方案,可以有效地解决编译过程中遇到的各种问题,提高安装成功率。
114 13
|
3月前
|
Ubuntu 开发工具 C++
Ubuntu 22.04上编译安装c++ libconfig library
通过本文的介绍,我们详细讲解了如何在Ubuntu 22.04上编译和安装libconfig库,并通过编写和运行一个简单的测试程序来验证安装是否成功。libconfig库的安装过程相对简单,主要包括环境准备、下载源码、编译和安装几个步骤。希望本文对您在项目中使用libconfig库有所帮助。
212 13
|
4月前
|
Ubuntu 网络协议 关系型数据库
超聚变服务器2288H V6使用 iBMC 安装 Ubuntu Server 24.04 LTS及后续系统配置
【11月更文挑战第15天】本文档详细介绍了如何使用iBMC在超聚变服务器2288H V6上安装Ubuntu Server 24.04 LTS,包括连接iBMC管理口、登录iBMC管理界面、配置RAID、安装系统以及后续系统配置等步骤。
725 4
|
5月前
|
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和编译安装,以及常见问题的解决方法。
624 1
Ubuntu安装笔记(二):ubuntu18.04编译安装opencv 3.4.0 opencv_contrib3.4.0
|
4月前
|
Ubuntu Linux 网络安全
Ubuntu 22.04 LTS有哪些新特性
Ubuntu 22.04 LTS有哪些新特性
|
5月前
|
缓存 NoSQL Ubuntu
大数据-39 Redis 高并发分布式缓存 Ubuntu源码编译安装 云服务器 启动并测试 redis-server redis-cli
大数据-39 Redis 高并发分布式缓存 Ubuntu源码编译安装 云服务器 启动并测试 redis-server redis-cli
93 3
|
7月前
|
Ubuntu 开发者 Python
|
7月前
|
Ubuntu 安全 Linux
Windows——安装Ubuntu 18.04 LTS
Windows——安装Ubuntu 18.04 LTS
140 1
Windows——安装Ubuntu 18.04 LTS
|
6月前
|
存储 Kubernetes Ubuntu
Ubuntu 22.04LTS版本二进制部署K8S 1.30+版本
这篇文章详细介绍了在Ubuntu 22.04 LTS系统上使用VMware Fusion虚拟化软件部署Kubernetes 1.30+版本的完整过程,包括环境准备、安装containerd、配置etcd、生成证书、部署高可用组件、启动Kubernetes核心组件以及网络插件的部署和故障排查。
362 5