这两天尽为这个问题烦恼了,今天早晨起来又编译了好几遍,还是错误。
后来去google搜索了一下apache2.2下安装这个要不要特殊的原因,终于查到,还需要一个补丁
--- orig/mod_auth_mysql.c 2005-06-22 12:17:45.000000000 -0400 +++ mod_auth_mysql.c 2006-02-22 21:16:19.000000000 -0500 @@ -206,7 +206,7 @@ #define SNPRINTF apr_snprintf #define PSTRDUP apr_pstrdup #define PSTRNDUP apr_pstrndup - #define STRCAT ap_pstrcat + #define STRCAT apr_pstrcat #define POOL apr_pool_t #include "http_request.h" /* for ap_hook_(check_user_id | auth_checker)*/ #include "ap_compat.h" @@ -237,7 +237,7 @@ #define SNPRINTF ap_snprintf #define PSTRDUP ap_pstrdup #define PSTRNDUP ap_pstrndup - #define STRCAT ap_pstrcat + #define STRCAT apr_pstrcat #define POOL pool #include <stdlib.h> #include "ap_sha1.h" @@ -589,87 +589,87 @@ static command_rec mysql_auth_cmds[] = { AP_INIT_TAKE1("AuthMySQLHost", ap_set_string_slot, - (void *) APR_XtOffsetOf(mysql_auth_config_rec, mysqlhost), + (void *) APR_OFFSETOF(mysql_auth_config_rec, mysqlhost), OR_AUTHCFG, "mysql server host name"), AP_INIT_TAKE1("AuthMySQLPort", ap_set_int_slot, - (void *) APR_XtOffsetOf(mysql_auth_config_rec, mysqlport), + (void *) APR_OFFSETOF(mysql_auth_config_rec, mysqlport), OR_AUTHCFG, "mysql server port number"), AP_INIT_TAKE1("AuthMySQLSocket", ap_set_string_slot, - (void *) APR_XtOffsetOf(mysql_auth_config_rec, mysqlsocket), + (void *) APR_OFFSETOF(mysql_auth_config_rec, mysqlsocket), OR_AUTHCFG, "mysql server socket path"), AP_INIT_TAKE1("AuthMySQLUser", ap_set_string_slot, - (void *) APR_XtOffsetOf(mysql_auth_config_rec, mysqluser), + (void *) APR_OFFSETOF(mysql_auth_config_rec, mysqluser), OR_AUTHCFG, "mysql server user name"), AP_INIT_TAKE1("AuthMySQLPassword", ap_set_string_slot, - (void *) APR_XtOffsetOf(mysql_auth_config_rec, mysqlpasswd), + (void *) APR_OFFSETOF(mysql_auth_config_rec, mysqlpasswd), OR_AUTHCFG, "mysql server user password"), AP_INIT_TAKE1("AuthMySQLDB", ap_set_string_slot, - (void *) APR_XtOffsetOf(mysql_auth_config_rec, mysqlDB), + (void *) APR_OFFSETOF(mysql_auth_config_rec, mysqlDB), OR_AUTHCFG, "mysql database name"), AP_INIT_TAKE1("AuthMySQLUserTable", ap_set_string_slot, - (void *) APR_XtOffsetOf(mysql_auth_config_rec, mysqlpwtable), + (void *) APR_OFFSETOF(mysql_auth_config_rec, mysqlpwtable), OR_AUTHCFG, "mysql user table name"), AP_INIT_TAKE1("AuthMySQLGroupTable", ap_set_string_slot, - (void *) APR_XtOffsetOf(mysql_auth_config_rec, mysqlgrptable), + (void *) APR_OFFSETOF(mysql_auth_config_rec, mysqlgrptable), OR_AUTHCFG, "mysql group table name"), AP_INIT_TAKE1("AuthMySQLNameField", ap_set_string_slot, - (void *) APR_XtOffsetOf(mysql_auth_config_rec, mysqlNameField), + (void *) APR_OFFSETOF(mysql_auth_config_rec, mysqlNameField), OR_AUTHCFG, "mysql User ID field name within User table"), AP_INIT_TAKE1("AuthMySQLGroupField", ap_set_string_slot, - (void *) APR_XtOffsetOf(mysql_auth_config_rec, mysqlGroupField), + (void *) APR_OFFSETOF(mysql_auth_config_rec, mysqlGroupField), OR_AUTHCFG, "mysql Group field name within table"), AP_INIT_TAKE1("AuthMySQLGroupUserNameField", ap_set_string_slot, - (void *) APR_XtOffsetOf(mysql_auth_config_rec, mysqlGroupUserNameField), + (void *) APR_OFFSETOF(mysql_auth_config_rec, mysqlGroupUserNameField), OR_AUTHCFG, "mysql User ID field name within Group table"), AP_INIT_TAKE1("AuthMySQLPasswordField", ap_set_string_slot, - (void *) APR_XtOffsetOf(mysql_auth_config_rec, mysqlPasswordField), + (void *) APR_OFFSETOF(mysql_auth_config_rec, mysqlPasswordField), OR_AUTHCFG, "mysql Password field name within table"), AP_INIT_TAKE1("AuthMySQLPwEncryption", ap_set_string_slot, - (void *) APR_XtOffsetOf(mysql_auth_config_rec, mysqlEncryptionField), + (void *) APR_OFFSETOF(mysql_auth_config_rec, mysqlEncryptionField), OR_AUTHCFG, "mysql password encryption method"), AP_INIT_TAKE1("AuthMySQLSaltField", ap_set_string_slot, - (void*) APR_XtOffsetOf(mysql_auth_config_rec, mysqlSaltField), + (void*) APR_OFFSETOF(mysql_auth_config_rec, mysqlSaltField), OR_AUTHCFG, "mysql salfe field name within table"), /* AP_INIT_FLAG("AuthMySQLKeepAlive", ap_set_flag_slot, - (void *) APR_XtOffsetOf(mysql_auth_config_rec, mysqlKeepAlive), + (void *) APR_OFFSETOF(mysql_auth_config_rec, mysqlKeepAlive), OR_AUTHCFG, "mysql connection kept open across requests if On"), */ AP_INIT_FLAG("AuthMySQLAuthoritative", ap_set_flag_slot, - (void *) APR_XtOffsetOf(mysql_auth_config_rec, mysqlAuthoritative), + (void *) APR_OFFSETOF(mysql_auth_config_rec, mysqlAuthoritative), OR_AUTHCFG, "mysql lookup is authoritative if On"), AP_INIT_FLAG("AuthMySQLNoPasswd", ap_set_flag_slot, - (void *) APR_XtOffsetOf(mysql_auth_config_rec, mysqlNoPasswd), + (void *) APR_OFFSETOF(mysql_auth_config_rec, mysqlNoPasswd), OR_AUTHCFG, "If On, only check if user exists; ignore password"), AP_INIT_FLAG("AuthMySQLEnable", ap_set_flag_slot, - (void *) APR_XtOffsetOf(mysql_auth_config_rec, mysqlEnable), + (void *) APR_OFFSETOF(mysql_auth_config_rec, mysqlEnable), OR_AUTHCFG, "enable mysql authorization"), AP_INIT_TAKE1("AuthMySQLUserCondition", ap_set_string_slot, - (void *) APR_XtOffsetOf(mysql_auth_config_rec, mysqlUserCondition), + (void *) APR_OFFSETOF(mysql_auth_config_rec, mysqlUserCondition), OR_AUTHCFG, "condition to add to user where-clause"), AP_INIT_TAKE1("AuthMySQLGroupCondition", ap_set_string_slot, - (void *) APR_XtOffsetOf(mysql_auth_config_rec, mysqlGroupCondition), + (void *) APR_OFFSETOF(mysql_auth_config_rec, mysqlGroupCondition), OR_AUTHCFG, "condition to add to group where-clause"), AP_INIT_TAKE1("AuthMySQLCharacterSet", ap_set_string_slot, - (void *) APR_XtOffsetOf(mysql_auth_config_rec, mysqlCharacterSet), + (void *) APR_OFFSETOF(mysql_auth_config_rec, mysqlCharacterSet), OR_AUTHCFG, "mysql character set to be used"), { NULL }
将这个文件保存在和mod_auth_mysql.c的同一个目录中,命名为apache2.diff,然后运行命令:
patch -p0 < apache22.diff
本文向大家介绍Linux 6下安装编译安装Nginx的步骤,包括了Linux 6下安装编译安装Nginx的步骤的使用技巧和注意事项,需要的朋友参考一下 Linux 6下安装编译安装Nginx的步骤 前言: Nginx是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP服务器。在高连接并发的情况下,Nginx是Apache服务器不错的替代品:Nginx在美国是做虚拟主机生意的
本文向大家介绍Linux下编译安装python3步骤,包括了Linux下编译安装python3步骤的使用技巧和注意事项,需要的朋友参考一下 Linux下默认系统自带python2.6的版本,这个版本被系统很多程序所依赖,所以不建议删除,如果使用最新的Python3那么我们知道编译安装源码包和系统默认包之间是没有任何影响的,所以可以安装python3和python2共存 首先去python官网下载p
本文向大家介绍linux下编译安装memcached服务,包括了linux下编译安装memcached服务的使用技巧和注意事项,需要的朋友参考一下 系统:Ubuntu 13.10 第一步:安装libevent-dev 第二步:下载memcached并安装 官网地址:http://memcached.org/ 第三步:启动memcached 第三步:检查是否安装成功 常用命令 启动memcached
本文仅阐述Apache在Unix和类Unix系统中的编译和安装,在Windows中的编译和安装可以参考在Microsoft Windows中使用Apache。其他平台可以参见针对特定平台的说明文档。 像其它许多开源项目一样,Apache使用libtool和autoconf建立编译环境。 如果你只进行很小的版本升级(比如2.2.54→2.2.55),请直接跳转到下面的升级部分。 针对心急者的概述 下
编译 要求 预编译二进制 参考配置 配置生成器 烟雾测试配置 沙箱 前端代理 Zipkin跟踪 Jaeger跟踪 gRPC桥接 构建Envoy Docker镜像 工具 配置加载检测工具 路由表检查工具 模式验证工具
MinDoc 目前是用 dep 管理包,因此,你需要在你的计算机上安装 dep 包管理工具。 下面以 Windows 系统为例: 第一步 安装 gep 工具 go get -u github.com/golang/dep/cmd/dep 第二步 拉取 MinDoc 源码 你需要在你本地 go/src 目录中创建对应的子目录 github.com/lifei6671 ,之后切换到该子目录,举例如下:
NPU编译器目前只支持Python2环境下安装和使用。 安装gxDNN工具链 pip install npu_compiler 更新gxDNN工具链 pip install --upgrade npu_compiler 查看工具链版本 安装或更新完成后,可以使用如下命令查看当前工具链的版本号。 gxnpuc --version
本文向大家介绍CentOS下编译、安装与配置nginx,包括了CentOS下编译、安装与配置nginx的使用技巧和注意事项,需要的朋友参考一下 1. 安装nginx 1.1 选择稳定版本 我们编译安装nginx来定制自己的模块,机器CentOS 6.2 x86_64。首先安装缺少的依赖包: # yum -y install gcc gcc-c++ make libtool zlib zlib-de