[求助]编译pam_mysql.so出错_MySQL, Oracle及数据库讨论区_Weblogic技术|Tuxedo技术|中间件技术|Oracle论坛|JAVA论坛|Linux/Unix技术|hadoop论坛_联动北方技术论坛  
网站首页 | 关于我们 | 服务中心 | 经验交流 | 公司荣誉 | 成功案例 | 合作伙伴 | 联系我们 |
联动北方-国内领先的云技术服务提供商
»  游客             当前位置:  论坛首页 »  自由讨论区 »  MySQL, Oracle及数据库讨论区 »
总帖数
1
每页帖数
101/1页1
返回列表
0
发起投票  发起投票 发新帖子
查看: 2483 | 回复: 0   主题: [求助]编译pam_mysql.so出错        下一篇 
lihaibo
注册用户
等级:新兵
经验:66
发帖:5
精华:0
注册:2012-5-23
状态:离线
发送短消息息给lihaibo 加好友    发送短消息息给lihaibo 发消息
发表于: IP:您无权察看 2014-11-6 11:24:12 | [全部帖] [楼主帖] 楼主

用vsftp实现基于mysql的虚拟用户,在编译 mysql验证模块的时候出现如下错误:

 [root@localhost pam_mysql]# make
mkdir -p ./dynamic
gcc -O2 -Dlinux -DLINUX_PAM -ansi -D_POSIX_SOURCE -Wall -Wwrite-strings -Wpointer-arith -Wcast-qual -Wcast-align -Wtraditional -Wstrict-prototypes -Wmissing-prototypes -Wnested-externs -Winline -Wshadow -pedantic -fPIC -I/usr/local/mysql/include/mysql -DPAM_DYNAMIC  -c pam_mysql.c -o dynamic/pam_mysql.o


