- 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+.