// hotsmtpd won't compile
// There is either something wrong with the sasl libs or something
wrong with hotsmtpd.c
Configure results:
------------------------------------------
Building hotwayd: yes
Building hotsmtpd: yes
------------------------------------------
Making install in hotsmtpd
make[1]: Entering directory `/home/download/hotwayd-0.8/hotsmtpd'
if gcc -DPACKAGE_NAME=\"hotwayd\"
-DPACKAGE_TARNAME=\"hotwayd\"
-DPACKAGE_VERSION=\"0.8\" -DPACKAGE_STRING=\"hotwayd\
0.8\" -DPACKAGE_BUGREPORT=\"\" -DPACKAGE=\"hotwayd\"
-DVERSION=\"0.8\" -DSTDC_HEADERS=1
-DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1
-DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1
-DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1
-DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1
-DHAVE_UNISTD_H=1 -DHAVE_FCNTL_H=1
-DHAVE_MALLOC_H=1 -DHAVE_SYSLOG_H=1
-DHAVE_UNISTD_H=1 -DHAVE_SASL_SASL_H=1
-DHAVE_SASL_SASLUTIL_H=1 -DRETSIGTYPE=void
-DHAVE_GETHOSTNAME=1 -DHAVE_STRDUP=1
-DHAVE_STRSTR=1 -DHAVE_STRTOUL=1 -I. -I. `xml2-config
--cflags` -g -O2 -I/usr/include/libxml2 -MT hotsmtpd.o -MD -MP
-MF ".deps/hotsmtpd.Tpo" -c -o hotsmtpd.o hotsmtpd.c; \
then mv -f ".deps/hotsmtpd.Tpo" ".deps/hotsmtpd.Po"; else rm -f
".deps/hotsmtpd.Tpo"; exit 1; fi
hotsmtpd.c:108: warning: `struct propctx' declared inside parameter
list
hotsmtpd.c:108: warning: its scope is only this definition or
declaration, which is probably not what you want
hotsmtpd.c: In function `hello_cmd':
hotsmtpd.c:216: warning: passing arg 5 of `sasl_server_new' makes
integer from pointer without a cast
hotsmtpd.c:216: error: too many arguments to function
`sasl_server_new'
hotsmtpd.c:218: warning: passing arg 6 of `sasl_listmech' from
incompatible pointer type
hotsmtpd.c: In function `auth_cmd':
hotsmtpd.c:248: warning: passing arg 4 of `sasl_decode64' makes
pointer from integer without a cast
hotsmtpd.c:248: error: too many arguments to function
`sasl_decode64'
hotsmtpd.c:249: warning: passing arg 5 of `sasl_server_start' from
incompatible pointer type
hotsmtpd.c:249: error: too few arguments to function
`sasl_server_start'
hotsmtpd.c:261: warning: passing arg 4 of `sasl_decode64' makes
pointer from integer without a cast
hotsmtpd.c:261: error: too many arguments to function
`sasl_decode64'
hotsmtpd.c:262: warning: passing arg 4 of `sasl_server_step' from
incompatible pointer type
hotsmtpd.c:262: error: too few arguments to function
`sasl_server_step'
hotsmtpd.c: In function `init_sasl':
hotsmtpd.c:623: error:
`SASL_CB_SERVER_USERDB_CHECKPASS' undeclared (first use
in this function)
hotsmtpd.c:623: error: (Each undeclared identifier is reported only
once
hotsmtpd.c:623: error: for each function it appears in.)
hotsmtpd.c:623: error: initializer element is not constant
hotsmtpd.c:623: error: (near initialization for `callbacks[0].id')
hotsmtpd.c:624: error: initializer element is not constant
hotsmtpd.c:624: error: (near initialization for `callbacks[0]')
hotsmtpd.c:626: error: initializer element is not constant
hotsmtpd.c:626: error: (near initialization for `callbacks[1]')
make[1]: *** [hotsmtpd.o] Error 1
make[1]: Leaving directory `/home/download/hotwayd-0.8/hotsmtpd'
make: *** [install-recursive] Error 1
Logged In: YES
user_id=1127042
// I used the libs from cyrus-sasl-1.5.28.tar.gz
Logged In: YES
user_id=569736
The problem here is that -lsasl2 isn't on the compile line..
it is strange that the configure script allowed you to build
hotsmtpd without first having a working cyrus-sasl to
compile against. How do you try to compile it? By running
configure in the main hotwayd directory and then make in the
main hotwayd directory? What's your system configuration?
Linux/cygwin?
Logged In: YES
user_id=1139667
Then it is no wonder it wont compile for you.
You need at least version 2.0 of the cyrus sasl library.
Get it at http://asg.web.cmu.edu/sasl/sasl-library.html
Logged In: YES
user_id=569736
I've added an extra check in configure.in for 0.8.2 to check
that you have an appropriate version of cyrus-sasl installed
so this should now happy. To fix it install cyrus-sasl-2.x