• el7升级Apache模块编译


    1.背景

    接续https://blog.csdn.net/nanhai_happy/article/details/140566070,由于升级升级Apache过程中,发现需要使用的mod_wsgi、mod_systemd和mod_cgi模块缺失,故接着解决继续编译生成。

    2. 编译mod_cgi、mod_system

    2.1 安装依赖

    yum install systemd-devel
    rpm -ivh httpd-devel-2.4.62-1.aarch64.rpm
    

    2.2 编译

    cd /root/rpmbuild/BUILD/httpd-2.4.62/modules/generators
    apxs -i -a -c mod_cgi.c
    cd /root/rpmbuild/BUILD/httpd-2.4.62/modules/arch/unix
    apxs -i -a -c mod_systemd.c
    

    3. 编译mod_wsgi

    3.1 下载

    wget https://github.com/GrahamDumpleton/mod_wsgi/archive/refs/tags/5.0.0.zip
    

    3.2 编译安装

    unzip mod_wsgi-5.0.0.zip
    cd mod_wsgi-5.0.0/
    ./configure
    make
    make install
    

    4.问题记录

    4.1 configure: error: Apache tool ‘apxs’ or ‘apxs2’ is required to build mod_wsgi.

    编译mod_wsgi模块时候出现如下错误:

    checking for apxs2... no
    checking for apxs... no
    configure: error: Apache tool 'apxs' or 'apxs2' is required to build mod_wsgi.
    
    

    通过安装httpd-devel软件包解决:

    rpm -ivh httpd-devel-2.4.62-1.aarch64.rpm
    

    4.2 mod_systemd.c:31:31: fatal error: systemd/sd-daemon.h: No such file or directory

    在编译mod_systemd.so动态链接库的时候出现如下错误:

    apxs -i -a -c mod_systemd.c
    
    /usr/lib64/apr/build-1/libtool --silent --mode=compile gcc -std=gnu11 -prefer-pic -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches  -DLINUX -D_REENTRANT -D_GNU_SOURCE -pthread -I/usr/include/httpd  -I/usr/include/apr-1   -I/usr/include/apr-1   -c -o mod_systemd.lo mod_systemd.c && touch mod_systemd.slo
    mod_systemd.c:31:31: fatal error: systemd/sd-daemon.h: No such file or directory
     #include "systemd/sd-daemon.h"
                                   ^
    compilation terminated.
    apxs:Error: Command failed with rc=65536
    .
    (khatch-ui)[root@controller1 unix]# ls
    config5.m4  Makefile.in  mod_privileges.c  mod_systemd.c  mod_unixd.c  mod_unixd.h
    (khatch-ui)[root@controller1 unix]# make
    make: *** No targets specified and no makefile found.  Stop.
    (khatch-ui)[root@controller1 unix]# apxs -i -a -c mod_systemd.c
    /usr/lib64/apr/build-1/libtool --silent --mode=compile gcc -std=gnu11 -prefer-pic -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches  -DLINUX -D_REENTRANT -D_GNU_SOURCE -pthread -I/usr/include/httpd  -I/usr/include/apr-1   -I/usr/include/apr-1   -c -o mod_systemd.lo mod_systemd.c && touch mod_systemd.slo
    mod_systemd.c:31:31: fatal error: systemd/sd-daemon.h: No such file or directory
     #include "systemd/sd-daemon.h"
                                   ^
    compilation terminated.
    apxs:Error: Command failed with rc=65536
    .
    

    由于缺少system开发库导致的,解决方法通过安装systemd开发包解决:

    yum install systemd-devel
    
  • 相关阅读:
    结构体变量的初始化和引用
    【数据结构】时间复杂度、空间复杂度
    视频怎么抠图换背景,怎么把视频后面的背景换掉?
    数字验证学习笔记——SystemVerilog芯片验证10 ——类的成员
    Python小波分析库pywt介绍
    thinkphp6 指令任务 宝塔定时任务
    Unity制作透明材质直接方法——6.15山大软院项目实训
    Linux:进程池制作(匿名管道版本 & 命名管道版本)
    一文详解 requests 库中 json 参数和 data 参数的用法
    ATtiny88初体验(六):SPI
  • 原文地址:https://blog.csdn.net/nanhai_happy/article/details/140847730