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