I forward this mail to brahms dev as Christian wrote he would do.
>From Christians answer I guess it has to do with the method :
void FillTofPid(BrTofDst* tofDst, BrGlbTrack* globalTrack,
BrTofPid* tofPid, BrTofRdo::BrTofHit* tofHit);
where there is a nested class. With the -p fix it works.
I introduced the fix in the Makefile and it should compile now.
Cheers
Peter
---------- Forwarded message ----------
Date: Fri, 31 May 2002 13:40:42 +0200
From: Christian Holm Christensen <cholm@hehi03.nbi.dk>
To: jensivar.jordre@fi.uib.no
Cc: pchristi@nbi.dk
Subject: Re: pc_app/dst/*
Hej Jens, et al,
I send this message to `brahms-dev-l' as it could be of general
intrest - hope you don't mind Jens. Please excuse my poor translation
from norwegian to english. Jens, please send messages like this to
`brahms-dev-l'.
On Fri, 31 May 2002 13:47:56 +0200
Jens Ivar Jordre <jensivar.jordre@fi.uib.no> wrote
concerning "pc_app/dst/*":
> Hei paa dere.
>
> Peter: Jeg maa lage noen flere DSTs for MRS. Jeg sjekket oppdaterte din
> pc_app/dst og gikk igang med gmake. Her stopper det dessverre naar
> rootcint skal lage dictionaries. Output er:
translation:
Peter: I need to make more DSTs [Kris would call them uDSTs I guess]
for the MRS. I wanted to update my checkout of your pc_app/dst, and
did a `gmake' [`make' should do fine]. Unfortunately the build
stops when `rootcint' creates the dictionaries. The output is:
> ....
> g++ -I./ -DONL_unix=1 -DHAVE_DLFCN_H=1
> -I/brahms/u/jens/i386_linux24/include/brat -D_REENTRANT
> -I/afs/rhic/opt/brahms/new/include/root -DONL_unix=1 -DHAVE_DLFCN_H=1
> -I/brahms/u/jens/i386_linux24/include/brat -c -g -Wall -o BrFsDstAna.o
> BrFsDstAna.cxx
> BrFsDstAna.cxx: In method `void BrFsDstAna::Loop (int)':
BrFsDstAna.cxx:733: warning: unused variable `Float_t richmass'
BrFsDstAna.cxx:819: warning: unused variable `Float_t mass'
...
Argh! Peter get a grip. Don't add more variables then you need.
That's Fortrantisis :-(
> rootcint -f BrTofDstCint.cxx -c -D_REENTRANT
> -I/afs/rhic/opt/brahms/new/include/root -I./ -DONL_unix=1
> -DHAVE_DLFCN_H=1 -I/brahms/u/jens/i386_linux24/include/brat Include.h
> LinkDef.h
> Error: Unexpected EOF G__fgetname():2 FILE:tmpfile LINE:736
> Advice: You may need to use +P or -p option
> Warning: Unknown type ((3)<<16)+((3)<<8)+(5));} in function argument
> FILE:tmpfile LINE:736
> Error: Unexpected EOF G__fignorestream():3 FILE:tmpfile LINE:736
> Advice: You may need to use +P or -p option
> Error: Unexpected EOF G__fgetstream_template():2 FILE:tmpfile LINE:736
> Advice: You may need to use +P or -p option
> Error: Unexpected EOF G__fignorestream():3 FILE:tmpfile LINE:736
> Advice: You may need to use +P or -p option
> Error: Unexpected EOF G__exec_statement() FILE:tmpfile LINE:736
> Advice: You may need to use +P or -p option
> Warning: Error occured during reading source files
> Warning: Error occured during dictionary source generation
...
> Kjenner du til dette? Well, dersom jeg koerer rootcint over med
> opsjon -p virker alt som det skal.
translation:
Do you recognise this? Well, when I'm running `rootcint' with the
option `-p' everythins works as it should.
In some header file that's included by one of the input files, a
preprocessor macro with arguments is being used. `rootcint' can not
properly deal with preprocessor macros that takes arguments. The line
Warning: Unknown type ((3)<<16)+((3)<<8)+(5));} in function argument
suggests (however obscured) that Peter includes a header that has a
line like:
#if ROOT_VERSION_CODE >= ROOT_VERSION(3,3,5)
# define ClassDefNested(name, version) ClassDef(name,version)
#else
like in `data/rdo/BrNestedHack.h'.
> Peter/Christian: Vet dere hva denne opsjonen -p til rootcint gjoer? Jeg
> har soekt gjennom det jeg kjenner av ROOT documentasjon, men kan ikke
> finne noen referance til denne opsjonen. Har dere noen referanse?
translation:
Peter/Christian: Do you know what the option `-p' does? I've search
through the document of ROOT that I know of, but I kan not find any
reference to that option. Do you have a reference?
If you pass the `-p' option to `rootcint', it will first preprocess
the input wit the preprocessor defined in
`@prefix@/share/root/cint/MAKEINFO', typically `gcc -E' or `g++ -E'.
You may need this option if the headers uses preprocessor macros that
takes arguments.
`rootcint' is based on `makecint' form CINT, so the proper place to
look is in the CINT documentation [1]. The `-p' option is documented
in the `rootcint', `makecint' and `cint' man(1) pages, as well as on
[2,3]. Try also
makecint -\?
cint -\?
I've added `/afs/rhic/opt/brahms/{pro,new}/share/man' to the `MANPATH'
environment variable on RCAS. Ofcourse you need to use the `brahmlib'
setup [4] (which I hope you do).
Yours,
____ | Christian Holm Christensen
|_| | -------------------------------------------------------------
| | Address: Sankt Hansgade 23, 1. th. Phone: (+45) 35 35 96 91
_| DK-2200 Copenhagen N Cell: (+45) 24 61 85 91
_| Denmark Office: (+45) 353 25 305
____| Email: cholm@nbi.dk Web: www.nbi.dk/~cholm
| |
[1] http://root.cern.ch/root/Cint.html
[2] http://root.cern.ch/root/Cint.phtml?man
[3] http://root.cern.ch/root/Cint.phtml?makecint
[4] http://www.sdcc.bnl.gov/brahms/private/computing/account.html
This archive was generated by hypermail 2b30 : Fri May 31 2002 - 10:19:25 EDT