swoole源码编译 安装所有报错过程

  • 出现“perl: warning: Falling back to the standard locale (“C”).”等提示错误,如下:
  • perl: warning: Setting locale failed.
          perl: warning: Please check that your locale settings:
                  LANGUAGE = "en_US.UTF-8",
                  LC_ALL = "",
                  LANG = "AMERICAN_AMERICA.UTF-8"
            are supported and installed on your system.
          perl: warning: Falling back to the standard locale ("C").
    
     
     
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    解决办法:
    在~/.bashrc文件中加入如下内容

    export LANGUAGE="en_US.UTF-8"
    export LANG=en_US:zh_CN.UTF-8
    export LC_ALL=C
    
     
     
    • 1
    • 2
    • 3

    然后执行如下命令使其生效:

    source /root/.bashrc
    
     
     
    • 1
    1. configure: error: C++ preprocessor “/lib/cpp” fails sanity check
    configure: error: in `/wwwroot/swoole-4.2.5':
    configure: error: C++ preprocessor "/lib/cpp" fails sanity check
    
     
     
    • 1
    • 2

    问题的根源是缺少必要的C++库。运行如下命令解决:

    yum install glibc-headers
    yum install gcc-c++ 
    
     
     
    • 1
    • 2
    1. “Enable http2 support, require nghttp2 library” 错误
    /wwwroot/swoole-4.2.5/php_swoole.h:142:2: error: #error "Enable http2 support, require nghttp2 library."
     #error "Enable http2 support, require nghttp2 library."
    
     
     
    • 1
    • 2

    需要安装nghttp2,首先安装依赖库

    sudo yum -y groupinstall "Development Tools"
    sudo yum -y install openssl-devel libxml2-devel libev-devel jemalloc-devel python-devel
    wget https://c-ares.haxx.se/download/c-ares-1.12.0.tar.gz -O /tmp/c-ares.tar.gz
    mkdir -p /tmp/c-ares
    tar -zxvf /tmp/c-ares.tar.gz -C /tmp/c-ares --strip-components=1
    cd /tmp/c-ares && ./configure --libdir=/usr/lib64
    make
    sudo make install
    wget http://www.digip.org/jansson/releases/jansson-2.9.tar.gz -O /tmp/jansson.tar.gz
    mkdir -p /tmp/jansson
    tar -zxvf /tmp/jansson.tar.gz -C /tmp/jansson --strip-components=1
    cd /tmp/jansson && ./configure --libdir=/usr/lib64
    make
    make check
    sudo make install
    
     
     
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15

    安装nghttp2服务:

    wget https://github.com/nghttp2/nghttp2/releases/download/v1.19.0/nghttp2-1.19.0.tar.gz -O /tmp/nghttp2.tar.gz
    mkdir -p /tmp/nghttp2
    tar -zxvf /tmp/nghttp2.tar.gz -C /tmp/nghttp2 --strip-components=1
    cd /tmp/nghttp2 && ./configure --enable-app
    make
    sudo make install
    
     
     
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    1. hiredis 不存在
    /wwwroot/swoole-4.2.5/swoole_redis.c:20:29: fatal error: hiredis/hiredis.h: No such file or directory
     #include <hiredis/hiredis.h>
    
     
     
    • 1
    • 2

    需要安装redis和hiredis服务。
    安装redis:

    yum -y install tcl
    wget http://download.redis.io/releases/redis-3.0.7.tar.gz
    tar xzf redis-3.0.7.tar.gz 
    cd redis-3.0.7
    make
    make test
    make install
    
     
     
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    安装hiredis:

    wget https://github.com/redis/hiredis/archive/v0.14.0.tar.gz
    tar xzf  v0.14.0.tar.gz
    cd hiredis-0.14.0/
    make
    make install
    
     
     
    • 1
    • 2
    • 3
    • 4
    • 5
                                    </div>
                <link href="https://csdnimg.cn/release/phoenix/mdeditor/markdown_views-b6c3c6d139.css" rel="stylesheet">
                        <div class="more-toolbox">
                <div class="left-toolbox">
                    <ul class="toolbox-list">
                        
                        <li class="tool-item tool-active is-like "><a href="javascript:;"><svg class="icon" aria-hidden="true">
                            <use xlink:href="#csdnc-thumbsup"></use>
                        </svg><span class="name">点赞</span>
                        <span class="count"></span>
                        </a></li>
                        <li class="tool-item tool-active is-collection "><a href="javascript:;" data-report-click="{&quot;mod&quot;:&quot;popu_824&quot;}"><svg class="icon" aria-hidden="true">
                            <use xlink:href="#icon-csdnc-Collection-G"></use>
                        </svg><span class="name">收藏</span></a></li>
                        <li class="tool-item tool-active is-share"><a href="javascript:;"><svg class="icon" aria-hidden="true">
                            <use xlink:href="#icon-csdnc-fenxiang"></use>
                        </svg>分享</a></li>
                        <!--打赏开始-->
                                                <!--打赏结束-->
                                                <li class="tool-item tool-more">
                            <a>
                            <svg t="1575545411852" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5717" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><defs><style type="text/css"></style></defs><path d="M179.176 499.222m-113.245 0a113.245 113.245 0 1 0 226.49 0 113.245 113.245 0 1 0-226.49 0Z" p-id="5718"></path><path d="M509.684 499.222m-113.245 0a113.245 113.245 0 1 0 226.49 0 113.245 113.245 0 1 0-226.49 0Z" p-id="5719"></path><path d="M846.175 499.222m-113.245 0a113.245 113.245 0 1 0 226.49 0 113.245 113.245 0 1 0-226.49 0Z" p-id="5720"></path></svg>
                            </a>
                            <ul class="more-box">
                                <li class="item"><a class="article-report">文章举报</a></li>
                            </ul>
                        </li>
                                            </ul>
                </div>
                            </div>
            <div class="person-messagebox">
                <div class="left-message"><a href="https://blog.csdn.net/qq_26289215">
                    <img src="https://profile.csdnimg.cn/3/9/A/3_qq_26289215" class="avatar_pic" username="qq_26289215">
                                            <img src="https://g.csdnimg.cn/static/user-reg-year/2x/4.png" class="user-years">
                                    </a></div>
                <div class="middle-message">
                                        <div class="title"><span class="tit"><a href="https://blog.csdn.net/qq_26289215" data-report-click="{&quot;mod&quot;:&quot;popu_379&quot;}" target="_blank">振书</a></span>
                                            </div>
                    <div class="text"><span>发布了2 篇原创文章</span> · <span>获赞 2</span> · <span>访问量 974</span></div>
                </div>
                                <div class="right-message">
                                            <a href="https://im.csdn.net/im/main.html?userName=qq_26289215" target="_blank" class="btn btn-sm btn-red-hollow bt-button personal-letter">私信
                        </a>
                                                            <a class="btn btn-sm  bt-button personal-watch" data-report-click="{&quot;mod&quot;:&quot;popu_379&quot;}">关注</a>
                                    </div>
                            </div>
        </div>
    </article>
    
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值