[cctbxbb] forcing building boost_python early in SConscript
Luc Bourhis
luc_j_bourhis at mac.com
Sat Nov 17 05:01:55 PST 2018
Hi,
This is one of two clean ways to do it imho. Making a SConscript use features that belongs to libraries that it is in charge to build is a terrible idea I am afraid. It would require nasty hacks to work and I would be afraid to have to maintain that. Basically I see only two options:
1. Build Boost libraries as an external library, before our cctbx SConscript kick in, as other libraries such as wxWidget are built
2. Rewrite your SConscript not to use Boost.Python
I would definitively give a thought to option 2! What do you need Boost.Python for in a SConscript?
Best wishes,
Luc
> On 16 Nov 2018, at 21:35, Nicholas Devenish <ndevenish at gmail.com> wrote:
>
> Is there any real reason why we can't build boost earlier using their own installers - e.g. as part of the base?
>
> Baseless builds can install it the same way they install any other dependencies. Conda can just install boost the same way it does any other dependency.
>
> I've always thought it strange the way we replicate the build process, It would save a lot of time that we waste every time boost updates and having to debug problems caused by not replicating the build properly (on linux *and* windows).
>
> Nick
>
> On Fri, Nov 16, 2018 at 5:08 PM Robert Oeffner <rdo20 at cam.ac.uk <mailto:rdo20 at cam.ac.uk>> wrote:
> We are working on a newer version of Phaser. The new SConscript file for
> Phaser imports features from boost_python. Therefore it is currently not
> straightforward to build it since an empty build directory does not yet
> contain the boost_python module to be imported by SConscript (or
> python). So SCons crashes when it reads the new Phaser SCsonscript
> stating that boost_python cannot be imported. Currently our workaround
> is to first build CCTBX alone and then subsequently to build Phaser.
>
> My question is if it is possible to specify dependencies in
> cctbx_project/boost_adaptbx/SConscript to force building boost_python
> early on. On Windows boost_thread and a few other libraries are built
> before other SConscript files are read. So I have put some
> Depends(boost_thread, boost_python) andDepends(boost_thread,
> boost_python_meta_ext)
> statements into cctbx_project/boost_adaptbx/SConscript. These do seem to
> force building the boost_python.lib and .dll files. But building the
> boost_python_meta_ext python module fails with the error:
> boost_adaptbx\meta_ext.cpp(14): fatal error C1083: Cannot open include
> file: 'boost_adaptbx/type_id_eq.h'
>
> It's possible that I'm not using SCons as it's supposed to be used. Let
> me know if anyone has a suggestion on how to force building boost_python
> before other SConscript are read.
>
>
> Many thanks,
>
>
> Rob
>
> --
> Robert Oeffner, Ph.D.
> Research Associate, The Read Group
> Department of Haematology,
> Cambridge Institute for Medical Research
> University of Cambridge
> Cambridge Biomedical Campus
> Wellcome Trust/MRC Building
> Hills Road
> Cambridge CB2 0XY
>
> www.cimr.cam.ac.uk/investigators/read/index.html <http://www.cimr.cam.ac.uk/investigators/read/index.html>
> tel: +44(0)1223 763234
>
> _______________________________________________
> cctbxbb mailing list
> cctbxbb at phenix-online.org <mailto:cctbxbb at phenix-online.org>
> http://phenix-online.org/mailman/listinfo/cctbxbb <http://phenix-online.org/mailman/listinfo/cctbxbb>
> _______________________________________________
> cctbxbb mailing list
> cctbxbb at phenix-online.org
> http://phenix-online.org/mailman/listinfo/cctbxbb
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://phenix-online.org/pipermail/cctbxbb/attachments/20181117/32ac93d3/attachment.htm>
More information about the cctbxbb
mailing list