slaclab / anarel-manage

Manage the conda based analysis release environments that include psana at LCLS.
Other
3 stars 3 forks source link

update psana conda to latest boost, qt, and python 2.7.13 on conda-forge #45

Open davidslac opened 7 years ago

davidslac commented 7 years ago

Can we do this? To try, make a new build environment, look at dependencies here

https://github.com/slaclab/anarel-manage/blob/master/recipes/psana/psana-conda-opt/meta.yaml

and do

 conda create --name psana-update -c conda-forge "python>=2,<3" scons cython boost mysql ndarray qt numpy matplotlib scipy pyzmq openmpi=1.10.6=lsf_verbs_1 hdf5 h5py mpi4py=2.0.0=py27_openmpi_104  pytables

so that we get our openmpi and corresponding mpi4py, but we get most everything else from conda-forge. I did this as psreldev in the rhel7 --dev environment.

Then to build psana, one could and do, from your own account

cp -r /reg/g/psdm/sw/conda/scratch/psana-conda-1.2.7 .

to get our source, unfortunately this is not properly under git - we should extent the ana-rel-admin command to get source with full git checkout from master so we can update ite. Note the 'extpkgs' subdir with two packages (pdsdata and psalg) from /afs/svn

Building psana is a little complicated, one has to make a SConstruct file, a link to what is in SConsTools, define some environment variables, one also needs to define SIT_ARCH ahead of time, easiest is to run the build.sh in the recipe like this:

  1. source conda_setup --dev --env psana-update # activate my env with new packages
  2. SIT_ARCH=x86_64-rhel7-gcc48-opt bash /reg/g/psdm/sw/conda/manage/recipes/psana/psana-conda-opt/build.sh
davidslac commented 7 years ago

Where the build stops for me is

hdf5pp/src/Utils.cpp:171:5: error: 'cerr' is not a member of 'std'
     std::cerr << "tp.tclass()=" << tp.tclass() << std::endl;

so somehow, some header that we include, maybe from boost, no longer includes iostream for us, so will have to update code in that package