Installation of an ILCSOFT release on Ubuntu
Preamble
Trying to build ilcsoft on Ubuntu 15.10 on a Dell XPS 13 (2015). Feel free to browse through
ILCSOFTMacOSX which talks about installing ILCSOFT on
MacOS X. Some of the ideas discussed there might be relevant here.
- You should turn on c++11
- I avoid building CondDB, LCCD and other test beam packages to avoid having to bother with installing MySQL
- Comment out installation of LCFIPlus. If you need it, you will need to handle problems building against TMVA
- Assume to be building locally under:
/home/user/ilcsoft=
- If you already have a ROOT installation and you want to use that one (i.e. link against that rather than having a second copy for ILCSoft), I suggest you change
release-versions.py
to reflect to your ROOT version and make a symbolic link to the installation location inside your ilcsoft base installation path. You will need to enable some features when building root:
./configure --enable-gdml --enable-python --enable-minuit2 --enable-builtin-ftgl --enable-unuran
- I had to edit
lcio/HEAD/src/cpp/include/UTIL/LCTime.h
and make the CalendarTime struct to public Apparently GCC 5 has issues/features with helper subclasses! Also there in DD4hep/DDG4/Geant4UserParticleHandler
- I had to edit
root/5.34.30/include/Reflex/Builder/CollectionProxy.h
(comes with root, same for all root releases) to comment out the forward declarations of the std containers and add #include for list, queue and stack. Otherwise, you get the error:
[ 5%] Building CXX object DDCore/CMakeFiles/DDCore.dir/src/VolumeManager.cpp.o
Building CXX object DDCore/CMakeFiles/DDCore.dir/src/Plugins.cpp.o
In file included from /home/sawtooth/ilcsoft/HEADon2015-11-18/root/5.34.30/include/Reflex/Builder/ReflexBuilder.h:25:0,
from /home/sawtooth/ilcsoft/HEADon2015-11-18/DD4hep/HEAD/DDCore/include/DD4hep/Plugins.inl:33,
from /home/sawtooth/ilcsoft/HEADon2015-11-18/DD4hep/HEAD/DDCore/src/Plugins.cpp:18:
/home/sawtooth/ilcsoft/HEADon2015-11-18/root/5.34.30/include/Reflex/Builder/CollectionProxy.h:688:62: error: template argument 1 is invalid
template <class T, class A> struct Proxy< std::list<T, A> > {
^
DDCore/CMakeFiles/DDCore.dir/build.make:856: recipe for target 'DDCore/CMakeFiles/DDCore.dir/src/Plugins.cpp.o' failed
make[2]: *** [DDCore/CMakeFiles/DDCore.dir/src/Plugins.cpp.o] Error 1
CHECK FIRST! IT MAY HAVE BEEN FIXED BY MARCUS
Installation of base
Checkout ilcinstall from
--
NikiforosNikiforou - 2015-11-19