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
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