Hi, I'm recompiling dovecot 2.2.0/2.2.1 with error below during make install:
test -z "/usr/local/dovecot/lib/dovecot/auth" || /usr/bin/mkdir -p
"/usr/local/dovecot/lib/dovecot/auth"
/usr/bin/mkdir: cannot create directory
‘/usr/local/dovecot/lib/dovecot/auth’: File exists
make[3]: *** [install-auth_moduleLTLIBRARIES] Error 1
make[3]: Leaving directory /usr/local/src/dovecot-2.2.1/src/auth' make[2]: *** [install-am] Error 2 make[2]: Leaving directory
/usr/local/src/dovecot-2.2.1/src/auth'
make[1]: *** [install-recursive] Error 1
make[1]: Leaving directory `/usr/local/src/dovecot-2.2.1/src'
make: *** [install-recursive] Error 1
The target Svr OS: OpenSuse 12.2 x86 and installed success for
qmail/vpopmail. The configuration for dovecot as below:
./configure
--prefix=/usr/local/dovecot
--with-vpopmail
--with-docs
--with-ssl
--without-shadow
--without-pam
--without-ldap
--without-pgsql
--without-sql
--without-mysql
--without-sqlite
Thanks, KH. Chan
Hi,
I already compiled/installed dovecot 2.2.0 as you did without any problems. Also compiling dovecot 2.2.1 and installing it on top of the previous 2.2.0 install works.
So it seems to me that this is an issue related to your system environment. Did you checked how your Suse installation behaves when you are manually trigger the same commands?
---%<--------------------------------------------------------------- test -z "/usr/local/dovecot/lib/dovecot/auth" || /usr/bin/mkdir -p "/usr/local/dovecot/lib/dovecot/auth" ---%<---------------------------------------------------------------
Did you checked filesystem permissions too?
Regards, Chris
Am Fri, 19 Apr 2013 11:50:08 +0800 schrieb kengheng <kengheng@mysql.cc>:
Hi, I'm recompiling dovecot 2.2.0/2.2.1 with error below during make install:
test -z "/usr/local/dovecot/lib/dovecot/auth" || /usr/bin/mkdir -p "/usr/local/dovecot/lib/dovecot/auth" /usr/bin/mkdir: cannot create directory ‘/usr/local/dovecot/lib/dovecot/auth’: File exists make[3]: *** [install-auth_moduleLTLIBRARIES] Error 1 make[3]: Leaving directory
/usr/local/src/dovecot-2.2.1/src/auth' make[2]: *** [install-am] Error 2 make[2]: Leaving directory
/usr/local/src/dovecot-2.2.1/src/auth' make[1]: *** [install-recursive] Error 1 make[1]: Leaving directory `/usr/local/src/dovecot-2.2.1/src' make: *** [install-recursive] Error 1The target Svr OS: OpenSuse 12.2 x86 and installed success for qmail/vpopmail. The configuration for dovecot as below: ./configure
--prefix=/usr/local/dovecot
--with-vpopmail
--with-docs
--with-ssl
--without-shadow
--without-pam
--without-ldap
--without-pgsql
--without-sql
--without-mysql
--without-sqliteThanks, KH. Chan
-- Kind regards, Mit freundlichen Grüßen, Christian Wiese
Follow us on Facebook: <http://www.facebook.com/pages/Securepoint-GmbH/132451210137395>
Follow us on Twitter: <http://twitter.com/SecurepointStat>
Securepoint GmbH Christian Wiese Salzstr. 1 D-21335 Lueneburg http://www.securepoint.de Tele: ++49 4131 2401-0 Fax: ++49 4131 2401-50 Lueneburg HRB 1776
CONFIDENTIALITY : This e-mail and any attachments are confidential and may be privileged. If you are not a named recipient, please notify the sender immediately and do not disclose the contents to another person, use it for any purpose or store or copy the information in any medium.
GEHEIMHALTUNGSPFLICHT : Dieses E-Mail und alle damit verbundenen Anlagen sind vertraulich und dürfen nur bestimmten Personen zugänglich gemacht werden. Sofern Sie nicht zu den angegebenen Empfängern gehören, benachrichtigen Sie bitte unverzüglich den Absender. Der Inhalt darf weder an Dritte weitergegeben noch zu anderen Zwecken verwendet werden. Die Informationen dürfen auch nicht auf einem Datenträger gespeichert oder auf einen Datenträger kopiert werden.
At 11AM +0800 on 19/04/13 you (kengheng) wrote:
Hi, I'm recompiling dovecot 2.2.0/2.2.1 with error below during make install:
test -z "/usr/local/dovecot/lib/dovecot/auth" || /usr/bin/mkdir -p "/usr/local/dovecot/lib/dovecot/auth" /usr/bin/mkdir: cannot create directory ‘/usr/local/dovecot/lib/dovecot/auth’: File exists
mkdir -p silently succeeds if the directory already exists, so this must mean that some part of that path already exists as a file rather than a directory.
Ben
On Fri, 2013-04-19 at 11:50 +0800, kengheng wrote:
Hi, I'm recompiling dovecot 2.2.0/2.2.1 with error below during make install:
test -z "/usr/local/dovecot/lib/dovecot/auth" || /usr/bin/mkdir -p "/usr/local/dovecot/lib/dovecot/auth" /usr/bin/mkdir: cannot create directory ‘/usr/local/dovecot/lib/dovecot/auth’: File exists
This file shouldn't exist.
The target Svr OS: OpenSuse 12.2 x86 and installed success for qmail/vpopmail. The configuration for dovecot as below: ./configure
--prefix=/usr/local/dovecot
--with-vpopmail
--with-docs
--with-ssl
--without-shadow
--without-pam
--without-ldap
--without-pgsql
--without-sql
--without-mysql
--without-sqlite
I think there's an older differently installed Dovecot in there. rm -rf /usr/local/dovecot/lib and try make install again.
Hi, I tried remove and make install, same err happended. I noticed from the log below, it first generate the "/usr/local/dovecot/lib/dovecot/auth" with checkpassword-reply, and it is success, the coming generation directory for auth at "/usr/local/dovecot/lib/dovecot/", it is weird that the make install generation for file auth and directory auth at same path. It is causing the issues.
make[3]: Entering directory /usr/local/src/dovecot-2.2.1/src/auth' test -z "/usr/local/dovecot/lib/dovecot" || /usr/bin/mkdir -p "/usr/local/dovecot/lib/dovecot" /bin/sh ../../libtool --mode=install /usr/bin/install -c auth checkpassword-reply '/usr/local/dovecot/lib/dovecot' libtool: install: /usr/bin/install -c .libs/auth /usr/local/dovecot/lib/dovecot/auth libtool: install: /usr/bin/install -c .libs/checkpassword-reply /usr/local/dovecot/lib/dovecot/checkpassword-reply test -z "/usr/local/dovecot/lib/dovecot/auth" || /usr/bin/mkdir -p "/usr/local/dovecot/lib/dovecot/auth" /usr/bin/mkdir: cannot create directory ‘/usr/local/dovecot/lib/dovecot/auth’: File exists make[3]: *** [install-auth_moduleLTLIBRARIES] Error 1 make[3]: Leaving directory
/usr/local/src/dovecot-2.2.1/src/auth'
make[2]: *** [install-am] Error 2
make[2]: Leaving directory /usr/local/src/dovecot-2.2.1/src/auth' make[1]: *** [install-recursive] Error 1 make[1]: Leaving directory
/usr/local/src/dovecot-2.2.1/src'
make: *** [install-recursive] Error 1
On 4/23/13 6:30 PM, Timo Sirainen wrote:
On Fri, 2013-04-19 at 11:50 +0800, kengheng wrote:
Hi, I'm recompiling dovecot 2.2.0/2.2.1 with error below during make install:
test -z "/usr/local/dovecot/lib/dovecot/auth" || /usr/bin/mkdir -p "/usr/local/dovecot/lib/dovecot/auth" /usr/bin/mkdir: cannot create directory ‘/usr/local/dovecot/lib/dovecot/auth’: File exists This file shouldn't exist.
The target Svr OS: OpenSuse 12.2 x86 and installed success for qmail/vpopmail. The configuration for dovecot as below: ./configure
--prefix=/usr/local/dovecot
--with-vpopmail
--with-docs
--with-ssl
--without-shadow
--without-pam
--without-ldap
--without-pgsql
--without-sql
--without-mysql
--without-sqlite I think there's an older differently installed Dovecot in there. rm -rf /usr/local/dovecot/lib and try make install again.
At 1PM +0800 on 24/04/13 you (kengheng) wrote:
Hi, I tried remove and make install, same err happended. I noticed from the log below, it first generate the "/usr/local/dovecot/lib/dovecot/auth" with checkpassword-reply, and it is success, the coming generation directory for auth at "/usr/local/dovecot/lib/dovecot/", it is weird that the make install generation for file auth and directory auth at same path. It is causing the issues.
make[3]: Entering directory `/usr/local/src/dovecot-2.2.1/src/auth' test -z "/usr/local/dovecot/lib/dovecot" || /usr/bin/mkdir -p "/usr/local/dovecot/lib/dovecot" /bin/sh ../../libtool --mode=install /usr/bin/install -c auth checkpassword-reply '/usr/local/dovecot/lib/dovecot'
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
Ben
The output as below:
grep ^libexecdir config.log libexecdir='${exec_prefix}/lib'
grep ^exec_prefix config.log exec_prefix='${prefix}'
grep ^prefix config.log prefix='/usr/local/dovecot'
On 4/24/13 11:50 PM, Ben Morrow wrote:
At 1PM +0800 on 24/04/13 you (kengheng) wrote:
Hi, I tried remove and make install, same err happended. I noticed from the log below, it first generate the "/usr/local/dovecot/lib/dovecot/auth" with checkpassword-reply, and it is success, the coming generation directory for auth at "/usr/local/dovecot/lib/dovecot/", it is weird that the make install generation for file auth and directory auth at same path. It is causing the issues.
make[3]: Entering directory `/usr/local/src/dovecot-2.2.1/src/auth' test -z "/usr/local/dovecot/lib/dovecot" || /usr/bin/mkdir -p "/usr/local/dovecot/lib/dovecot" /bin/sh ../../libtool --mode=install /usr/bin/install -c auth checkpassword-reply '/usr/local/dovecot/lib/dovecot' 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
Ben
At 5PM +0800 on 15/05/13 you (kengheng) wrote:
On 4/24/13 11:50 PM, Ben Morrow wrote:
At 1PM +0800 on 24/04/13 you (kengheng) wrote:
Hi, I tried remove and make install, same err happended. I noticed from the log below, it first generate the "/usr/local/dovecot/lib/dovecot/auth" with checkpassword-reply, and it is success, the coming generation directory for auth at "/usr/local/dovecot/lib/dovecot/", it is weird that the make install generation for file auth and directory auth at same path. It is causing the issues.
make[3]: Entering directory `/usr/local/src/dovecot-2.2.1/src/auth' test -z "/usr/local/dovecot/lib/dovecot" || /usr/bin/mkdir -p "/usr/local/dovecot/lib/dovecot" /bin/sh ../../libtool --mode=install /usr/bin/install -c auth checkpassword-reply '/usr/local/dovecot/lib/dovecot' 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?
Ben
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
On 5/17/13 7:12 PM, Ben Morrow wrote:
At 5PM +0800 on 15/05/13 you (kengheng) wrote:
At 1PM +0800 on 24/04/13 you (kengheng) wrote:
Hi, I tried remove and make install, same err happended. I noticed from the log below, it first generate the "/usr/local/dovecot/lib/dovecot/auth" with checkpassword-reply, and it is success, the coming generation directory for auth at "/usr/local/dovecot/lib/dovecot/", it is weird that the make install generation for file auth and directory auth at same path. It is causing the issues.
make[3]: Entering directory `/usr/local/src/dovecot-2.2.1/src/auth' test -z "/usr/local/dovecot/lib/dovecot" || /usr/bin/mkdir -p "/usr/local/dovecot/lib/dovecot" /bin/sh ../../libtool --mode=install /usr/bin/install -c auth checkpassword-reply '/usr/local/dovecot/lib/dovecot' 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
On 4/24/13 11:50 PM, Ben Morrow wrote: 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?
Ben
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
For your note, I'm installing dovecot on opensuse (32bits) 12.2 and 12.3 , both produced the same errors.
On 5/17/13 7:12 PM, Ben Morrow wrote:
At 5PM +0800 on 15/05/13 you (kengheng) wrote:
At 1PM +0800 on 24/04/13 you (kengheng) wrote:
Hi, I tried remove and make install, same err happended. I noticed from the log below, it first generate the "/usr/local/dovecot/lib/dovecot/auth" with checkpassword-reply, and it is success, the coming generation directory for auth at "/usr/local/dovecot/lib/dovecot/", it is weird that the make install generation for file auth and directory auth at same path. It is causing the issues.
make[3]: Entering directory `/usr/local/src/dovecot-2.2.1/src/auth' test -z "/usr/local/dovecot/lib/dovecot" || /usr/bin/mkdir -p "/usr/local/dovecot/lib/dovecot" /bin/sh ../../libtool --mode=install /usr/bin/install -c auth checkpassword-reply '/usr/local/dovecot/lib/dovecot' 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
On 4/24/13 11:50 PM, Ben Morrow wrote: 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?
Ben
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
On 5/17/13 7:12 PM, Ben Morrow wrote:
At 5PM +0800 on 15/05/13 you (kengheng) wrote:
At 1PM +0800 on 24/04/13 you (kengheng) wrote:
Hi, I tried remove and make install, same err happended. I noticed from the log below, it first generate the "/usr/local/dovecot/lib/dovecot/auth" with checkpassword-reply, and it is success, the coming generation directory for auth at "/usr/local/dovecot/lib/dovecot/", it is weird that the make install generation for file auth and directory auth at same path. It is causing the issues.
make[3]: Entering directory `/usr/local/src/dovecot-2.2.1/src/auth' test -z "/usr/local/dovecot/lib/dovecot" || /usr/bin/mkdir -p "/usr/local/dovecot/lib/dovecot" /bin/sh ../../libtool --mode=install /usr/bin/install -c auth checkpassword-reply '/usr/local/dovecot/lib/dovecot' 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
On 4/24/13 11:50 PM, Ben Morrow wrote: 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?
Ben
participants (4)
-
Ben Morrow
-
Christian Wiese
-
kengheng
-
Timo Sirainen