Imap c-client

From CBLFS
Jump to navigationJump to search
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

Caution.png

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