[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: DTrack_factory_ALT1
Hi David,
the code doesn't look as you say it should:
// Loop over factories looking for ones that provide
// specified data type.
for(uint i=0; i<factories.size(); i++){
if(factories[i]->GetDataClassName() != T::className())continue;
// This factory provides data of type T. Search it for
// the object with the specified id.
const JObject *my_obj = factories[i]->GetByID(id);
if(my_obj)return dynamic_cast<const T*>(my_obj);
}
so I'll grab the new JANA tarball and see what happens.
-Blake
David Lawrence wrote:
>
> Hi Blake,
>
> Can you take a look at line 392 of the following file on your system:
>
> /export/jana/jana_svn_daily_linux/include/JANA/JEventLoop.h
>
> It should look like this:
>
> if(factories[i]->GetDataClassName() !=
> T::static_className())continue;
>
> If it has T::className() instead of T::static_className() then the
> file was somehow not updated to the latest version. If it *does*
> actually have T::static_className() then this may be a problem with
> the compiler (optimizations may be a prime suspect). In that case,
> please send me your operating system type, processor type, and gcc
> version so I can try and grab a similar system to try and reproduce
> the error.
>
> In the meantime, I have created a tarball of the latest release of
> JANA versioned 0.4.6. (This should be the same as your 0.4.5) and
> placed it on the JANA website. I have also tagged a release of the
> Hall-D source code which can be obtained via:
>
> svn co https://halldsvn.jlab.org/repos/tags/release-2008-06-20
>
> I just tried compiling these (JANA and HallD) on Fedora Core 6 and did
> not get your error.
>
> Regards,
> -David
>
> Blake Leverington wrote:
>> Hi David,
>>
>> I rebuilt xerces 2.7, changed $XERCESCROOT to that, rebuilt JANA
>> 0.4.5, and then attempted the HallD libraries again with the same
>> error from DTrack_factory_ALT1.cc. So I have no idea what's up. Hope
>> you can figure it out. I've been keeping track of all my steps for
>> what seems to work so at the end I should be able to do a clean build
>> on any system.
>>
>> Cheers,
>> -Blake
>>
>> I rebuilt xerces
>>
>> David Lawrence wrote:
>>>
>>> Hi Blake,
>>>
>>> Something seems inconsistent in your setup. The change to JANA
>>> required to fix the error coming from DTrack_factory_ALT1.cc should
>>> be in your 0.4.5 version. This change was made right after the 0.4.4
>>> version. Could it be you have a stale JANA_HOME environment variable
>>> that is not pointing to your newest JANA installation?
>>>
>>> I don't believe you should have to upgrade xerces.
>>>
>>> Your difficulty does actually underline the increased need for
>>> stable releases of the HallD code. I recently started to get more
>>> serious about the versioning system for JANA and it seems it is also
>>> needed for the Hall-D source. I will try checking out and freshly
>>> building both JANA and Hall-D. If it compiles smoothly (or once I
>>> fix it) then I'll tag it and add a release note specifying the JANA
>>> version needed.
>>>
>>> Regards,
>>> -David
>>>
>>> Blake Leverington wrote:
>>>> Alright, so as I discovered to my surprise the is an older working
>>>> version of the HallD software on the cluster from 2006 that someone
>>>> kindly installed and a brand spanking new version of JANA as it
>>>> seems to update itself so I figured I'd just download the new
>>>> HDGeant source and upgrade that. (I saved the old version) But no
>>>> luck compiling the libraries. It compiles a lot of them but it gets
>>>> stuck on DTrack_factory_ALT1. If this is a JANA version problem,
>>>> the newest version 0.4.5 shouldn't cause this problem, should it?
>>>> (I checked the version with "jana --janaversion") I've pasted the
>>>> Makefile error below. Any ideas? I saw that xerces is version 2.6.
>>>> Should I attempt an upgrade on that too?
>>>>
>>>> Cheers,
>>>> -Blake
>>>>
>>>> g++ -I. -I.. -I../include -I/export/gluex/include
>>>> -I/export/jana/jana_svn_daily_linux/include
>>>> -I/export/xerces/xerces-c-src_2_6_0/include -D_ROOT_ -pthread
>>>> -I/export/root-binaries/include -I/export/root-binaries/include -O2
>>>> -Wall -c -o DTrack_factory_ALT1.o DTrack_factory_ALT1.cc
>>>> /export/jana/jana_svn_daily_linux/include/JANA/JEventLoop.h: In
>>>> member function
>>>> `const T* jana::JEventLoop::FindByID(long unsigned int) [with T =
>>>> DTrackCandidate]':
>>>> DTrack_factory_ALT1.cc:477: instantiated from here
>>>> /export/jana/jana_svn_daily_linux/include/JANA/JEventLoop.h:392:
>>>> cannot call
>>>> member function `virtual const char* DTrackCandidate::className()
>>>> const'
>>>> without object
>>>> make[1]: *** [DTrack_factory_ALT1.o] Error 1
>>>> rm DQuickFit.o DKalmanFilter.o DTrackCandidate_factory_FDCpseudo.o
>>>> DReferenceTrajectory.o DTrackCandidate_factory_CDC.o
>>>> DTrackHit_factory_MC.o DTrack_factory.o DRiemannFit.o
>>>> DTrackCandidate_factory_FDCCathodes.o DHoughFind.o
>>>> DTrackCandidate_factory_THROWN.o DMagneticFieldStepper.o
>>>> DTrackCandidate_factory.o DTrackCandidate_factory_FDC.o
>>>> make[1]: Leaving directory `/export/gluex/src/libraries/TRACKING'
>>>> make: *** [TRACKING] Error 2
>>>>
>>>>
>>>>
>>>
>