c++: internal compiler error: Segmentation fault (program cc1plus) 解决

2023-05-16

        在ubuntu中编译很多库,尤其是很大的一些中间件,常常会c++: internal compiler error: Segmentation fault (program cc1plus)这个错误,看到这个错误,很多人一搜索,大部分都是告诉你内存不足,很多人应该增加了虚拟内存后都没有解决
    由于我也踩到了这个坑,所以这里分享容易被大家忽略的一种可能解决办法。
    本人是在编译Cartographer时,TX1硬件核心,官方ubuntu 18.04系统,遇到这个问题,增加虚拟内存,甚至观察编译失败前的内存情况,基本都没有使用到虚拟内存也会失败,所以我人为并不是内存问题,应该是有其它没有注意到限制。对Cartographer有兴趣可以查看https://blog.csdn.net/cau_weiyuhu/article/details/128166362。
    通过不断搜索的努力,终于定位到了一个系统设置限制,编译的时候编译器需要打开很多关联源文件,以及很多头文件,这个时候其实缓冲中有很多这样的文件句柄,这个数量在系统内竟然有个限制数量,各个系统可能根据硬件性能不同有点限制。
    **系统对文件句柄打开数量的限制。**
 

#查看系统本身设置限制参数
 ulimit -a

 

        可以看到,我系统原始的打开文件个数(open files )为1024,静态缓冲(stack size )1024,其中有些是unlimited,为无限制。总之,这个命令会让你知道系统的一些资源限制。


问题是,如何改大:

sudo gedit /etc/security/limits.conf 

增加
nvidia hard nofile 65535
nvidia soft nofile 65535
root hard nofile 65535
root soft nofile 65535
ubuntu hard nofile 65535
ubuntu soft nofile 65535
修改
ubuntu hard stack 2024
ubuntu soft stack 2024
nvidia hard stack 2024
nvidia soft stack 2024

 

保存退出,后需要重启系统生效

#重启
sudo reboot

#重启后查看配置
ulimit -a

nvidia@nvidia-desktop:~$ ulimit -a
core file size          (blocks, -c) 0
data seg size           (kbytes, -d) unlimited
scheduling priority             (-e) 0
file size               (blocks, -f) unlimited
pending signals                 (-i) 13930
max locked memory       (kbytes, -l) 65536
max memory size         (kbytes, -m) unlimited
open files                      (-n) 65535
pipe size            (512 bytes, -p) 8
POSIX message queues     (bytes, -q) 819200
real-time priority              (-r) 0
stack size              (kbytes, -s) 2024
cpu time               (seconds, -t) unlimited
max user processes              (-u) 13930
virtual memory          (kbytes, -v) unlimited
file locks                      (-x) unlimited

 重启后,你再编译刚才的程序,很大概率就不会再出现这个错误,希望对你解决问题有一定的帮助。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

c++: internal compiler error: Segmentation fault (program cc1plus) 解决 的相关文章

