[TOC]

0x00 安装部署入坑记

问题1.安装node.js爆出C++版本过低问题解决方案。

  • 错误问题:Centos 6.10 升级 C++ compiler too old, need g++ 4.9.4 or clang++ 3.4.2 (CXX=g++)
  • 解决方式:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    # 由于yum不能进行升级所以手动
    wget http://ftp.gnu.org/gnu/gcc/gcc-6.1.0/gcc-6.1.0.tar.gz
    tar -zvxf gcc-6.1.0.tar.gz --directory=/usr/local/
    cd /usr/local/gcc-6.1.0
    ./contrib/download_prerequisites
    mkdir build && cd build
    ../configure -enable-checking=release -enable-languages=c,c++ -disable-multilib
    make && make install

    # 上面下载依赖可以自己进行下载
    ftp://gcc.gnu.org/pub/gcc/infrastructure/mpfr-2.4.2.tar.bz2
    ftp://gcc.gnu.org/pub/gcc/infrastructure/gmp-4.3.2.tar.bz2
    ftp://gcc.gnu.org/pub/gcc/infrastructure/mpc-0.8.1.tar.gz
    ftp://gcc.gnu.org/pub/gcc/infrastructure/isl-0.15.tar.bz2

    # 安装完成
    $ ls /usr/local/bin | grep gcc
    gcc
    i686-pc-linux-gnu-gcc

    # 验证 gcc
    $ gcc -v
    COLLECT_GCC=gcc
    COLLECT_LTO_WRAPPER=/usr/local/libexec/gcc/i686-pc-linux-gnu/6.1.0/lto-wrapper
    Target: i686-pc-linux-gnu
    Configured with: ../configure -enable-checking=release -enable-languages=c,c++ -disable-multilib
    Thread model: posix
    gcc version 6.1.0 (GCC)

    # (重要)升级gcc生成的动态库没有替换老版本gcc的动态库 (注意系统版本 是i686 是 x64_86) 下面以i686为例
    find / -name "libstdc++.so*" # 查找编译gcc时生成的最新动态库:

    # 最新动态库libstdc++.so.6.0.22复制到/usr/lib64目录下
    cp /usr/local/gcc-6.1.0/build/i686-pc-linux-gnu/libstdc++-v3/src/.libs/libstdc++.so.6.0.22 /usr/lib/
    rm -rf libstdc++.so.6 #删除原来软连接:
    ln -s libstdc++.so.6.0.22 libstdc++.so.6 #将默认库的软连接指向最新动态库
    strings /usr/lib/libstdc++.so.6 | grep GLIBC #默认动态库升级完成运行以下命令检查动态库:
    GLIBCXX_3.4.22


问题2.安装node.js爆出Python+版本过低

  • 问题原因:由于前面安装的是centos6.10 默认版本python2.6
  • 解决办法:升级 python 版本
    1
    2
    wget https://www.python.org/ftp/python/2.7.16/Python-2.7.16.tgz
    ./configure --enable-optimizations --prefix=/usr/local/python2.7

0x01 开发学习入坑记


0x02 项目实践入坑记