• 主页
  • 归档
  • 分类
  • 照片墙
所有文章 友情链接 关于我

  • 主页
  • 归档
  • 分类
  • 照片墙
  1. 1. 编译安装gcc
    1. 1.1. 源码包解压
    2. 1.2. 编译
    3. 1.3. 常见问题与解决方案
  2. 2. 编译安装nodejs
    1. 2.1. 编译
    2. 2.2. 常见问题与解决方案

gcc与nodejs的编译安装

2019-01-19 23:58:29
总字数 520
预计阅读时间 2 分钟

编译新版nodejs的时候提示要求使用新版gcc
nodejs warning
但是使用yum安装的gcc, 最高版本只能获得4.8.5
所以只好自己编译安装gcc

编译安装gcc

gcc源码包下载

必须首先安装有低版本的gcc和g++, 因为编译gcc的源码也是需要使用gcc的
如果没有的话先用yum安装 yum install -y gcc gcc-c++
gcc

源码包解压

1
2
3
xz -d gcc-8.2.0.tar.xz
tar -xvf gcc-8.2.0.tar
cd gcc-8.2.0

编译

1
2
3
4
5
6
7
8
9
10
11
12
# 下载、配置、安装需要的依赖库
./contrib/download_prerequisites

# 创建并进入编译目录
mkdir build
cd build

# 编译配置, 生成makefile文件
../configure --enable-checking=release --enable-languages=c,c++ --disable-multilib

# 执行编译
make

编译的过程时间比较长
编译完成之后, 执行

1
2
3
4
# 删除低版本的gcc
yum remove gcc gcc-c++
# 安装
make install

如果此时还是找不到新安装的gcc, 可以执行一下source /etc/profile

常见问题与解决方案

  1. 安装依赖库时缺少bzip2
    缺少bzip2
    解决办法: yum install -y bzip2

  2. g++: internal compiler error: Killed
    编译进程被终止
    这种情况一般是内存不足的问题
    可以临时创建交换分区

1
2
3
4
5
dd if=/dev/zero of=/swapfile bs=64M count=16

mkswap /swapfile

swapon /swapfile

编译完成之后, 可以删除掉这个交换分区文件

1
2
3
swapoff /swapfile

rm /swapfile

编译安装nodejs

nodejs源码包下载
执行tar -zxvf node-v11.7.0.tar.gz解压

编译

1
2
3
4
5
cd node-v11.7.0
# 安装配置, prefix指定安装的目标位置
./configure --prefix=/usr/local/nodejs

make && make install

常见问题与解决方案

  1. GLIBCXX_3.4.20 not found
    GLIBCXX_3.4.20 not found
    首先执行

    1
    strings /usr/lib64/libstdc++.so.6 | grep GLIBCXX

    查找GLIBCXX
    发现少了GLIBCXX_3.4.20,解决方法是升级libstdc++

    1
    2
    3
    4
    5
    6
    7
    8
    9
    yum provides libstdc++.so.6
    yum install libstdc++-4.8.5-11.el7.i686
    # 从lib64目录下拷贝(等于或高于6.0.20即可)
    cp /usr/local/lib64/libstdc++.so.6.0.25 /usr/lib64/
    cd /usr/lib64
    # 删除现有的软链接
    rm libstdc++.so.6
    # 创建软链接
    ln -s libstdc++.so.6.0.25 libstdc++.so.6

    查找lib64目录

  2. cc命令未找到
    cc命令未找到
    这里只需要临时添加环境变量CC指定为gcc即可, 也就是export CC=gcc

  • linux
  • linux

扫一扫,分享到微信

js对文件和二进制的操作
正则表达式重新入门(2) 
© 2024 夏夜梦星辰
鲁ICP备19028444号
Power By Hexo
  • 所有文章
  • 友情链接
  • 关于我
{{searchItem.query}}
标签: 分类:
  • maven
  • 持续集成
  • JMS
  • 线程
  • JavaScript
  • ECMAScript6
  • 单元测试
  • Promise
  • Web Worker
  • 函数
  • prototype
  • 模块化
  • 正则表达式
  • 数据库
  • MongoDB
  • 索引
  • 集群
  • 全文检索
  • flutter
  • dart
  • git
  • 版本控制
  • linux
  • shell
  • docker
  • nginx
  • jenkins
  • opencv
  • vim
  • react
  • react native
  • 前端
  • css
  • HTML5
  • Hexo
  • sass
  • Three.js
  • TypeScript
  • Vue
  • 组件化
  • base64
  • webpack
  • nodejs
  • gulp
  • TensorFlow
  • 机器学习
  • 算法
  • 动态规划
  • 数据结构
  • Java
  • JavaScript
  • MongoDB
  • flutter
  • Git
  • linux
  • react
  • 前端杂烩
  • 男生女生
  • 算法
  • 十年饮冰,难凉热血
  • †少女癌†
  • 猫与向日葵
  • coderfun
  • JENKINS
  • API管理后台
愿你最终能接纳每一面每一种的自己
独自活着便是团圆