随机推荐

  • mysql:In aggregated query without GROUP BY, expression #1 of SELECT list contains...........

    文章目录 问题描述问题溯源解决方式一解决方法二附录 xff1a 问题描述 下面是报错截图 xff1a span class token number 1140 span In aggregated query without GROUP B
  • 【FineReport企业日常问题 3.0】帆软Finereport跨大版本打开设计文件(包括cpt,frm等)

    文章目录 场景分析探索实现方法在这里插入图片描述总结 场景 一般我们做报表开发的时候 xff0c 帆软服务器上的版本 包括小版本 最好和本地设计器的版本一致 xff0c 但是随着帆软版本升级换代 xff0c 目前已经是v11版了 之前的有v
  • 【node.js】关于node.js,如何解决npm should be run outside of the Node.js REPL, in your normal shell报错?

    问题描述 前言 xff0c 安装node方式采用的是安装包解压的 报如下错误 npm should be run outside of the Node js REPL in your normal shell 在windows环境下安装完
  • 【Mysql第一期 数据库概述】

    文章目录 1 为什么要使用数据库2 数据库与数据库管理系统2 1 数据库的相关概念2 2 数据库特点2 3SQL优点 3 常见的数据库介绍1 Oracle2 SQL Server3 MySQL4 Access5 DB26 PostgreSQ
  • 【Mysql第二期 MySQL环境搭建】

    文章目录 01 为什么要安装新版本 xff1f 02 官网下载mysql03 安装配置初始化mysql 04 查看 MySQL服务05 验证是否安装成功06 修改root密码07 如果有navicat工具可以在测试一下 xff1a 01 为
  • 【Mysql第三期 基本查询语句结构】

    文章目录 1 SQL概述1 1 SQL背景知识1 2SQL 分类 2 SQL语言的规则与规范2 1 基本规则2 2 SQL大小写规范 xff08 建议遵守 xff09 2 3 注 释2 4 命名规则 xff08 暂时了解 xff09 3 基
  • 【Mysql第四期 运算符规则计算】

    文章目录 写在前面1 算数运算符2 比较运算符3 逻辑运算符4 位运算符5 运算符的优先级拓展 xff1a 使用正则表达式查询 写在前面 基本的运算符号在计算机编程领域都是相通的 xff0c 会有自己的一些特定符号语言 xff0c 就像是各
  • 【Mysql第五期 排序与分页】

    文章目录 案例使用的数据脚本1 排序数据1 1 排序规则1 2 单列排序1 3 多列排序 2 分页2 1 需求2 2 实现规则 3 课后习题扩展分析原因问题解决总结 案例使用的数据脚本 1 mysql脚本下载链接https download
  • jeston TX1_TX2 ubuntu18.04安装(国内安装源gitee)ROS Melodic

    查看ubunut系统信息 cat proc version uname a lsb release a 我自己的系统信息是 xff1a 由于我自己已经迁移了系统至SD卡 xff0c 所以存储比较富裕 xff1a 通过对应的ubuntu版本安
  • 【Mysql第六期 多表连接查询】

    文章目录 1 了解什么是笛卡尔积 xff08 或交叉连接 xff09 2 多表连接分类3 非等值连接4 UNION的使用7 MySQL的七种join图解8 课后习题 1 了解什么是笛卡尔积 xff08 或交叉连接 xff09 笛卡尔乘积是一
  • 【Mysql第七期 函数】

    文章目录 1 函数的理解1 1 什么是函数1 2 不同DBMS函数的差异 2 数值函数2 3 三角函数2 5 进制间的转换 3 字符串函数常用函数 4 日期和时间函数4 1 获取日期 时间4 2 日期与时间戳的转换4 3 获取月份 xff0
  • 【Mysql第八期 子查询】

    文章目录 前言1 需求分析与问题解决1 2 子查询的基本使用1 3 子查询的分类 2 单行子查询2 1 单行比较操作符2 2 代码示例2 5 子查询中的空值问题 3 多行子查询3 1 多行比较操作符3 2 代码示例3 3 空值问题 4 相关
  • 【Mysql第九期 建表语句和管理表】

    文章目录 1 基础知识1 1 一条数据存储的过程1 2 标识符命名规则1 3 MySQL中的数据类型 2 创建和管理数据库2 2 使用数据库2 3 修改数据库2 4 删除数据库 3 创建表3 2 创建方式23 3 查看数据表结构 4 修改表
  • 【Mysql第十期 数据类型】

    文章目录 1 MySQL中的数据类型2 类型介绍2 2 可选属性2 2 2 UNSIGNED2 2 3 ZEROFILL2 3 适用场景2 4 如何选择 xff1f 3 浮点类型3 2 数据精度说明3 3 精度误差说明 4 定点数类型4 1
  • 【Mysql第十一期 约束】

    文章目录 1 约束 constraint 概述1 1 为什么需要约束1 2 什么是约束1 3 约束的分类 2 非空约束2 1 作用2 2 关键字2 3 特点2 4 添加非空约束2 5 删除非空约束 3 唯一性约束3 1 作用3 2 关键字3
  • 【Mysql第十二期 视图】

    文章目录 1 常见的数据库对象2 视图概述2 1 为什么使用视图 xff1f 2 2 视图的理解 3 大白话理解3 1 创建单表视图3 2 创建多表联合视图 4 查看视图5 更新视图的数据5 1 一般情况 6 修改 删除视图6 1 修改视图
  • 【presto sql】presto sql 如何通过 计算当前日期(年月日,时分秒) 来计算当前是星期几?

    文章目录 原因解析常见的日期处理方式拓展 原因 presto没有直接的日期转星期几的方式 xff0c 但是可以通过函数mod xff0c date diff多种函数进行求模转换成我们想要的星期几 span class token keywo
  • 【presto】presto如何对字段换行处理?chr(10)

    文章目录 问题描述问题分析什么是ASCII码presto sql逻辑 问题描述 需要对当前日期格式如 xff1a 2023 02 23 当遇到 的时候进行换行处理 其他的文本描述字段同理 问题分析 通过查找presto的函数 xff0c 换
  • Qt扫盲-QMenu理论总结

    QMenu理论总结 一 概述二 常用操作1 添加Action2 信号槽3 可撕下菜单4 展示菜单 一 概述 QMenu其实就是菜单控件 xff0c 菜单控件本质上就是一个选择项目 它可以是菜单栏中的下拉菜单 xff0c 也可以是独立的上下文
  • c++: internal compiler error: Segmentation fault (program cc1plus) 解决

    在ubuntu中编译很多库 xff0c 尤其是很大的一些中间件 xff0c 常常会c 43 43 internal compiler error Segmentation fault program cc1plus 这个错误 xff0c 看