RSPlib Discussions

Text archives Help


Re: [RSPlib-Discusssion] Having trouble compiling applications


Chronological Thread 
  • From: Thomas Dreibholz <dreibh AT iem.uni-due.de>
  • To: rsplib-discussion AT sctp.de
  • Subject: Re: [RSPlib-Discusssion] Having trouble compiling applications
  • Date: Sat, 14 Mar 2009 12:45:35 +0100
  • List-archive: <http://lists.franken.de/pipermail/rsplib-discussion>
  • List-id: RSPlib Discussions <rsplib-discussion.sctp.de>
  • Organization: University of Duisburg-Essen, Institute for Experimental Mathematics

Dear Martin,

see my comments inline.


On Freitag, 13. März 2009, Martin Kirch Dige wrote:
> Hi again Thomas
>
> Well I forgot to link the rsplib in with -lrsplib. It does however not
> solve the errors i see when compiling my apps.
> Source code of my application:
>
> #include <rserpool/rserpool.h>
> #include <rserpool/rserpool-internals.h>
> #include <rserpool/tagitem.h>
>
> #include <stdbool.h>
> #include <stdio.h>
> #include <stdlib.h>
> #include <unistd.h>
> #include <string.h>
> #include <math.h>
> #include <sys/types.h>
> #include <signal.h>
>
> #include "petestserver.h"
>
> void rsp_initinfo(struct rsp_info* info);
>
> void startServer() {
> // get initial structs
> struct rsp_info rspInfo;
> struct rsp_loadinfo rspLoadInfo; // used for system load etc.
> struct TagItem rspTags[8]; // used for the taging system
> double rspDegradation;
> unsigned int rspIdentifier;
> unsigned int rspReRegInterval = 30000;
> unsigned int rspUnTimeLimit = 0;
> unsigned int rspService = 1; // was SERVICE_ECHO
> const char* rspPoolHandle = NULL;
> const char* rspDaemonPIDFile = NULL;
> bool rspPolicyChanged = false;
> bool rspQuiet = false;
> double rspUptime = 0.0;
> double rspDowntime = 0.0;
>
> // now set variables before initialising
> rsp_initinfo(&rspInfo);
> rspTags[0].Tag = TAG_PoolElement_Identifier;
> rspTags[0].Data = 0;
> // enable CSP monitoring
> rspInfo.ri_csp_identifier = CID_COMPOUND(CID_GROUP_POOLELEMENT, 0);
> }
>
> This code produces the following error during compilation:
> petestserver.c:42: warning: implicit declaration of function 'CID_COMPOUND'
> petestserver.c:42: error: 'CID_GROUP_POOLELEMENT' undeclared (first use
> in this function)
> petestserver.c:42: error: (Each undeclared identifier is reported only once
>
> This error I was able to circumvent by copying componentstatuspackets.h
> and tdtypes.h from source into /usr/local/include/rserpool and adding
> #include <rserpool/componentstatuspackets.h> in my .c file.
> Having done this i arrive at the real error which I don't seem to
> understand:

This is a bug in the Makefile.am of rsplib. It should also install the CSP
files. I will fix this.


> petestserver.c: In function 'startServer':
> petestserver.c:35: warning: unused variable 'rspDowntime'
> petestserver.c:34: warning: unused variable 'rspUptime'
> petestserver.c:33: warning: unused variable 'rspQuiet'
> petestserver.c:32: warning: unused variable 'rspPolicyChanged'
> petestserver.c:31: warning: unused variable 'rspDaemonPIDFile'
> petestserver.c:30: warning: unused variable 'rspPoolHandle'
> petestserver.c:29: warning: unused variable 'rspService'
> petestserver.c:28: warning: unused variable 'rspUnTimeLimit'
> petestserver.c:27: warning: unused variable 'rspReRegInterval'
> petestserver.c:26: warning: unused variable 'rspIdentifier'
> petestserver.c:25: warning: unused variable 'rspDegradation'
> petestserver.c:23: warning: unused variable 'rspLoadInfo'
> /tmp/cc6n41Ek.o: In function `startServer':
> petestserver.c:(.text+0x45): undefined reference to `rsp_initinfo'
> collect2: ld returned 1 exit status
>
> It is the undefined reference to rsp_initinfo error. (nevermind the
> unused variable messages) This still occurs although compiled with the
> following command:
> gcc -lrsplib -Wall -o petestserver main.c petestserver.c

This is strange. When I compile this on my system (Ubuntu 8.10, AMD64) after
commenting out CSP stuff and inclusion of petestserver.h, linking works.
Could
you provide me some details of your Debian system (e.g. CPU, version, version
of gcc, etc.)? Could you also provide me your full sources and your Makefile?


> One more thing. Was its the rsp_info struct actually used for ?

rsp_info is used for passing configuration options to rsplib, e.g. registrar
addresses or CSP identifier.


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
=======================================================================


Attachment: signature.asc
Description: This is a digitally signed message part.




Archive powered by MHonArc 2.6.19+.

Top of page