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:
- after error, create a folder /usr/local/dovecot/lib/dovecot/auth
- 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