Linking 5.18 root on macosx leopard

Hi all,

I have an application where I need to link several classes which compiles fine in my suse linux 10.3. I got a new mac laptop with intel, leopard, and i686-apple-darwin9-gcc-4.0.1 (GCC) 4.0.1 (Apple Inc. build 5465).

In this laptop the linking fails:

rootcint -v3 -f classes/PBubbleDict.C -c -I/usr/local/root/include -Iinclude -I/Users/bbeltran/work/picasso/code/ppc32/fftw/include -p include/PBubble.hh include/PBubbleLinkDef.h
Error: Too many ‘}’ /usr/include/sys/uio.h:111:
Error: Missing closing brace for the block opened around line 25.
Error: Unexpected end of file (G__exec_statement()) /var/tmp/tmp.1.T757Ug_cint.cxx:2:
Warning: Error occurred during reading source files
Warning: Error occurred during dictionary source generation
!!!Removing classes/PBubbleDict.C classes/PBubbleDict.h !!!
Error: rootcint: error loading headers…

Any idea about what am I doing wrong?
If more information is needed I will be happy to provide it.

Thanks

Berta

Do you include in PBubble.hh some system include headers that CINT does not like?

Cheers, Fons.

Hi Fons,

First of all thanks for your answer
These are the system includes in PBubble.hh

#ifndef PBubble
#define PBubble

#include

#include “TH1D.h”
#include “TH2D.h”
#include “TCanvas.h”
#include “TColor.h”
#include “TStyle.h”
#include “TPostScript.h”
#include “TLine.h”
#include “TLatex.h”
#include “TROOT.h”
#include “TPad.h”

#include “Pfft.hh”
//#include “Picasso.hh”
#include “picasso.h”

#define MAXPAL 20
#define ILLEGAL_TRIG_TIME -255

using namespace std;

Cheers

Berta

And in Pfft.h and picasso.h?

Try the following:

#if !defined(__CINT__)

#include <Pfft.hh>
#include <picasso.h>

#else

// if needed add here any Pfft.hh and picasso.h typedef or class forwards

#endif

Cheers, Fons.

Thanks again.
I tried your suggestion but didn’t work.

The funny thing is that some classes of my application link without problems but there is this PBubble and some others that don’t.

I am trying to compare the includes of the “good” ones with the “bad” and see if I find something.

Do you have any other suggestion meanwhile?

Cheers

Berta

Hi Font

We found the problem!!
It was:
#include <sys/uio.h>

We applied your recipe of
#ifndef CINT
and now it links properly

Thanks a lot!!

Berta

Very good.

– Fons