Please help on install

Hello, I am trying to build Allpix Squared on my Geant4 VMWare. I used the geant4 pre-built from this website: http://geant4.in2p3.fr/spip.php?rubrique8

I am stuck on “make install” step after “cmake …” step. I get this error message:


[root@localhost build]# make install
[ 1%] Generating AllpixObjectsDictionary.cxx, libAllpixObjects_rdict.pcm, libAllpixObjects.rootmap
Warning in cling::IncrementalParser::CheckABICompatibility():
Possible C++ standard library mismatch, compiled with GLIBCXX ‘20150623’
Extraction of runtime standard library version was: ‘20181206’
Error in TInterpreter::InspectMembers: TClass and cling disagree on the size of the class TBaseClass, respectively 128 152

Error in TInterpreter::InspectMembers: TClass and cling disagree on the size of the class TClassRef, respectively 16 40

Error in TInterpreter::InspectMembers: TClass and cling disagree on the size of the class TClassRef, respectively 16 40

[ 1%] Generating AllpixObjectsDictionary.cxx.o
c++: error: unrecognized command line option ??std=c++14??make[2]: *** [src/objects/AllpixObjectsDictionary.cxx.o] Error 1
make[1]: *** [src/objects/CMakeFiles/AllpixObjects.dir/all] Error 2
make: *** [all] Error 2

I believed that the error was due to gcc version being 4.8.0. So I updated it to 7.4.0 but I still get the same error message and I just don’t know what to do.

Thank you in advance.

1 Like

Hi Jeon,

From the output you posted out looks like the ROOT version provided in the VM has been compiled with a different version than the compiler you are currently using.

For Allpix Squared we require C++14, so updating GCC was a good move - but it doesn’t solve the issue that ROOT and Geant4 have been compiled with the older version still.

Would using Docker be an option for you? We provide up-to-date Docker images for Allpix Squared which contain both Geant4 and ROOT6.

Best regards
Simon

First, thank you for your response. I tried to recompile but it was too difficult so I am going to try the Docker. I have installed it on my Centos 7 but where do I get the allpix squared docker image? I have never used docker before so I am unfamiliar with this program.

Hi Jeon,

basic usage of the Docker image is explained in the user manual, Section 3.7:

https://project-allpix-squared.web.cern.ch/project-allpix-squared/usermanual/allpix-manualch3.html#x4-130003.7

Summary: no need to install anything, you simply provide docker with the URL to the image, e.g.

docker run --interactive --tty --volume "$(pwd)":/data --name=allpix-squared gitlab-registry.cern.ch/allpix-squared/allpix-squared:v1.4.1 bash 

Best regards,
Simon

Thank you for your continued help. I have been able to create docker image for on my Centos7. I want to start using it but the manual is unclear what the next step is. I figured I run it by command: allpix -c example.cof

When I run that though I got an error saying an geant4 environment variable is not defined.

.

My understanding was that usage of docker is that it has all the prerequisites (geant4, root etc) installed so I just call upon it and use. I didn’t know where to find the allpix examples files to run neither so I downloaded a seperate allpix source file to use as example file.

I am apologize if my questions are very basic. I am not expert at navigating neither linux nor allpix.

Dear Jeon,

indeed your understanding is correct and it should have simply worked the way you used it. However, there was a mis-configuration in the Docker image which you have discovered, so thank you for that. It should be fixed in the latest Docker images by now, and I’ve also re-built v1.4.1. Please try again:

docker run -i -t -v "$(pwd)":/data --name=allpix-squared gitlab-registry.cern.ch/allpix-squared/allpix-squared:v1.4.1 bash 

If you still have the same issue you might tell Docker to delete its local copy of the image and to fetch it again (see https://www.digitalocean.com/community/tutorials/how-to-remove-docker-images-containers-and-volumes) for how to do that.

Let me know if this works.

Best regards,
Simon

1 Like

Dear Simon,

I made a mistake on the error image I attached in my last question. I linked an image of install error instead of allpix execute error. Following your edit though, I have deleted all containers and rebuilt them but still receive same error. I have attached my work flow, maybe I am doing something very basic wrong.

allpix_error_11_03_1


allpix_error_11_03

Hi Jeon,

no worries, I understood your problem even with the wrong screenshot.

Could you please make sure to remove all images (not only containers)? Because containers are basically instantiations of the images, and if the image is still the old one you will have the same problem:

docker rm `docker ps -aq`
docker rmi `docker images -aq`

Best, Simon

Thank you so much for your help. Everything seems to be good and I am able to run the example simulations. A quick question about usage though: If I want to just create a simple silicon box with electric field to see charge deposited inside from proton beam how should I go about it?

From reading the manual, I believe I copy the example.conf file and edit it to my need. However, I cannot find a section in the manual where the detector type is explained (test, allpix, etc).

Hi Jeon,

happy it now works for you. For a simple silicon box you need to create a new detector model. This is explained in the manual here:

https://project-allpix-squared.web.cern.ch/project-allpix-squared/usermanual/allpix-manualch5.html#x6-390005.4.3

The models already shipped with the framework are to be found in the directory /opt/allpix-squared/share/Allpix/models/. Simply pick one and adapt to your needs. You can place the model file right next to your main configuration file as explained in https://project-allpix-squared.web.cern.ch/project-allpix-squared/usermanual/allpix-manualch4.html#x5-190004.2 using the parameter model_paths.

Cheers,
Simon