Difference between revisions of "Courier-Cygwin"

From YobiWiki
Jump to navigation Jump to search
Line 17: Line 17:
 
The package installation fails, due to:
 
The package installation fails, due to:
   
# incorrect version of shared library file (*.la)
+
# incorrect or incompatible (text-)format of install library files (*.la). Missing non-empty 'dlname'.
   
 
To correct the first compilation issue and the installation error, apply the following [{{#file:courrier-authlib-0.61.0-cygwin.patch}} patch] before configuration.
 
To correct the first compilation issue and the installation error, apply the following [{{#file:courrier-authlib-0.61.0-cygwin.patch}} patch] before configuration.

Revision as of 19:02, 21 October 2008

Courier-IMAP

Download and untar package courier-imap in your favorite sandbox. Version used: 4.4.1.20080920

Courier-IMAP requires the installation of the Courier Authentication Library

Courier Authentication Library

Download and untar courier-authlib in your favorite sandbox. Version used: 0.61.0

The package compilation fails, due to:

  1. incorrect usage of EXEEXT in makedat/Makefile
  2. missing crypt library in main Makefile

The package installation fails, due to:

  1. incorrect or incompatible (text-)format of install library files (*.la). Missing non-empty 'dlname'.

To correct the first compilation issue and the installation error, apply the following [{{#file:courrier-authlib-0.61.0-cygwin.patch}} patch] before configuration.

--- courier-authlib-0.61.0/makedat/Makefile.in  2008-05-24 16:21:09.000000000 +0200
+++ courier-authlib-0.61.0-cygwin/makedat/Makefile.in   2008-10-21 16:02:38.709166700 +0200
@@ -182,7 +182,7 @@
 libexecdir = @libexecdir@
 localedir = @localedir@
 localstatedir = @localstatedir@
-makedatprog_target = @makedatprog_target@
+makedatprog_target = @makedatprog_target@$(EXEEXT)
 makedatprogpath = @makedatprogpath@
 mandir = @mandir@
 mkdir_p = @mkdir_p@
@@ -198,7 +198,7 @@
 target_alias = @target_alias@
 top_builddir = @top_builddir@
 top_srcdir = @top_srcdir@
-noinst_PROGRAMS = @makedatprog_target@
+noinst_PROGRAMS = @makedatprog_target@$(EXEEXT)
 makedatprog_SOURCES = makedatprog.c
 makedatprog_DEPENDENCIES = @dblibrary@
 makedatprog_LDADD = @dblibrary@
--- courier-authlib-0.61.0/Makefile.in	2008-07-12 21:41:08.000000000 +0200
+++ courier-authlib-0.61.0-cygwin/Makefile.in	2008-10-21 18:51:47.093466600 +0200
@@ -1659,7 +1659,6 @@
 				$(DESTDIR)$(sbindir)/userdbpw ; \
 		$(INSTALL_SCRIPT) userdb-test-cram-md5.pl \
 				$(DESTDIR)$(sbindir)/userdb-test-cram-md5
-	for f in $(pkglib_LTLIBRARIES); do . $$f; rm -f $(DESTDIR)$(pkglibdir)/$$dlname.0 $(DESTDIR)$(pkglibdir)/$$dlname.0.0; ln -s $$dlname $(DESTDIR)$(pkglibdir)/$$dlname.0; done
 
 uninstall-hook: uninstall-authldaprc uninstall-authdaemonrc uninstall-authmysqlrc uninstall-authpgsqlrc
 	rm -f $(DESTDIR)$(pkglibexecdir)/authdaemond

Configure the package without most authentication modules keeping only userdb. Replace mailuser by an existing user name (in your /etc/passwd file). Note: I used my own username.

$ ./configure --disable-root-check --with-waitfunc=wait --without-authpam --without-authldap --without-authpwd \
--without-authshadow --without-custom --without-authpipe --without-authmysql --without-authpgsql --with-mailuser=mailuser \
--with-mailgroup=mkgroup-l-d --enable-shared=no

Take a long pause... and when ready execute the following command. The LDFLAGS and LIBS variables are used to correct the second issue.

$ make LDFLAGS=-lcrypt LIBS=-lcrypt

Maildir

maildirmake is part of the courier-imap package