[Dovecot] Compiling v1.3 on different OSes

Curtis Maloney cmaloney at cardgate.net
Tue Apr 7 02:35:11 EEST 2009


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 at SUNW_1.22'
> ../lib-dovecot/.libs/libdovecot.so: undefined reference to `dlopen at SUNW_1.22'
> ../lib-dovecot/.libs/libdovecot.so: undefined reference to `dlsym at SUNW_1.22'
> ../lib-dovecot/.libs/libdovecot.so: undefined reference to `dlclose at 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 at cardgate.net



More information about the dovecot mailing list