[Halld-offline] Python-3-compatible building

Mark Ito marki at jlab.org
Tue Jul 28 20:10:27 EDT 2020


Folks,

I have submitted five pull requests recently, one for each of the 
following repositories:

hdds
halld_recon
halld_sim
hdgeant4
build_scripts

This set of changes is to allow us to build our software stack using 
Python 3. Where necessary, the system checks the version number of the 
"python" command and makes the appropriate changes. The system was 
tested on RedHat Enterprise 7 (RHEL7), where the default python is 
2.7.5, and on Fedora 32, where the default python is 3.8.3. The same 
versions of the packages named above will build on both platforms 
without modification. Fedora 32 was chosen because it is (a) the latest 
version of Fedora and (b) because it is what I have running on my box at 
home.

In addition, because Fedora 32 comes with GCC 10.1.1, there were 
modifications made to be able to build with that compiler. These were 
made by sensing the version of the compiler and thus did not break the 
ability to build with GCC 4.8.5 (which comes with RHEL7/CentOS7).

Also, to do the testing with GCC 10.1.1, more modern versions of lapack 
(3.9.0) and ROOT (6.18.04) were needed. The default versions have not 
changed on our standard platforms, only the versions used in the Fedora 
32 tests.

There is one important caveat. The RHEL7 build was tested successfully 
with the b1pi test using both hdgeant and hdgeant4. On Fedora 32, the 
b1pi test with hdgeant4 fails for unknown reasons. Despite this, I would 
like to get these changes on the master branches to provide a base for 
further testing, a base that will at least build successfully on a more 
advanced distribution. In particular CentOS 8 uses Python 3 by default, 
so many of these changes are needed to develop a CentOS-8-based 
container system.

   -- Mark




More information about the Halld-offline mailing list