Difference between revisions of "Imap c-client"

From CBLFS
Jump to navigationJump to search
m
Line 2: Line 2:
 
|-
 
|-
 
!Download Source:
 
!Download Source:
| ftp://ftp.cac.washington.edu/imap/imap-2006c1.tar.Z
+
| ftp://ftp.cac.washington.edu/imap/imap-{{Imap c-client-Version}}.tar.Z
 
|-
 
|-
 
!Patch :
 
!Patch :
| http://svn.cross-lfs.org/svn/repos/patches/imap-c-client/imap-c-client-2006c1-buildfix-1.patch
+
| http://svn.cross-lfs.org/svn/repos/patches/imap-c-client/imap-c-client-{{Imap c-client-Version}}-buildfix-1.patch
 
|}
 
|}
  
Line 26: Line 26:
 
== Patch ==
 
== Patch ==
  
  patch -Np1 -i ../imap-c-client-2006c1-buildfix-1.patch
+
  patch -Np1 -i ../imap-c-client-{{Imap c-client-Version}}-buildfix-1.patch
  
 
This patch build the libc-client as both a static and shared library, and corrects some bugs and OS-dependent paths. It is common to all the build processes.
 
This patch build the libc-client as both a static and shared library, and corrects some bugs and OS-dependent paths. It is common to all the build processes.
Line 61: Line 61:
  
 
Note: the IP=6 option is used to allow the imap c-client communicating in both IPv4 and IPv6 protocols. If you don't plan using the IPv6 protocol or you don't know what is it, omit this option.
 
Note: the IP=6 option is used to allow the imap c-client communicating in both IPv4 and IPv6 protocols. If you don't plan using the IPv6 protocol or you don't know what is it, omit this option.
 
  
 
Install the package:
 
Install the package:

Revision as of 17:04, 17 December 2006

Download Source: ftp://ftp.cac.washington.edu/imap/imap-2006c1.tar.Z
Patch : http://svn.cross-lfs.org/svn/repos/patches/imap-c-client/imap-c-client-2006c1-buildfix-1.patch

Introduction to the UW-IMAP c-client

The IMAP c-client library, also known as the "libc-client" is used by various applications, which the most popular is PHP. Its interface allow communications with IMAP and POP servers, with Kerberos and SSL support.

Note: This library has a very complicated build process, especially when compiling in multilib mode. Kerberos support is not complete in this tutorial, but OpenSSL is, and is therefore a required dependency and to keep this tutorial easy.

Dependencies

Required

Optional

  • MIT_krb5 (Not explained in this tutorial)

Patch

patch -Np1 -i ../imap-c-client-2006c1-buildfix-1.patch

This patch build the libc-client as both a static and shared library, and corrects some bugs and OS-dependent paths. It is common to all the build processes.

Non-Multilib

Compile the package:

make slx EXTRACFLAGS="-fPIC" SSLTYPE=unix SHLIBBASE=c-client SHLIBNAME=libc-client.so.1 IP=6 SSLDIR=/etc/ssl SSLLIB=/usr/lib

Note: the IP=6 option is used to allow the imap c-client communicating in both IPv4 and IPv6 protocols. If you don't plan using the IPv6 protocol or you don't know what is it, omit this option.


Install the package:

Neither installation script nor "make install" is provided, we have to copy all files manually.

install -v -m 644 ./c-client/c-client.a /usr/lib/
ln -svf c-client.a /usr/lib/libc-client.a
install -v -m 755 ./c-client/libc-client.so.1 /usr/lib/
ln -svf libc-client.so.1 /usr/lib/libc-client.so
install -v -d /usr/include/imap
install -v -m 644 ./c-client/*.h /usr/include/imap
install -v -m 644 ./c-client/linkage.c /usr/include/imap
install -v -m 644 ./src/osdep/tops-20/shortsym.h /usr/include/imap

Multilib

32Bit

Compile the package:

make slx CC="gcc ${BUILD32}" EXTRACFLAGS="-fPIC" SSLTYPE=unix SHLIBBASE=c-client SHLIBNAME=libc-client.so.1 IP=6 SSLDIR=/etc/ssl SSLLIB=/usr/lib

Note: the IP=6 option is used to allow the imap c-client communicating in both IPv4 and IPv6 protocols. If you don't plan using the IPv6 protocol or you don't know what is it, omit this option.

Install the package:

Neither installation script nor "make install" is provided, we have to copy all files manually.

install -v -m 644 ./c-client/c-client.a /usr/lib/
ln -svf c-client.a /usr/lib/libc-client.a
install -v -m 755 ./c-client/libc-client.so.1 /usr/lib/
ln -svf libc-client.so.1 /usr/lib/libc-client.so

Now the headers:

install -v -d /usr/include/imap
install -v -m 644 ./c-client/*.h /usr/include/imap
install -v -m 644 ./c-client/linkage.c /usr/include/imap
install -v -m 644 ./src/osdep/tops-20/shortsym.h /usr/include/imap

64Bit

Compile the package:

make slx CC="gcc ${BUILD64}" EXTRACFLAGS="-fPIC" SSLTYPE=unix SHLIBBASE=c-client SHLIBNAME=libc-client.so.1 IP=6 SSLDIR=/etc/ssl SSLLIB=/usr/lib64

Note: the IP=6 option is used to allow the imap c-client communicating in both IPv4 and IPv6 protocols. If you don't plan using the IPv6 protocol or you don't know what is it, omit this option.


Install the package:

Neither installation script nor "make install" is provided, we have to copy all files manually.

install -v -m 644 ./c-client/c-client.a /usr/lib64/
ln -svf c-client.a /usr/lib64/libc-client.a
install -v -m 755 ./c-client/libc-client.so.1 /usr/lib64/
ln -svf libc-client.so.1 /usr/lib64/libc-client.so

If you don't have installed the headers in the 32Bit build:

install -v -d /usr/include/imap
install -v -m 644 ./c-client/*.h /usr/include/imap
install -v -m 644 ./c-client/linkage.c /usr/include/imap
install -v -m 644 ./src/osdep/tops-20/shortsym.h /usr/include/imap