Timo Sirainen wrote:
I was hoping to finally get shared libdovecot.so and libdovecot-storage.so libraries for v1.3, so Sieve (and maybe others) could link against them. But I'm running into trouble getting it to compile in Solaris 10. Could you non-Linux users test if this compiles with you?
http://dovecot.org/tmp/dovecot-1.3.UNSTABLE.tar.gz
Or if anyone has ideas why this happens, I'd like to know:
libtool: link: gcc -std=gnu99 -g -O2 -Wall -W -Wmissing-prototypes -Wmissing-declarations -Wpointer-arith -Wchar-subscripts -Wformat=2 -Wbad-function-cast -Wstrict-aliasing=2 -I/home/cras/include -o .libs/rawlog rawlog.o ../lib-dovecot/.libs/libdovecot.so -lrt -lsocket -lsendfile -Wl,-rpath -Wl,/usr/local/lib/dovecot ../lib-dovecot/.libs/libdovecot.so: undefined reference to
dlerror@SUNW_1.22' ../lib-dovecot/.libs/libdovecot.so: undefined reference to
dlopen@SUNW_1.22' ../lib-dovecot/.libs/libdovecot.so: undefined reference todlsym@SUNW_1.22' ../lib-dovecot/.libs/libdovecot.so: undefined reference to
dlclose@SUNW_1.22'If I disable plugins (so dl*() functions aren't used) it compiles, so it's only those functions that are problematic. pvs -s /lib/libc.so lists the dl* functions under SUNW_1.22 so I'd think that should have worked..
Solaris 9 + GCC:
$ ./configure [...] Install prefix ...................... : /usr/local File offsets ........................ : 64bit I/O loop method ..................... : poll File change notification method ..... : none Building with SSL support ........... : yes (OpenSSL) Building with IPv6 support .......... : yes Building with pop3 server ........... : yes Building with mail delivery agent .. : yes Building with GSSAPI support ........ : no Building with user database modules . : static prefetch passwd passwd-file checkpassword Building with password lookup modules : passwd passwd-file shadow pam checkpassword Building with SQL drivers ............:
$ make [........] libtool: link: gcc -std=gnu99 -g -O2 -Wall -W -Wmissing-prototypes -Wmissing-declarations -Wpointer-arith -Wchar-subscripts -Wformat=2 -Wbad-function-cast -o .libs/dovecot-auth auth.o auth-cache.o auth-client-connection.o auth-master-connection.o auth-master-listener.o auth-request.o auth-request-handler.o auth-settings.o auth-stream.o auth-worker-client.o auth-worker-server.o db-checkpassword.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-gssapi.o mech-ntlm.o mech-otp.o mech-skey.o mech-rpa.o mech-apop.o mech-winbind.o otp-skey-common.o plain-common.o passdb.o passdb-blocking.o passdb-bsdauth.o passdb-cache.o passdb-checkpassword.o passdb-passwd.o passdb-passwd-file.o passdb-pam.o passdb-shadow.o passdb-sia.o passdb-vpopmail.o passdb-sql.o userdb.o userdb-blocking.o userdb-checkpassword.o userdb-nss.o userdb-passwd.o userdb-passwd-file.o userdb-prefetch.o userdb-static.o userdb-vpopmail.o userdb-sql.o db-ldap.o passdb-ldap.o userdb-ldap.o libpassword.a ../lib-ntlm/libntlm.a ../lib-otp/libotp.a ../lib-sql/.libs/libsql.a ../lib-dovecot/.libs/libdovecot.so -L/usr/local/lib -L/usr/local/ssl/lib -ldl -lpam -lrt -lnsl -lsocket -lsendfile -R/usr/local/lib/dovecot Undefined first referenced symbol in file libiconv_close ../lib-dovecot/.libs/libdovecot.so libiconv_open ../lib-dovecot/.libs/libdovecot.so libiconv ../lib-dovecot/.libs/libdovecot.so ld: fatal: Symbol referencing errors. No output written to .libs/dovecot-auth collect2: ld returned 1 exit status *** Error code 1 make: Fatal error: Command failed for target `dovecot-auth'
-- Curtis Maloney cmaloney@cardgate.net