[Dovecot] dovecot-2.0-pigeonhole-0.2.1 installation in wrong lib dir?

Wolfgang.Friebel at desy.de Wolfgang.Friebel at desy.de
Wed Oct 6 22:49:35 EEST 2010


> On Wed, 2010-10-06 at 17:47 +0200, Wolfgang.Friebel at desy.de wrote:
>> Therefore the executable will fail to run:
>>
>> ldd /usr/libexec/dovecot/managesieve-login
>>          libdovecot-login.so.0 => not found
>>          libdovecot.so.0 => not found
>> To me this looks like a bug in the generated Makefile.
>
> There should be -R/usr/lib64/dovecot parameter in the linking command.
> Do you have a different -R path or no path at all? What is the full
> linking command for managesieve-login?
>

There is no -R option in the linking command, it is also not among the
variables defined in src/managesieve-login/Makefile. The link step is

/bin/sh ../../libtool --tag=CC   --mode=link gcc  -std=gnu99 -O2 -g -pipe
-Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector
--param=ssp-buffer-size=4 -m64 -mtune=generic -Wall -W
-Wmissing-prototypes -Wmissing-declarations -Wpointer-arith
-Wchar-subscripts -Wformat=2 -Wbad-function-cast -Wstrict-aliasing=2
-I/usr/kerberos/include    -o managesieve-login client.o
client-authenticate.o managesieve-login-settings.o managesieve-proxy.o
../../src/lib-managesieve/libmanagesieve.a -ldovecot-login
-L/usr/lib64/dovecot -ldovecot -lrt
libtool: link: gcc -std=gnu99 -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2
-fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64
-mtune=generic -Wall -W -Wmissing-prototypes -Wmissing-declarations
-Wpointer-arith -Wchar-subscripts -Wformat=2 -Wbad-function-cast
-Wstrict-aliasing=2 -I/usr/kerberos/include -o managesieve-login client.o
client-authenticate.o managesieve-login-settings.o managesieve-proxy.o
../../src/lib-managesieve/libmanagesieve.a -ldovecot-login
-L/usr/lib64/dovecot -ldovecot -lrt

And you probably want to know the contents of dovecot-config:
DOVECOT_CFLAGS="-std=gnu99 -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2
-fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64
-mtune=generic -Wall -W -Wmissing-prototypes -Wmissing-declarations
-Wpointer-arith -Wchar-subscripts -Wformat=2 -Wbad-function-cast
-Wstrict-aliasing=2 -I/usr/kerberos/include   "
DOVECOT_LIBS=" -lrt"
DOVECOT_SSL_LIBS="-L/usr/kerberos/lib64 -lssl -lcrypto -ldl -lz  "
LIBDOVECOT='-L/usr/lib64/dovecot -ldovecot'
LIBDOVECOT_LOGIN=-ldovecot-login
LIBDOVECOT_SQL=-ldovecot-sql
LIBDOVECOT_LDA=-ldovecot-lda
LIBDOVECOT_STORAGE=-ldovecot-storage


LIBDOVECOT_INCLUDE=-I/usr/include/dovecot
dovecot_pkgincludedir=/usr/include/dovecot
dovecot_pkglibdir=/usr/lib64/dovecot
dovecot_pkglibexecdir=/usr/libexec/dovecot

The binaries in dovecot seem to have been produced using libtool, where
the correct library paths are included using -Wl,--rpath...

Could it be that the missing -R is related to --disable-static and
--disable-rpath options to configure which I took over from the ATrpms
dovecot spec file? Then it would rather be my ignorance of the
dependencies between these options, libtool, dovecot and pigeonhole.

-- 
Wolfgang Friebel                   Deutsches Elektronen-Synchrotron DESY
Phone/Fax:  +49 33762 77372/216    Platanenallee 6
Mail: Wolfgang.Friebel AT desy.de  D-15738 Zeuthen  Germany


More information about the dovecot mailing list