Re: Dictionary generation error

From: Victor Perevoztchikov (perev@bnl.gov)
Date: Mon Mar 06 2000 - 19:18:43 MET


Dear Marc,

> 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

then may be it is better to put this into pthread.h itself?

Victor


Marc Hemberger wrote:
> 
> 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'
> >
> >

-- 
Victor M. Perevoztchikov   perev@bnl.gov  perev@vxcern.cern.ch       
Brookhaven National Laboratory MS 510A PO Box 5000 Upton NY 11973-5000
tel office : 631-344-7894; fax 631-344-4206; home 631-345-2690



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