Symbol lookup error upon running application

I am running Linux Ubuntu 20.04

I decided to upgrade to Geant4.10.07.p01. My existing application runs under Geant4.10.06.p01.

I built the Geant4 libraries using the commands
cmake -DCMAKE_INSTALL_PREFIX=/home/christopherwalker/Geant4/geant4.10.07.p01-install -DGEANT4_INSTALL_DATA=ON -DGEANT4_USE_GD
ML=ON -DGEANT4_USE_OPENGL_X11=ON /home/christopherwalker/Geant4/geant4.10.07.p01
make -j8
make install
Everything seemed to build OK.

I issued the command:
source ~/Geant4/geant4.10.07.p01-install/bin/

I then went to the build directory of my application and executed:
cmake -DGeant4_DIR=~/Geant4/geant4.10.07.p01-install …/SEM
make -j8
Again everything seemed to build OK.
I then run my program and I get the message:
./SEM: symbol lookup error: ./SEM: undefined symbol: _ZN20G4SPSEneDistribution14ArbEnergyHistoEN5CLHEP10Hep3VectorE

Can someone tell me where I went wrong ? I checked the Release Notes, but I didn’t find anything.

I should add that I managed to build example B1 without any problems using the latest release.

Looks like you have three dots in front of .../SEM.

Thanks John, sorry that’s a typo on the posting. I used two dots on the command line.


If there was an existing build of the application in that directory, reconfiguring may not have worked fully. CMake caches information when it runs so it doesn’t need to do expensive checks every time you build. So in this case it might have rebuilt against the old version, then tried to run against the new (via LD_LIBRARY_PATH).

Try deleting everything in the build directory and re-cmake/build. Given where you’ve install 10.7.1, the command will be:

cmake -DCMAKE_PREFIX_PATH=~/Geant4/geant4.10.07.p01-install ../SEM

Hi, I tried what you suggest, and it works now. Thanks for the advice.