Imap c-client

From CBLFS
Revision as of 17:56, 16 April 2007 by Jciccone (talk | contribs)
Jump to navigationJump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.
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 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.

Project Homepage: Unknown


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