[Dovecot] crypt missing (configure problem)

Fabio Busatto fabio.busatto at sikurezza.org
Fri Mar 16 15:28:47 EET 2007


Hi, I need some feedback for the following problem I encountered
compiling dovecot.

It seems to be a wrong check in configure, that comes out in a fatal
error (crypt symbol not found because the -lcrypt is omitted).
With these configure parameters no crypt module is recognized (and so
the need_crypt variable is still off), but at compile time gcc fails
to create executables.

I solve the issue forcing the need_crypt variable to on in configure,
but maybe it can be solved clearly adding the right checks.

Here is some info:
Dovecot: tested on 1.0.rc17 and 1.0.rc27
OS: linux
Configuration parameters: ./configure --without-passwd \
                                      --without-passwd-file \
                                      --without-shadow \
                                      --without-pam \
                                      --without-bsdauth \
                                      --without-gssapi \
                                      --without-sia \
                                      --without-ldap \
                                      --without-vpopmail \
                                      --without-static-userdb \
                                      --without-sql \
                                      --without-pgsql \
                                      --without-mysql \
                                      --without-sqlite \
                                      --without-deliver \
                                      --without-sql-drivers \
                                      --with-storages=maildir \
                                      --disable-ipv6

Here there are the errors:

Making all in auth
make[3]: Entering directory `/usr/src/dovecot-1.0.rc27/src/auth'
/bin/sh ../../libtool --tag=CC   --mode=link gcc  -std=gnu99 -g -O2 -Wall -W -Wmissing-prototypes -Wmissing-declarations -Wpointer-arith -Wchar-subscripts -Wformat=2 -Wbad-function-cast    -export-dynamic  -o dovecot-auth auth.o auth-cache.o auth-client-connection.o auth-master-connection.o auth-master-listener.o auth-module.o auth-request.o auth-request-handler.o auth-stream.o auth-worker-client.o auth-worker-server.o db-ldap.o db-sql.o db-passwd-file.o main.o mech.o mech-anonymous.o mech-plain.o mech-login.o mech-cram-md5.o mech-digest-md5.o mech-ntlm.o mech-gssapi.o mech-rpa.o mech-apop.o passdb.o passdb-blocking.o passdb-bsdauth.o passdb-cache.o passdb-ldap.o passdb-passwd.o passdb-passwd-file.o passdb-pam.o passdb-checkpassword.o passdb-shadow.o passdb-sia.o passdb-vpopmail.o passdb-sql.o userdb.o userdb-blocking.o userdb-ldap.o userdb-passwd.o userdb-passwd-file.o userdb-prefetch.o userdb-static.o userdb-vpopmail.o userdb-sql.o libpassword.a ../lib-settings/libsettings.a ../lib-ntlm/libntlm.a ../lib-sql/libsql.a ../lib/liblib.a   -export-dynamic -ldl
gcc -std=gnu99 -g -O2 -Wall -W -Wmissing-prototypes -Wmissing-declarations -Wpointer-arith -Wchar-subscripts -Wformat=2 -Wbad-function-cast -o dovecot-auth auth.o auth-cache.o auth-client-connection.o auth-master-connection.o auth-master-listener.o auth-module.o auth-request.o auth-request-handler.o auth-stream.o auth-worker-client.o auth-worker-server.o db-ldap.o db-sql.o db-passwd-file.o main.o mech.o mech-anonymous.o mech-plain.o mech-login.o mech-cram-md5.o mech-digest-md5.o mech-ntlm.o mech-gssapi.o mech-rpa.o mech-apop.o passdb.o passdb-blocking.o passdb-bsdauth.o passdb-cache.o passdb-ldap.o passdb-passwd.o passdb-passwd-file.o passdb-pam.o passdb-checkpassword.o passdb-shadow.o passdb-sia.o passdb-vpopmail.o passdb-sql.o userdb.o userdb-blocking.o userdb-ldap.o userdb-passwd.o userdb-passwd-file.o userdb-prefetch.o userdb-static.o userdb-vpopmail.o userdb-sql.o -Wl,--export-dynamic  libpassword.a ../lib-settings/libsettings.a ../lib-ntlm/libntlm.a ../lib-sql/libsql.a ../lib/liblib.a -ldl
libpassword.a(mycrypt.o)(.text+0x5): In function `mycrypt':
/usr/src/dovecot-1.0.rc27/src/auth/mycrypt.c:20: undefined reference to `crypt'
collect2: ld returned 1 exit status
make[3]: *** [dovecot-auth] Error 1

Making all in util
make[3]: Entering directory `/usr/src/dovecot-1.0.rc27/src/util'
/bin/sh ../../libtool --tag=CC   --mode=link gcc  -std=gnu99 -g -O2 -Wall -W -Wmissing-prototypes -Wmissing-declarations -Wpointer-arith -Wchar-subscripts -Wformat=2 -Wbad-function-cast      -o dovecotpw dovecotpw.o ../auth/libpassword.a ../lib-ntlm/libntlm.a ../lib/liblib.a   -export-dynamic -ldl
gcc -std=gnu99 -g -O2 -Wall -W -Wmissing-prototypes -Wmissing-declarations -Wpointer-arith -Wchar-subscripts -Wformat=2 -Wbad-function-cast -o dovecotpw dovecotpw.o -Wl,--export-dynamic  ../auth/libpassword.a ../lib-ntlm/libntlm.a ../lib/liblib.a -ldl
../auth/libpassword.a(mycrypt.o)(.text+0x5): In function `mycrypt':
/usr/src/dovecot-1.0.rc27/src/auth/mycrypt.c:20: undefined reference to `crypt'
collect2: ld returned 1 exit status
make[3]: *** [dovecotpw] Error 1

Bye
Fabio
-- 
Fabio Busatto <fabio.busatto at sikurezza.org>


More information about the dovecot mailing list