• 在centOS7.2上编译gcc4.1.2


    1.下载安装gcc4.1.2安装包

     wget ftp://ftp.gnu.org/gnu/gcc/gcc-4.1.2/gcc-4.1.2.tar.bz2

    注:其他版本的安装包可以在上级目录寻找到。

    2.执行以下命令,查看是否安装makeinfo

    makeinfo --version

    已安装,则记录版本号,然后执行“步骤 3”。

    未安装,则执行 yum install texinfo 命令,安装“makeinfo”。

    3.执行以下命令,解压缩gcc-4.1.2.tar.bz2

     

    tar -xvf gcc-4.1.2.tar.bz2

    4.执行以下命令,进入gcc-4.1.2”目录

     

    cd gcc-4.1.2

    5.使用 vi 编辑器,修改“configure”文件。如果您的“makeinfo”的版本

    4.2-4.9”之间,则跳过此步骤。对于高于4.x的设置也无需设置。

    # For an installed makeinfo, we require it to be from texinfo 4.2 or

    # higher, else we use the “missing” dummy.

    if ${MAKEINFO} –version | egrep 'texinfo[^0-9]*([1-3][0-9]|4.[2-9]|[5-9])' >/dev/null 2>&1;

    “makeinfo”的版本为“4.13”,则将粗体部分修改为以下内容:

    'texinfo[^0-9]*([1-3][0-9]|4.[4-9]|4.[1-9][0-9]*|[5-9])'

    “makeinfo”为其他版本,则将粗体部分修改为以下内容:

    'texinfo[^0-9]*([1-3][0-9]|4.[2-9]|4.[1-9][0-9]*|[5-9])'

    小窍门:您可以在 vi 里使用 /texinfo[^0-9] 快速定位上面两行。

    6.执行以下命令编译 gcc 4.1.2

    ./configure --prefix=/usr/local/gcc-4.1.2&& make  

    注:为了避免编译时间过长可以添加这这项,只编译c,C++

    ./configure  --prefix=/usr/local/gcc-4.4.7 --enable-languages=c,c++ && make -j4

    编译很可能会出现这个错误:

    将蓝色部分替换成红色的内容,即可成功编译!
    It has a compiling error when you build gcc4.1.2:
    ../gcc/config/i386/linux-unwind.h:138:17: error: field 'info' has incomplete type "
    And here is the solution: http://forge.ispras.ru/issues/4295
    It means that you need to change the code on line 136 in linux-unwind.h:
    struct rt_sigframe {
        int sig;
        struct siginfo *pinfo;
        void *puc;
        struct siginfo info;
    } *rt_ = context->cfa;
    to
    struct rt_sigframe {
        int sig;
        siginfo_t *pinfo;
        void *puc;
        siginfo_t info;
        struct ucontext uc;
    } *rt_ = context->cfa;
    You can download the modified file in https://files.cnblogs.com/yaoyansi/gcc412_build.zip.

    7.执行以下命令安装 gcc 4.1.2

    sudo make install

    安装gcc 4.1.2时,编译报错:

    /usr/include/gnu/stubs.h:7:27: 错误:gnu/stubs-32.h:没有那个文件或目录

    可能原因是glibc-devel没有安装。

    执行yum install glibc-devel.i686

    8.执行以下命令,进入/usr/bin”目录

    cd /usr/bin

    9.依次执行以下命令,重命名原有的 gcc 链接文件以作为备份

    mv gcc gcc.bak

    mv g++ g++.bak

    10.依次执行以下命令,建立 gcc 4.1.2 的链接

    ln -s /usr/local/gcc-4.1.2/bin/gcc /usr/bin/gcc  Ln

    ln -s /usr/local/gcc-4.1.2/bin/g++ /usr/bin/g++

    11.执行以下命令,查看 gcc 版本。

    gcc  --version

    你会查看到gcc版本已经变为4.1.2

     

     

    欢迎转载,但请声明出处。
  • 相关阅读:
    Eclipse中配置约束
    c++ 虚函数
    cocos3 menu
    cocos3 封装一个ball
    cocos3 内存管理机制
    cocos3 多文件拆分cocos
    cocos3 labelttf
    cocos3 messagebox
    cocos3 log
    cocos3 director sprite scene之间的关系
  • 原文地址:https://www.cnblogs.com/tianjiqx/p/6224126.html
Copyright © 2020-2023  润新知