Re: [VMC] Re: geant3_vmc undefined symbol: _ZN10TVirtualMC14DefineParticleEiPKc15TMCParticleTypeddd

From: Andrei Gheata <Andrei.Gheata_at_cern.ch>
Date: Wed, 22 Apr 2009 09:52:20 +0200


Stefano, looks like your G3 compilation is inconsistent. Just refresh the geant3 directory and recompile it from scratch. Make also sure that the library you compile is the first one accessible in LD_LIBRARY_PATH in case you have multiple versions.

Cheers,
Andrei

Stefano Dusini wrote:
> Hi,
>
> I have recompiled root with
>
> --enable-pythia6 --with-pythia-libdir=$KITS_DIR/pythia6
>
> recompiled geant3_vmc_1.10
>
> but the keep crash with the same error
>
> /sps/opera/scratch/dusini/sw/OpRelease/3.1/OpSim/v7r4/Linux/opsim.exe:
> symbol lookup error:
> /sps/opera/scratch/dusini/sw/OpRelease_fluka/kits/geant3_vmc_1.10/lib/tgt_linux/libgeant321vmc.so:
> undefined symbol:
> _ZN10TVirtualMC14DefineParticleEiPKc15TMCParticleTypeddd
>
> This error occur at the point where I define a new particle
>
> // DefineParticle(PDGCode, Name, Type, Mass, Charge, Lifetime)
> gMC->DefineParticle(kOpPDGDPlus, "OPERA D +", kPTMuon, kOpMassDPlus,
> 1., 1e+12);
>
> where gMC is a TGeant3TGeo object.
>
> regards,
> Stefano
>
> Rene Brun wrote:
>> TMCParticle class is in libEGPythia6.
>> see top right corner of: http://root.cern.ch/root/html/TMCParticle.html
>>
>> Rene Brun
>>
>> Stefano Dusini wrote:
>>> I'm trying to upgrade our (OPERA) detector simulation software to
>>> use ROOT v5.23 and therefore I have also upgraded the geant3_vmc
>>> version to v1.10. I have also modify the code to use TVirtualMC as
>>> the only interface to the MC transportation code. But at run time I
>>> get this error
>>>
>>> /sps/opera/scratch/dusini/sw/OpRelease/3.1/OpSim/v7r4/Linux/opsim.exe:
>>> symbol lookup error:
>>> /sps/opera/scratch/dusini/sw/OpRelease_fluka/kits/geant3_vmc_1.10/lib/tgt_linux/libgeant321vmc.so:
>>> undefined symbol:
>>> _ZN10TVirtualMC14DefineParticleEiPKc15TMCParticleTypeddd
>>>
>>> In fact using
>>>
>>> nm -u libgeant321vmc.so
>>>
>>> I see that
>>>
>>> U _ZN10TVirtualMC14DefineParticleEiPKc15TMCParticleTypeddd
>>>
>>> where the U means (from nm man page) that the symbol is undefined.
>>>
>>> What is wrong?
>>>
>>> The geant3_vmc library has been build just with
>>>
>>> gmake
>>>
>>> and the environmental variable $ROOTSYS pointing to the ROOT v5.23
>>> directory and $ROOTSYS/lib added to the $LD_LIBRARY_PATH and
>>> $ROOTSYS/bin added to $PATH.
>>>
>>> Do I have to specify something else when I compile geant3_vmc?
>>> Do I have to use some special switch when I compile root?
>>>
>>> Thanks a lot
>>> Stefano
>>
>
>
Received on Wed Apr 22 2009 - 09:52:14 CEST

This archive was generated by hypermail 2.2.0 : Wed Apr 22 2009 - 11:50:01 CEST