« squid快速编译安装 | 首页 | 《Postfix权威指南》 »

April 29, 2006

Courier-IMAP编译出错解决

编译Courier-IMAP的时候,出现以下报错信息:

imaplogin.c:35:32: courierauth.h: 没有那个文件或目录
imaplogin.c:36:37: courierauthdebug.h: 没有那个文件或目录
imaplogin.c:159: warning: `struct authinfo' declared inside parameter list
imaplogin.c:159: warning: its scope is only this definition or declaration, which is probably not what you want
imaplogin.c: In function `login_callback':
imaplogin.c:169: dereferencing pointer to incomplete type
imaplogin.c:170: warning: implicit declaration of function `auth_getoption'
imaplogin.c:170: dereferencing pointer to incomplete type
imaplogin.c:171: warning: assignment makes pointer from integer without a cast
imaplogin.c:175: dereferencing pointer to incomplete type
imaplogin.c:180: dereferencing pointer to incomplete type
imaplogin.c:184: dereferencing pointer to incomplete type
imaplogin.c:199: dereferencing pointer to incomplete type
imaplogin.c:200: dereferencing pointer to incomplete type
imaplogin.c:223: warning: implicit declaration of function `auth_callback_default'
imaplogin.c:227: dereferencing pointer to incomplete type
imaplogin.c:228: dereferencing pointer to incomplete type
imaplogin.c:233: dereferencing pointer to incomplete type
imaplogin.c:233: dereferencing pointer to incomplete type
imaplogin.c:243: dereferencing pointer to incomplete type
imaplogin.c:247: dereferencing pointer to incomplete type
imaplogin.c:251: dereferencing pointer to incomplete type
imaplogin.c:252: dereferencing pointer to incomplete type
imaplogin.c: In function `do_imap_command':
imaplogin.c:281: warning: implicit declaration of function `courier_authdebug_login'
imaplogin.c:375: warning: implicit declaration of function `auth_login'
imaplogin.c:376: warning: implicit declaration of function `courier_safe_printf'
imaplogin.c: In function `main':
imaplogin.c:454: warning: implicit declaration of function `courier_authdebug_login_init'
imaplogin.c: In function `login_imap':
imaplogin.c:599: warning: implicit declaration of function `DPRINTF'
make[3]: *** [imaplogin.o] Error 1
make[3]: Leaving directory `/root/soft/postfix/courier-imap-4.1.0/imap'
make[2]: *** [all] Error 2
make[2]: Leaving directory `/root/soft/postfix/courier-imap-4.1.0/imap'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/root/soft/postfix/courier-imap-4.1.0'
make: *** [all] Error 2

google寻找了一圈,没有实质性的答案,不过仔细看了编译出错的,很快就找到解决办法,就是在预编译的时候加 CPPFLAGS='-I/usr/local/courier-authlib/include'

那完整的编译参数是
./configure --prefix=/usr/local/courier-imap --with-redhat --enable-unicode --disable-root-check --with-trashquota --without-ipv6  \
CPPFLAGS='-I/usr/local/courier-authlib/include'  \
COURIERAUTHCONFIG='/usr/local/courier-authlib/bin/courierauthconfig'

由 frank 发表于 April 29, 2006 1:32 PM

本网所有文章建立在 创作公用 协议下。版权声明:可以任意转载,转载时请务必以超链接形式标明文章原始出处和作者信息及以上“创作共用”声明。

补充一点,要是大家在编译courier-authlib的时候加了--without-stdheaderdir这个参数,那就在编译imap的时候,即使不加参数也不会报错,同样的问题,在以后编译maildrop的时候也会碰到,所以大家在编译courier-authlib的时候最好还是加上--without-stdheaderdir这个参数。

frank 发表于 May 8, 2006 3:19 PM

发表评论




是否保存个人讯息?