Sun Java System Communications Services 6 2005Q4 Event Notification Service Guide

Dynamically Linked/Shared Libraries

Calendar Server

Your custom code must be linked with the dynamically linked library libens, which implements the publisher and subscriber APIs. On some platforms all the dependencies of libens must be provided as part of the link directive. These dependencies, in order, are:

  1. libgap

  2. libcyrus

  3. libyasr

  4. libasync

  5. libnspr3

  6. libplsd4

  7. libplc3

Calendar Server uses these libraries; therefore, they are located in the server’s bin directory. The default libens path is:


/opt/cal_server_base/cal/bin

Note –

For Windows, in order to build publisher and subscriber applications, you also need the archive files (.lib files) corresponding to all the earlier mentioned libraries. These are located in the CSAPI library directory, lib. The default lib path is:


drive:\ProgramFiles\iPlanet\CalendarServer5\cal\
csapi\lib

Messaging Server

The libraries for Messaging Server are located in the following directory:

msg_server_base/bin/msg/lib

Refer to msg_server_base/bin/msg/enssdk/examples/Makefile.sample to help determine what libraries are needed.This makefile contains instructions on how to compile and run the apub and asub programs. This file also describes what libraries are needed, and what the LD_LIBRARY_PATH should be. The following listing shows a sample makefile.sample file.


Example 1–1 Makefile.sample File


#
# Sample makefile
#
# your C compiler
CC = gcc

# LIBS
# Your library path should include <msg_server_base>/bin/msg/lib
LIBS = -lens -lgap -lxenp -lcyrus -lchartable -lyasr -lasync

all: apub asub

apub: apub.c
        $(CC) -o apub -I ../include apub.c $(LIBS)

asub: asub.c
        $(CC) -o asub -I ../include asub.c $(LIBS)

run:
        @echo ’run <msg_server_base>/start-ens’
        @echo run asub localhost 7997
        @echo run apub localhost 7997

                  


Note –

The Windows distribution includes the following additional files:

msg_server_base\bin\msg\enssdk\examples

bin\msg\enssdk\examples\libens.lib

bin\msg\enssdk\examples\libgap.lib

bin\msg\enssdk\examples\libxenp.lib

bin\msg\enssdk\examples\libcyrus.lib

bin\msg\enssdk\examples\libchartable.lib

bin\msg\enssdk\examples\libyasr.lib

bin\msg\enssdk\examples\libasync.lib

bin\msg\enssdk\examples\asub.dsw

bin\msg\enssdk\examples\apub.dsp

bin\msg\enssdk\examples\asub.dsp

To build on Windows platforms:

  1. A sample VC++ workspace is provided in asub.dsw. It has two projects in it: asub.dsp and apub.dsp.

    The required .lib files to link is in the same directory as asub.c and apub.c.

  2. To run, it requires that the following DLLs are in your path.

    libens.dll
    libgap.dll
    libxenp.dll
    libcyrus.dll
    libchartable.dll
    libyasr.dll
    libasync.dll

    The simplest way to accomplish this is to include msg_server_base in\msg\lib in your PATH.