[Dovecot] Make install error

Ben Morrow ben at morrow.me.uk
Wed Jun 5 11:17:02 EEST 2013


At  5PM +0800 on  4/06/13 you (kengheng) wrote:
> On 5/17/13 7:12 PM, Ben Morrow wrote:
> > At  5PM +0800 on 15/05/13 you (kengheng) wrote:
> >> On 4/24/13 11:50 PM, Ben Morrow wrote:
> >>>
> >>> These files should be installed under libexec; probably
> >>> /usr/local/dovecot/libexec/dovecot, though I'm not sure how autoconf
> >>> chooses the libexec directory when you're using an explicit prefix. What
> >>> do the following give you (in the top-level Dovecot source dir)?
> >>>
> >>>       grep ^libexecdir config.log
> >>>       grep ^exec_prefix config.log
> >>>       grep ^prefix config.log
> >> grep ^libexecdir config.log
> >> libexecdir='${exec_prefix}/lib'
> >>
> >> grep ^exec_prefix config.log
> >> exec_prefix='${prefix}'
> >>
> >> grep ^prefix config.log
> >> prefix='/usr/local/dovecot'
> > That's weird, and wrong. Also, I can't reproduce it; if I run
> >
> >      ./configure --prefix=/usr/local/dovecot
> >      grep ^libexec config.log
> >
> > in the 2.2.1 tarball I get
> >
> >      libexecdir='${exec_prefix}/libexec'
> >
> > as I would have expected. Are you sure you didn't pass a --libexecdir
> > argument to configure?
>
> Hi, yes, the configure without "--libexecdir" .
> 
> and i found this comment from config.log:
> | # If user did not specify libexecdir, set the correct target:
> | # Nor FHS nor openSUSE allow prefix/libexec. Let's default to prefix/lib.
> |
> | if test "$libexecdir" = '${exec_prefix}/libexec' ; then
> |       libexecdir='${exec_prefix}/lib'
> | fi

Since neither that comment nor that code appear anywhere in the Dovecot
2.2.1 tarball, I have to assume you're using a patched version from a
SRPM or something. It would have been helpful to mention that; also
helpful to try with the unpatched version before posting.

Whoever patched that code in either didn't understand that Dovecot needs
lib and libexec to be different, or had a workaround of some kind. I
would recommend using the real 2.2.1 sources from dovecot.org instead.

At  5PM +0800 on  4/06/13 you (kengheng) wrote:
> For your note, I'm installing dovecot on opensuse (32bits) 12.2 and 12.3 
> , both produced the same errors.

At  5PM +0800 on  4/06/13 you (kengheng) wrote:
> I've success installed it with a workaround:
> 
> 1) after error, create a folder /usr/local/dovecot/lib/dovecot/auth
> 2) make install again, and it will install the file auth at 
> /usr/local/dovecot/lib/dovecot/auth

That installation will not work, you've just tricked install(1) into
not giving you an error. Dovecot needs ${libexecdir}/dovecot/auth to be
an executable: it's one of the daemon processes, and if you've put a
directory there the exec will fail. Installing it to
${libexecdir}/dovecot/auth/auth instead won't help, since Dovecot won't
be looking for it there.

Ben



More information about the dovecot mailing list