Hello Timo!
Timo Sirainen <tss@iki.fi> wrote:
The SSL libraries shouldn't be linked when imapc isn't built. Also it probably wouldn't have built with you if you used configure --without-shared-libs. I did a bit large change that hopefully fixes everything: http://hg.dovecot.org/dovecot-2.1/rev/e540404debb7
Thanks for this patch. I've applied it to the dovecot-20120303 nightly snapshot. The good news is, compilation works fine. The bad news is, the libraries and binaries don't work because they don't find the custom SSL libraries.
Greetings, Andreas
===============================================================================
$ patch -p1 -s < ../dovecot-20120303-e540404debb7.patch $ env SSL_CFLAGS="-I/usr/local/ssl/include" SSL_LIBS="-L/usr/local/ssl/lib -Wl,-R/usr/local/ssl/lib -lcrypto -lssl" ./configure --prefix=/usr/local/Dovecot-20120303 --with-ssl=openssl --with-ssldir=/usr/local/Dovecot-20120303/etc/dovecot/certs && make && make install
===============================================================================
$ ldd src/*/.libs/*.so src/auth/.libs/libauthdb_imap.so: linux-gate.so.1 => (0x0013a000) libcrypto.so.1.0.0 => not found libssl.so.1.0.0 => not found libdovecot.so.0 => /usr/local/src/dovecot-20120303/src/lib-dovecot/.libs/libdovecot.so.0 (0x0091d000) librt.so.1 => /lib/librt.so.1 (0x003c7000) libc.so.6 => /lib/libc.so.6 (0x00c6a000) libdl.so.2 => /lib/libdl.so.2 (0x009a6000) libpthread.so.0 => /lib/libpthread.so.0 (0x00491000) /lib/ld-linux.so.2 (0x007a4000) src/lib-dovecot/.libs/libdovecot.so: linux-gate.so.1 => (0x0053c000) libdl.so.2 => /lib/libdl.so.2 (0x0056d000) librt.so.1 => /lib/librt.so.1 (0x00925000) libc.so.6 => /lib/libc.so.6 (0x00626000) /lib/ld-linux.so.2 (0x00a61000) libpthread.so.0 => /lib/libpthread.so.0 (0x003ec000) src/lib-lda/.libs/libdovecot-lda.so: linux-gate.so.1 => (0x00b75000) libdovecot-storage.so.0 => /usr/local/src/dovecot-20120303/src/lib-storage/.libs/libdovecot-storage.so.0 (0x00c9a000) libdovecot.so.0 => /usr/local/src/dovecot-20120303/src/lib-dovecot/.libs/libdovecot.so.0 (0x0062d000) librt.so.1 => /lib/librt.so.1 (0x00b3d000) libc.so.6 => /lib/libc.so.6 (0x00110000) libcrypto.so.1.0.0 => not found libssl.so.1.0.0 => not found libdl.so.2 => /lib/libdl.so.2 (0x002f1000) libpthread.so.0 => /lib/libpthread.so.0 (0x00ab1000) /lib/ld-linux.so.2 (0x00f23000) src/lib-sql/.libs/libdovecot-sql.so: linux-gate.so.1 => (0x006d3000) libdovecot.so.0 => /usr/local/src/dovecot-20120303/src/lib-dovecot/.libs/libdovecot.so.0 (0x0096c000) libdl.so.2 => /lib/libdl.so.2 (0x0078c000) librt.so.1 => /lib/librt.so.1 (0x00110000) libc.so.6 => /lib/libc.so.6 (0x00119000) /lib/ld-linux.so.2 (0x00731000) libpthread.so.0 => /lib/libpthread.so.0 (0x00569000) src/lib-ssl-iostream/.libs/libdovecot-ssl.so: linux-gate.so.1 => (0x00ea1000) libdl.so.2 => /lib/libdl.so.2 (0x00b31000) libcrypto.so.1.0.0 => /usr/local/ssl/lib/libcrypto.so.1.0.0 (0x00110000) libssl.so.1.0.0 => /usr/local/ssl/lib/libssl.so.1.0.0 (0x00dcf000) librt.so.1 => /lib/librt.so.1 (0x00fa5000) libc.so.6 => /lib/libc.so.6 (0x002d3000) /lib/ld-linux.so.2 (0x002b4000) libpthread.so.0 => /lib/libpthread.so.0 (0x00d3c000) src/lib-storage/.libs/libdovecot-storage.so: linux-gate.so.1 => (0x002ee000) libcrypto.so.1.0.0 => not found libssl.so.1.0.0 => not found libdovecot.so.0 => /usr/local/src/dovecot-20120303/src/lib-dovecot/.libs/libdovecot.so.0 (0x00395000) libdl.so.2 => /lib/libdl.so.2 (0x00958000) librt.so.1 => /lib/librt.so.1 (0x00333000) libc.so.6 => /lib/libc.so.6 (0x00d45000) /lib/ld-linux.so.2 (0x008e9000) libpthread.so.0 => /lib/libpthread.so.0 (0x00f06000) src/login-common/.libs/libdovecot-login.so: linux-gate.so.1 => (0x00d66000) libcrypto.so.1.0.0 => not found libssl.so.1.0.0 => not found libdovecot.so.0 => /usr/local/src/dovecot-20120303/src/lib-dovecot/.libs/libdovecot.so.0 (0x00c82000) librt.so.1 => /lib/librt.so.1 (0x00f64000) libc.so.6 => /lib/libc.so.6 (0x00110000) libdl.so.2 => /lib/libdl.so.2 (0x00b26000) libpthread.so.0 => /lib/libpthread.so.0 (0x0029a000) /lib/ld-linux.so.2 (0x00520000)
===============================================================================
$ ldd /usr/local/Dovecot-20120303/lib/dovecot/*.so /usr/local/Dovecot-20120303/*bin/* /usr/local/Dovecot-20120303/lib/dovecot/lib01_acl_plugin.so: linux-gate.so.1 => (0x00230000) librt.so.1 => /lib/librt.so.1 (0x00b69000) libc.so.6 => /lib/libc.so.6 (0x00231000) libpthread.so.0 => /lib/libpthread.so.0 (0x00a82000) /lib/ld-linux.so.2 (0x007eb000) /usr/local/Dovecot-20120303/lib/dovecot/lib02_imap_acl_plugin.so: linux-gate.so.1 => (0x004fb000) lib01_acl_plugin.so => /usr/local/Dovecot-20120303/lib/dovecot/lib01_acl_plugin.so (0x00c6f000) librt.so.1 => /lib/librt.so.1 (0x0061d000) libc.so.6 => /lib/libc.so.6 (0x001dd000) libpthread.so.0 => /lib/libpthread.so.0 (0x00fae000) /lib/ld-linux.so.2 (0x00b89000) /usr/local/Dovecot-20120303/lib/dovecot/lib02_lazy_expunge_plugin.so: linux-gate.so.1 => (0x00e5b000) librt.so.1 => /lib/librt.so.1 (0x00847000) libc.so.6 => /lib/libc.so.6 (0x00110000) libpthread.so.0 => /lib/libpthread.so.0 (0x0039d000) /lib/ld-linux.so.2 (0x00a4e000) /usr/local/Dovecot-20120303/lib/dovecot/lib05_snarf_plugin.so: linux-gate.so.1 => (0x001e2000) librt.so.1 => /lib/librt.so.1 (0x00441000) libc.so.6 => /lib/libc.so.6 (0x00220000) libpthread.so.0 => /lib/libpthread.so.0 (0x00cfa000) /lib/ld-linux.so.2 (0x00acd000) /usr/local/Dovecot-20120303/lib/dovecot/lib10_quota_plugin.so: linux-gate.so.1 => (0x00fa9000) librt.so.1 => /lib/librt.so.1 (0x00bb4000) libc.so.6 => /lib/libc.so.6 (0x00d5e000) libpthread.so.0 => /lib/libpthread.so.0 (0x00be7000) /lib/ld-linux.so.2 (0x0055c000) /usr/local/Dovecot-20120303/lib/dovecot/lib11_imap_quota_plugin.so: linux-gate.so.1 => (0x00426000) lib10_quota_plugin.so => /usr/local/Dovecot-20120303/lib/dovecot/lib10_quota_plugin.so (0x004c9000) librt.so.1 => /lib/librt.so.1 (0x00e35000) libc.so.6 => /lib/libc.so.6 (0x009b5000) libpthread.so.0 => /lib/libpthread.so.0 (0x00146000) /lib/ld-linux.so.2 (0x00507000) /usr/local/Dovecot-20120303/lib/dovecot/lib11_trash_plugin.so: linux-gate.so.1 => (0x00baf000) lib10_quota_plugin.so => /usr/local/Dovecot-20120303/lib/dovecot/lib10_quota_plugin.so (0x00d8b000) librt.so.1 => /lib/librt.so.1 (0x0041e000) libc.so.6 => /lib/libc.so.6 (0x00bb6000) libpthread.so.0 => /lib/libpthread.so.0 (0x0088a000) /lib/ld-linux.so.2 (0x00a6d000) /usr/local/Dovecot-20120303/lib/dovecot/lib15_notify_plugin.so: linux-gate.so.1 => (0x00110000) librt.so.1 => /lib/librt.so.1 (0x00f77000) libc.so.6 => /lib/libc.so.6 (0x00146000) libpthread.so.0 => /lib/libpthread.so.0 (0x00df9000) /lib/ld-linux.so.2 (0x004dd000) /usr/local/Dovecot-20120303/lib/dovecot/lib20_autocreate_plugin.so: linux-gate.so.1 => (0x005d2000) librt.so.1 => /lib/librt.so.1 (0x007ed000) libc.so.6 => /lib/libc.so.6 (0x00262000) libpthread.so.0 => /lib/libpthread.so.0 (0x00b48000) /lib/ld-linux.so.2 (0x00243000) /usr/local/Dovecot-20120303/lib/dovecot/lib20_expire_plugin.so: linux-gate.so.1 => (0x00110000) librt.so.1 => /lib/librt.so.1 (0x0099e000) libc.so.6 => /lib/libc.so.6 (0x0013c000) libpthread.so.0 => /lib/libpthread.so.0 (0x00a93000) /lib/ld-linux.so.2 (0x00460000) /usr/local/Dovecot-20120303/lib/dovecot/lib20_fts_plugin.so: linux-gate.so.1 => (0x002c1000) librt.so.1 => /lib/librt.so.1 (0x00ef2000) libc.so.6 => /lib/libc.so.6 (0x00c3a000) libpthread.so.0 => /lib/libpthread.so.0 (0x0028d000) /lib/ld-linux.so.2 (0x003f5000) /usr/local/Dovecot-20120303/lib/dovecot/lib20_listescape_plugin.so: linux-gate.so.1 => (0x0027c000) librt.so.1 => /lib/librt.so.1 (0x007cf000) libc.so.6 => /lib/libc.so.6 (0x00427000) libpthread.so.0 => /lib/libpthread.so.0 (0x00110000) /lib/ld-linux.so.2 (0x00d25000) /usr/local/Dovecot-20120303/lib/dovecot/lib20_mail_log_plugin.so: linux-gate.so.1 => (0x00cff000) lib15_notify_plugin.so => /usr/local/Dovecot-20120303/lib/dovecot/lib15_notify_plugin.so (0x00a2b000) librt.so.1 => /lib/librt.so.1 (0x00152000) libc.so.6 => /lib/libc.so.6 (0x00355000) libpthread.so.0 => /lib/libpthread.so.0 (0x00680000) /lib/ld-linux.so.2 (0x00c16000) /usr/local/Dovecot-20120303/lib/dovecot/lib20_virtual_plugin.so: linux-gate.so.1 => (0x0074d000) librt.so.1 => /lib/librt.so.1 (0x008d2000) libc.so.6 => /lib/libc.so.6 (0x004c2000) libpthread.so.0 => /lib/libpthread.so.0 (0x009c5000) /lib/ld-linux.so.2 (0x0038e000) /usr/local/Dovecot-20120303/lib/dovecot/lib20_zlib_plugin.so: linux-gate.so.1 => (0x004ab000) libz.so.1 => /lib/libz.so.1 (0x0091c000) libbz2.so.1 => /lib/libbz2.so.1 (0x00c4d000) librt.so.1 => /lib/librt.so.1 (0x00b30000) libc.so.6 => /lib/libc.so.6 (0x0075b000) libpthread.so.0 => /lib/libpthread.so.0 (0x00611000) /lib/ld-linux.so.2 (0x00bfd000) /usr/local/Dovecot-20120303/lib/dovecot/lib21_fts_squat_plugin.so: linux-gate.so.1 => (0x00df4000) lib20_fts_plugin.so => /usr/local/Dovecot-20120303/lib/dovecot/lib20_fts_plugin.so (0x00ea8000) librt.so.1 => /lib/librt.so.1 (0x0021d000) libc.so.6 => /lib/libc.so.6 (0x00bd1000) libpthread.so.0 => /lib/libpthread.so.0 (0x00d63000) /lib/ld-linux.so.2 (0x00b83000) /usr/local/Dovecot-20120303/lib/dovecot/lib30_imap_zlib_plugin.so: linux-gate.so.1 => (0x0059f000) lib20_zlib_plugin.so => /usr/local/Dovecot-20120303/lib/dovecot/lib20_zlib_plugin.so (0x00652000) librt.so.1 => /lib/librt.so.1 (0x00f2d000) libc.so.6 => /lib/libc.so.6 (0x00735000) libz.so.1 => /lib/libz.so.1 (0x00110000) libbz2.so.1 => /lib/libbz2.so.1 (0x00125000) libpthread.so.0 => /lib/libpthread.so.0 (0x00136000) /lib/ld-linux.so.2 (0x001f9000) /usr/local/Dovecot-20120303/lib/dovecot/lib90_stats_plugin.so: linux-gate.so.1 => (0x004c0000) librt.so.1 => /lib/librt.so.1 (0x00110000) libc.so.6 => /lib/libc.so.6 (0x006b2000) libpthread.so.0 => /lib/libpthread.so.0 (0x00992000) /lib/ld-linux.so.2 (0x00d92000) /usr/local/Dovecot-20120303/lib/dovecot/lib95_imap_stats_plugin.so: linux-gate.so.1 => (0x0076b000) lib90_stats_plugin.so => /usr/local/Dovecot-20120303/lib/dovecot/lib90_stats_plugin.so (0x00b90000) librt.so.1 => /lib/librt.so.1 (0x00215000) libc.so.6 => /lib/libc.so.6 (0x0021e000) libpthread.so.0 => /lib/libpthread.so.0 (0x00634000) /lib/ld-linux.so.2 (0x00e48000) /usr/local/Dovecot-20120303/lib/dovecot/libdovecot-lda.so: linux-gate.so.1 => (0x00d82000) libdovecot-storage.so.0 => /usr/local/Dovecot-20120303/lib/dovecot/libdovecot-storage.so.0 (0x009bb000) libdovecot.so.0 => /usr/local/Dovecot-20120303/lib/dovecot/libdovecot.so.0 (0x00110000) librt.so.1 => /lib/librt.so.1 (0x00542000) libc.so.6 => /lib/libc.so.6 (0x002f6000) libcrypto.so.1.0.0 => not found libssl.so.1.0.0 => not found libdl.so.2 => /lib/libdl.so.2 (0x006a6000) libpthread.so.0 => /lib/libpthread.so.0 (0x00189000) /lib/ld-linux.so.2 (0x002d7000) /usr/local/Dovecot-20120303/lib/dovecot/libdovecot-login.so: linux-gate.so.1 => (0x00f96000) libcrypto.so.1.0.0 => not found libssl.so.1.0.0 => not found libdovecot.so.0 => /usr/local/Dovecot-20120303/lib/dovecot/libdovecot.so.0 (0x00e56000) librt.so.1 => /lib/librt.so.1 (0x00371000) libc.so.6 => /lib/libc.so.6 (0x00168000) libdl.so.2 => /lib/libdl.so.2 (0x00623000) libpthread.so.0 => /lib/libpthread.so.0 (0x00ccd000) /lib/ld-linux.so.2 (0x0074f000) /usr/local/Dovecot-20120303/lib/dovecot/libdovecot.so: linux-gate.so.1 => (0x00bf3000) libdl.so.2 => /lib/libdl.so.2 (0x00a54000) librt.so.1 => /lib/librt.so.1 (0x00ad8000) libc.so.6 => /lib/libc.so.6 (0x00e63000) /lib/ld-linux.so.2 (0x00b1c000) libpthread.so.0 => /lib/libpthread.so.0 (0x005ac000) /usr/local/Dovecot-20120303/lib/dovecot/libdovecot-sql.so: linux-gate.so.1 => (0x008b7000) libdovecot.so.0 => /usr/local/Dovecot-20120303/lib/dovecot/libdovecot.so.0 (0x00909000) libdl.so.2 => /lib/libdl.so.2 (0x005f5000) librt.so.1 => /lib/librt.so.1 (0x008bc000) libc.so.6 => /lib/libc.so.6 (0x00675000) /lib/ld-linux.so.2 (0x004bc000) libpthread.so.0 => /lib/libpthread.so.0 (0x00184000) /usr/local/Dovecot-20120303/lib/dovecot/libdovecot-ssl.so: linux-gate.so.1 => (0x00ef2000) libdl.so.2 => /lib/libdl.so.2 (0x0033f000) libcrypto.so.1.0.0 => /usr/local/ssl/lib/libcrypto.so.1.0.0 (0x00a3d000) libssl.so.1.0.0 => /usr/local/ssl/lib/libssl.so.1.0.0 (0x0034e000) librt.so.1 => /lib/librt.so.1 (0x002ea000) libc.so.6 => /lib/libc.so.6 (0x00110000) /lib/ld-linux.so.2 (0x007d4000) libpthread.so.0 => /lib/libpthread.so.0 (0x0029a000) /usr/local/Dovecot-20120303/lib/dovecot/libdovecot-storage.so: linux-gate.so.1 => (0x0089e000) libcrypto.so.1.0.0 => not found libssl.so.1.0.0 => not found libdovecot.so.0 => /usr/local/Dovecot-20120303/lib/dovecot/libdovecot.so.0 (0x00be9000) libdl.so.2 => /lib/libdl.so.2 (0x00852000) librt.so.1 => /lib/librt.so.1 (0x001aa000) libc.so.6 => /lib/libc.so.6 (0x00442000) /lib/ld-linux.so.2 (0x00b8a000) libpthread.so.0 => /lib/libpthread.so.0 (0x00b0e000) /usr/local/Dovecot-20120303/bin/doveadm: linux-gate.so.1 => (0x00c6a000) libdovecot-storage.so.0 => /usr/local/Dovecot-20120303/lib/dovecot/libdovecot-storage.so.0 (0x00110000) libdovecot.so.0 => /usr/local/Dovecot-20120303/lib/dovecot/libdovecot.so.0 (0x00acf000) libcrypt.so.1 => /lib/libcrypt.so.1 (0x0066e000) libc.so.6 => /lib/libc.so.6 (0x00247000) libcrypto.so.1.0.0 => not found libssl.so.1.0.0 => not found libdl.so.2 => /lib/libdl.so.2 (0x001f4000) librt.so.1 => /lib/librt.so.1 (0x00ab5000) libfreebl3.so => /lib/libfreebl3.so (0x003d1000) /lib/ld-linux.so.2 (0x00228000) libpthread.so.0 => /lib/libpthread.so.0 (0x00cc3000) /usr/local/Dovecot-20120303/bin/doveconf: linux-gate.so.1 => (0x00830000) libdovecot.so.0 => /usr/local/Dovecot-20120303/lib/dovecot/libdovecot.so.0 (0x0032a000) libc.so.6 => /lib/libc.so.6 (0x00876000) libdl.so.2 => /lib/libdl.so.2 (0x00110000) librt.so.1 => /lib/librt.so.1 (0x002b6000) /lib/ld-linux.so.2 (0x007d2000) libpthread.so.0 => /lib/libpthread.so.0 (0x00634000) /usr/local/Dovecot-20120303/bin/dsync: linux-gate.so.1 => (0x00c8b000) libdovecot-storage.so.0 => /usr/local/Dovecot-20120303/lib/dovecot/libdovecot-storage.so.0 (0x00257000) libdovecot.so.0 => /usr/local/Dovecot-20120303/lib/dovecot/libdovecot.so.0 (0x00662000) libcrypt.so.1 => /lib/libcrypt.so.1 (0x00d15000) libc.so.6 => /lib/libc.so.6 (0x00dd1000) libcrypto.so.1.0.0 => not found libssl.so.1.0.0 => not found libdl.so.2 => /lib/libdl.so.2 (0x009b3000) librt.so.1 => /lib/librt.so.1 (0x0037f000) libfreebl3.so => /lib/libfreebl3.so (0x00110000) /lib/ld-linux.so.2 (0x00a8e000) libpthread.so.0 => /lib/libpthread.so.0 (0x001e9000) /usr/local/Dovecot-20120303/sbin/dovecot: linux-gate.so.1 => (0x00f00000) libcap.so.2 => /lib/libcap.so.2 (0x0037c000) libdovecot.so.0 => /usr/local/Dovecot-20120303/lib/dovecot/libdovecot.so.0 (0x00555000) libc.so.6 => /lib/libc.so.6 (0x0080b000) libattr.so.1 => /lib/libattr.so.1 (0x00ece000) libdl.so.2 => /lib/libdl.so.2 (0x00ea2000) librt.so.1 => /lib/librt.so.1 (0x00dce000) /lib/ld-linux.so.2 (0x00d49000) libpthread.so.0 => /lib/libpthread.so.0 (0x00bb2000)
===============================================================================