Chinaunix

标题: 麻烦marion兄帮忙 [打印本页]

作者: fish007    时间: 2007-10-18 17:35
标题: 麻烦marion兄帮忙
系统是rhel4,根据marion的文章搭建mail服务器,前面各部分的软件安装正常,就是在安装courier-authlib-0.59.3时有点问题
我用如下选项配置courier-authlib-0.59.3
./configure
    --prefix=/usr/local/courier-authlib
    --sysconfdir=/etc
    --without-authpam
    --without-authldap
    --without-authpwd
    --without-authshadow
    --without-authvchkpw
    --without-authpgsql
    --with-authmysql
    --with-mysql-libs=/usr/local/mysql/lib/mysql
    --with-mysql-includes=/usr/local/mysql/inculde/mysql
    --with-redhat
    --with-authmysqlrc=/etc/authmysqlrc
    --with-authdaemonrc=/etc/authdaemonrc
    CFLAGS="-march=i686 -O2 -fexpensive-optimizations"  
    CXXFLAGS="-march=i686 -O2 -fexpensive-optimizations"
在执行make的时候出现如下错误:
Compiling authmysql.c
In file included from authmysql.c:18:
authmysql.h:8:19: mysql.h: No such file or directory
authmysql.h:9:20: errmsg.h: No such file or directory
make[2]: *** [authmysql.lo] Error 1
make[2]: Leaving directory `/usr/local/src/courier-authlib-0.59.3'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/usr/local/src/courier-authlib-0.59.3'
make: *** [all] Error 2
查资料说是缺少mysql-devel,于是就从系统安装盘安装了一个rpm格式的。
作者: fish007    时间: 2007-10-19 08:42
原帖由 fish007 于 2007-10-18 17:35 发表
系统是rhel4,根据marion的文章搭建mail服务器,前面各部分的软件安装正常,就是在安装courier-authlib-0.59.3时有点问题
我用如下选项配置courier-authlib-0.59.3
./configure
    --prefix=/usr/local/co ...

装完mysql-devel后,问题仍旧
作者: marion    时间: 2007-10-19 10:19
这是由于编译时找不到所需要的mysql的相关头文件所致,你可以把mysql安装目录下的头文件链接至/usr/include或/usr/local/include来解决此问题。

另:这里并不需要那个rpm格式的mysql-devel……

[ 本帖最后由 marion 于 2007-10-19 10:20 编辑 ]
作者: fish007    时间: 2007-10-20 10:06
原帖由 marion 于 2007-10-19 10:19 发表
这是由于编译时找不到所需要的mysql的相关头文件所致,你可以把mysql安装目录下的头文件链接至/usr/include或/usr/local/include来解决此问题。

另:这里并不需要那个rpm格式的mysql-devel……

谢谢,按照你的建议,我把错误提示中所缺的authmysql.h(位于courier-authlib解压后的目录中),mysql.h(mysql的安装目录中的include/mysql目录中),errmsg.h(mysql源目录中的include目录下)拷贝至/usr/include中再make时出现如下错误提示(截取最后一部分):
/usr/include/mysql.h:278: error: storage size of `scramble' isn't known
/usr/include/mysql.h:712: error: storage size of `last_error' isn't known
/usr/include/mysql.h:713: error: storage size of `sqlstate' isn't known
make[2]: *** [authmysql.lo] Error 1
make[2]: Leaving directory `/usr/local/src/webmail/courier-authlib-0.59.3'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/usr/local/src/webmail/courier-authlib-0.59.3'
make: *** [all] Error 2
还需你的解答,谢谢!
作者: marion    时间: 2007-10-20 13:33
这是由于编译时找不到所需要的mysql的相关头文件所致,你可以把mysql安装目录下的头文件链接至/usr/include或/usr/local/include来解决此问题。

仅仅拷贝那三个文件是不可以的。

类同如下:
#ln   -sv  /usr/local/mysql/include/mysql/*   /usr/local/include

[ 本帖最后由 marion 于 2007-10-20 13:34 编辑 ]
作者: fish007    时间: 2007-10-20 14:58
原帖由 marion 于 2007-10-20 13:33 发表
这是由于编译时找不到所需要的mysql的相关头文件所致,你可以把mysql安装目录下的头文件链接至/usr/include或/usr/local/include来解决此问题。

仅仅拷贝那三个文件是不可以的。

类同如下:
#ln   -sv   ...

非常感谢,回去我再试试看,然后再把结果贴上来。
作者: fish007    时间: 2007-10-22 14:49
原帖由 marion 于 2007-10-20 13:33 发表
这是由于编译时找不到所需要的mysql的相关头文件所致,你可以把mysql安装目录下的头文件链接至/usr/include或/usr/local/include来解决此问题。

仅仅拷贝那三个文件是不可以的。

类同如下:
#ln   -sv   ...

根据marion的方法可以解决问题了




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2