pam_ mysql.c:35:25: 错误:mysql/mysql.h:没有那个文件或目录
pam_mysql.c:81: 错误:expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘*’ token
pam_mysql.c:141: 错误:expected ‘)’ before ‘*’ token
pam_mysql.c:143: 错误:expected ‘)’ before ‘*’ token
pam_mysql.c:151: 错误:expected ‘)’ before ‘*’ token
pam_mysql.c: 在函数 ‘breakArgs’ 中:
pam_mysql.c:157: 警告:传统 C 不接受 ISO C 风格的函数定义
pam_mysql.c: 在函数 ‘parseArgs’ 中:
pam_mysql.c:233: 警告:传统 C 不接受 ISO C 风格的函数定义
pam_mysql.c: 在顶层:
pam_mysql.c:391: 错误:expected ‘)’ before ‘*’ token
pam_mysql.c: 在函数 ‘db_close’ 中:
pam_mysql.c:420: 警告:传统 C 不接受 ISO C 风格的函数定义
pam_mysql.c:421: 错误:‘mysql_auth’ 未声明 (在此函数内第一次使用)
pam_mysql.c:421: 错误:(即使在一个函数内多次出现,每个未声明的标识符在其
pam_mysql.c:421: 错误:所在的函数内只报告一次。)
pam_mysql.c:424: 警告:隐式声明函数 ‘mysql_close’
pam_mysql.c:424: 警告:对 ‘mysql_close’ 的嵌套的外部声明
pam_mysql.c: 在顶层:
pam_mysql.c:428: 错误:expected ‘)’ before ‘*’ token
pam_mysql.c: 在函数 ‘converse’ 中:
pam_mysql.c:613: 警告:传统 C 不接受 ISO C 风格的函数定义
pam_mysql.c:617: 警告:提领类型双关的指针将破坏强重叠规则
pam_mysql.c: 在函数 ‘saltify’ 中:
pam_mysql.c:636: 警告:传统 C 不接受 ISO C 风格的函数定义
pam_mysql.c: 在顶层:
pam_mysql.c:673: 错误:expected ‘)’ before ‘*’ token
pam_mysql.c: 在函数 ‘askForPassword’ 中:
pam_mysql.c:800: 警告:传统 C 不接受 ISO C 风格的函数定义
pam_mysql.c: 在顶层:
pam_mysql.c:839: 错误:expected ‘)’ before ‘*’ token
pam_mysql.c: 在函数 ‘pam_sm_authenticate’ 中:
pam_mysql.c:982: 警告:传统 C 不接受 ISO C 风格的函数定义
pam_mysql.c:989: 错误:‘MYSQL’ 未声明 (在此函数内第一次使用)
pam_mysql.c:989: 错误:expected ‘;’ before ‘auth_sql_server’
pam_mysql.c:1009: 警告:提领类型双关的指针将破坏强重叠规则
pam_mysql.c:1014: 警告:提领类型双关的指针将破坏强重叠规则
pam_mysql.c:1019: 警告:隐式声明函数 ‘db_connect’
pam_mysql.c:1019: 警告:对 ‘db_connect’ 的嵌套的外部声明
pam_mysql.c:1019: 错误:‘auth_sql_server’ 未声明 (在此函数内第一次使用)
pam_mysql.c:1027: 警告:隐式声明函数 ‘db_checkpasswd’
pam_mysql.c:1027: 警告:对 ‘db_checkpasswd’ 的嵌套的外部声明
pam_mysql.c: 在函数 ‘pam_sm_acct_mgmt’ 中:
pam_mysql.c:1047: 警告:传统 C 不接受 ISO C 风格的函数定义
pam_mysql.c: 在函数 ‘pam_sm_setcred’ 中:
pam_mysql.c:1057: 警告:传统 C 不接受 ISO C 风格的函数定义
pam_mysql.c: 在函数 ‘pam_sm_chauthtok’ 中:
pam_mysql.c:1069: 警告:传统 C 不接受 ISO C 风格的函数定义
pam_mysql.c:1077: 错误:‘MYSQL’ 未声明 (在此函数内第一次使用)
pam_mysql.c:1077: 错误:expected ‘;’ before ‘auth_sql_server’
pam_mysql.c:1100: 错误:‘auth_sql_server’ 未声明 (在此函数内第一次使用)
pam_mysql.c:1113: 警告:提领类型双关的指针将破坏强重叠规则
pam_mysql.c:1120: 警告:提领类型双关的指针将破坏强重叠规则
pam_mysql.c:1147: 警告:提领类型双关的指针将破坏强重叠规则
pam_mysql.c:1158: 警告:提领类型双关的指针将破坏强重叠规则
pam_mysql.c:1173: 警告:提领类型双关的指针将破坏强重叠规则
pam_mysql.c:1180: 警告:提领类型双关的指针将破坏强重叠规则
pam_mysql.c:1187: 警告:隐式声明函数 ‘updatePasswd’
pam_mysql.c:1187: 警告:对 ‘updatePasswd’ 的嵌套的外部声明
pam_mysql.c: 在函数 ‘pam_sm_open_session’ 中:
pam_mysql.c:1201: 警告:传统 C 不接受 ISO C 风格的函数定义
pam_mysql.c: 在函数 ‘pam_sm_close_session’ 中:
pam_mysql.c:1211: 警告:传统 C 不接受 ISO C 风格的函数定义
make: *** [dynamic/pam_mysql.o] 错误 1

以下是修改后的Makefile文件的部分内容(其中红色部分是一般需要修改的c头文件的路径和库文件的路径):

 # Convenient defaults for compiling independently of the full source
# tree.
ifndef FULL_LINUX_PAM_SOURCE_TREE
export DYNAMIC=-DPAM_DYNAMIC
export CC=gcc
export CFLAGS=-O2 -Dlinux -DLINUX_PAM \
-ansi -D_POSIX_SOURCE -Wall -Wwrite-strings \
-Wpointer-arith -Wcast-qual -Wcast-align -Wtraditional \
-Wstrict-prototypes -Wmissing-prototypes -Wnested-externs -Winline \
-Wshadow -pedantic -fPIC -I/usr/local/mysql/include/mysql
export MKDIR=mkdir -p
export LD_D=gcc -shared -Xlinker -x -L/usr/local/mysql/lib/mysql -lz
endif


我是源码安装 mysql的.上面C头文件路径和库文件路径,确认不会错.但编译的时候还是出错,郁闷了,请各位帮助解答!

--转自 北京联动北方科技有限公司




赞(0)    操作        顶端 
总帖数
1
每页帖数
101/1页1
返回列表
发新帖子
请输入验证码: 点击刷新验证码
您需要登录后才可以回帖 登录 | 注册
技术讨论