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

From: Xinchun Tian <tianxc_at_fnal.gov>
Date: Tue, 17 Nov 2009 20:32:19 -0500


Dear Alex,

Thanks, I will live with ROOT 5.22.00 for a while.

Regards,
Xinchun

On Tue, Nov 17, 2009 at 4:06 AM, Axel Naumann <Axel.Naumann_at_cern.ch> wrote:

    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 Wed Nov 18 2009 - 02:32:25 CET

This archive was generated by hypermail 2.2.0 : Wed Nov 18 2009 - 11:50:03 CET