Re: Re: ROOT-5.24.00 vs ROOT-5.22.00 with reflex dictionary

From: Axel Naumann <Axel.Naumann_at_cern.ch>
Date: Tue, 17 Nov 2009 10:06:47 +0100


Hi Xinchun,

you need to tell CMT to link the dictionary with your library, at least for those classes deriving from TObject. Please talk to your CMT expert for that or see <https://savannah.cern.ch/bugs/index.php?52581>.

Cheers, Axel.

Xinchun Tian wrote on 11/17/2009 05:23 AM:
> Hi Roel,
>
> On Mon, Nov 16, 2009 at 8:09 AM, Roel Aaij <Roel.Aaij_at_cern.ch> wrote:
>
> Hi Xinchun,
>
> > Following your suggestions, the compile fails with the following errors which are the same between v5.22.00 and v5.24.00.
>
> How are you doing, have you managed to solve the problem?
>
> Unfortunately, I did not. I even have not had a chance to try Brett's suggestion.
>
> The undefined references listed usually imply that a generated
> dictionary is not linked into the library. I'm not an expert on the
> differences between rootcint and genreflex, so there might also be a
> cause there.
>
> How are object persisted? Do you use the ROOT IO system exclusively or
> is another method used? The generated streamers are needed to persist
> objects in root files. Again, I don't know if only rootcint generates
> these, of if they can be generated with genreflex too.
>
> I have not looked into the details of FMWK which is used as the framework for NOvA offline.
> I believe ROOT IO is used for object persistent. genreflex should also generate these, I think.
>
> > Any ideas?
>
> I wanted to take a look at your code, but I cannot find the svn
> repository that you referred to in an earlier mail. Is it still at:
> /afs/fnal.gov/files/home/room3/tianxc/repos/svn/nova/installation/trunk/novainst/novainst?
>
> Sorry about this, the above repos. is just a temp. one for development purpose, and has been removed after Fermilab setup the official SVN repository for NOvA offline, but you may not be able to access it without Kerberos principle, so I recover my svn repository, you can get the code following the previous mail, and I put them down here:
> shell> svn export file:///afs/fnal.gov/files/home/room3/tianxc/repos/svn/nova/installation/trunk/novainst/novainst
> shell> ./novainst trunk all
>
> The above will help you to install, cmake, gccxml, ROOT 5.24.00 and FMWK. you will notice the following errors:
> --->> genreflex: INFO: Parsing file /home/tianxc/offline/nova-trunk/fmwk/EventDataModel/dict/dict.h with GCC_XML OK
> --->> genreflex: INFO: Generating Reflex Dictionary
> --->> genreflex: ERROR: class edm::EventHeader derives from TObject but does not use ClassDef!
> --->> You MUST put ClassDef(edm::EventHeader, 1); into the class definition.
> --->> genreflex: ERROR: class edm::Event derives from TObject but does not use ClassDef!
> --->> You MUST put ClassDef(edm::Event, 1); into the class definition.
>
> After uncomment
> ClassDef & ClassImp, the compile will fail as the last mail said.
>
> Thanks for any help.
> Xinchun
>
>
>
Received on Tue Nov 17 2009 - 10:05:10 CET

This archive was generated by hypermail 2.2.0 : Tue Nov 17 2009 - 17:50:03 CET