Re: Dictionary generation error

From: Marc Hemberger (M.Hemberger@gsi.de)
Date: Mon Mar 06 2000 - 16:55:30 MET


Dear Anton,

the pthread.h header file can not be parsed by rootcint. So try an 

#ifndef __CINT__
#include "pthread.h"
#else
struct pthread_cond_t;
#endif

etc.

Refer to the TPosixCondition.h or TPosixMutex.h for the usage. This should
help.

Greetings,

Marc


Dr. Marc Hemberger

       |\      _,,,---,,         GSI, Abteilung DV&EE
ZZZzz  /,`.-'`'    -.  ;-;;,_    Planckstr. 1 
      |,4-  ) )-,_. ,\ (  `'-' 
     '---''(_/--'  `-'\_)        64291 Darmstadt

M.Hemberger@gsi.de

** Disclaimer: My views/comments/beliefs, as strange as they are, are my own.**


On Mon, 6 Mar 2000, Anton Fokin wrote:

> Hello!
> 
> what does it mean?
> 
> I have a header like this:
> 
> #ifndef _TEventBuffer
> #define _TEventBuffer
> 
> #include "TObject.h"
> 
> #include "stdio.h"
> #include "pthread.h"
> 
> #define RING_BUFFER
> #define RING_LENGTH 100
> #define BUFFER_SIZE 1024*16
> #define SECURE_SIZE 1024*2
> 
> typedef unsigned short TLynxBuffer[BUFFER_SIZE+SECURE_SIZE];
> 
> class TEventBuffer : public TObject {
> 
> public:
>   TLynxBuffer     *fBufferRing[RING_LENGTH];
>   TLynxBuffer     *fWriteBuffer;
>   TLynxBuffer     *fReadBuffer;
> 
>   pthread_mutex_t  fLockMutex;
>   pthread_cond_t   fReadCondition;
>   pthread_cond_t   fWriteCondition;
>   int              fReadPosition;
>   int              fWritePosition;
> 
>             TEventBuffer();
>    virtual ~TEventBuffer();
> 
>    ClassDef(TEventBuffer,1)
> };
> 
> #endif
> 
> and the dictionary generation:
> 
> 
> Mon Mar  6 15:21:13 2000
> /u/anton/jcc/bin/../../svedaq++/lynx/
> make
> 
> CC
> TEventBuffer.cxx -compat=4 -I/usr/openwin/include -I/l/cern/root/include -I/
> u/anton/svedaq++/common -D__SunOS_5_6 -D_REENTRANT -O4 -D_Solaris -c
> 
> Generating dictionary TEventBufferDict...
> 
> Error: No symbol pthread_mutex_tfLockMutex in current scope
> FILE:TEventBuffer.h LINE:23
> 
> Error: No symbol pthread_cond_tfReadCondition in current scope
> FILE:TEventBuffer.h LINE:24
> 
> Error: No symbol pthread_cond_tfWriteCondition in current scope
> FILE:TEventBuffer.h LINE:25
> 
> Warning: Error occured during reading source files
> 
> Note: operator new() masked 1c
> 
> Note: operator delete() masked 1c
> 
> Warning: Error occured during dictionary source generation
> 
> !!!Removing TEventBufferDict.cxx TEventBufferDict.h !!!
> 
> /l/cern/root/bin/rootcint: error loading headers...
> 
> *** Error code 1
> 
> make: Fatal error: Command failed for target `TEventBufferDict.cxx'
> 
> 



This archive was generated by hypermail 2b29 : Tue Jan 02 2001 - 11:50:21 MET