[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: RE : cctbx debian package [HEADS UP]



On Thu, 26. Jul 21:33, Baptiste Carvello wrote:
> Radi can probably explain this better than me. Basically, at runtime,
> libtbx makes use of a serialized copy of the build environment. We need
> to modify this environment to correct the modules install paths.
OK I try to explain. What they are doing is setting options (compiler flags,
paths, dispatcher scripts etc.) into an object called "environment" in
libtbx.env_config. But they need to "pickle" that object to use that options.
They save it into BUILDDIR/libtbx_env. They find it with LIBTBX env variable.
If you check patch 0001 you'll see that I already changed the unpickle method to
look into a systems path. Now the tricky thing is that cctbx needs this object
at runtime. I haven't entirely investigated why and where but you can't import
any of the modules without this object.

So I wrote a method in sconsutils.py to alternate the object to change the
path's to our final paths. Then the object is going to be installed into
/usr/share/cctbx/python*.*/libtbx_env
This way we can also reuse their build system if we need to install any other
packages that depend on their build system.
libtbx is just a wrapper for scons. 

But I could also investigate more why this is needed at runtime and try to patch
it out.

regards
Radi


Reply to: