[RSPlib-Discusssion] Having trouble compiling applications

Thomas Dreibholz dreibh at iem.uni-due.de
Fri Mar 13 11:32:46 CET 2009

Dear Martin,

see my comments inline.

On Freitag 13 März 2009, Martin Kirch Dige wrote:
> Hi everyone
> I am having some troubles using RSPlib for a VoIP project. I have only
> recently started using RSPlib and is so far having troubles when
> compiling applications which utilises RSPlib.
> OS: Debian
> RSPlib: v.2.6.0  (using kernel-sctp)
> I have installed RSPlib without problems. It was configured with the
> following options:
> ./configure --enable-qt --disable-hsmgtveridy --disable-maintainer-mode
> --enable-shared --disable-static --enable-csp
> followed by
> make
> make install (as root)
> which copied various  header files has been  placed in
> /usr/local/include/rserpool/ during make install.
> The troubles arises when I try to develop my own applications which
> utilises RSPlib. These applications are not positioned where the rsplib
> files were extracted during the installation since I prefer having these
> application located separately.
> My applications include "rserpool.h", "rserpool-internals.h" etc. and
> they are based on the sample applications (e.g. server) which was
> supplied with rsplib 2.6.0. Now for the actual questions:
> 1. I receive this error when compiling my application:
> undefined reference to `rsp_initinfo'
> The app includes rserpool.h which defines
> void rsp_initinfo(struct rsp_info* info);
> however it seems that the function is never defined. Have been browsing
> the source code and can see that the function is defined in
> rsputilities.c in the rsplib source files. There is however no
> rsputilities.h header file in /usr/local/include/rserpool/. Is this due
> to en error or am I simply not using rsplib correctly?
> I have read through the /High Availability using Reliable Server
> Pooling/ paper as suggested elsewhere on the mailing list - but I still
> find it a bit difficult to understand the RSPlib API, since there
> documentation as a bit limited.

rsp_initinfo() is defined in rsputilities.c, which is compiled into the rsplib 
library. Including "rserpool.h" and linkling -lrsplib should work. Could you 
provide us the complete errors and warnings of the compile run?

> 2. All need to design both a PE and PU applications. Which examples from
> the rsplib source files would you recommend as the best examples of how
> to develop a PE and a PU application?

For the PE, have a look at server.cc. It is a starter for different services 
(e.g. Echo or Discard - the are implemented in standardservices.cc). To make 
programming of these example services easier, I wrote two C++ API wrappers: 
tcplikeserver.cc (which starts a new thread to handle each session; like 
common TCP-based services) and udplikeserver.cc (which handles messages from 
all sessions; i.e. request -> response). The examples in standardservices.cc 
should - hopefully - make the idea clearer. For a more complex service, have 
a look into fractalgeneratorservice.cc (this is the service for the Fractal 
Generator example).

On the PU side, have a look into terminal.c (which can be used with Echo, 
Discard, etc.). This example is quite simple and should - hopefully - be easy 
to understand. Again, a more complex example - using multiple sessions in 
different threads - is fractalpooluser.cc.

> Any help will be greatly appreciated - thanks in advance

If you have more questions, just write them on the mailing list.

Best regards
 Dr. Thomas Dreibholz

 University of Duisburg-Essen,                   Room ES210
 Inst. for Experimental Mathematics              Ellernstraße 29
 Computer Networking Technology Group            D-45326 Essen/Germany
 E-Mail:     dreibh at iem.uni-due.de
 Homepage:   http://www.iem.uni-due.de/~dreibh
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: This is a digitally signed message part.
Url : http://lists.franken.de/pipermail/rsplib-discussion/attachments/20090313/b9c6c392/attachment.pgp

More information about the rsplib-discussion mailing list