slaclab / anarel-manage

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

Latest jinja2 (2.9.5) brakes ddl codegen #32

Closed davidslac closed 7 years ago

davidslac commented 7 years ago

ana-1.2.2 has jinjai2 2.9.5. When psddlc from the psddl repo is used to generate the pdsdata code with it, the code is incorrect. You see a generated line that looks like

* var = ...

instead of

Evr::OuputMapV2 * var = ...

so that typename is gettting lost as a template parameter for the code generation.

The jinjai2 2.7 to 2.8 introduced a bug that was very difficult to track down. I don't know that we should spend that much time with this bug. Two options

Special Environment for DDL

Then we can always have the latest jinja2 in ana-current.

We'dl make a special environment with jinjai2 2.8 to compile the DDL, but development and testing should be done in ana-current. I think this environment needs

  1. scons
  2. psana-conda
  3. maybe cython

I guess I'll put in all the build dependencies of psana-conda. I'll have to make the envs.sh files to set environment variables also. We'll call the environment

ddl

and put it in all six, dev/prod rhel5/6/7. We may have to periodically update psana-conda for these environments. We should probably pin jinjai in them?

Pin Jinja

Or should I just pin jinja2 to 2.8.1? Downgrading jinja2 to 2.8.1 introduced no other changes in packages, for ana-1.2.2, so I think I'll do that.