[cctbxbb] Python3 / scons / non-conda builds

[email protected] Graeme.Winter at diamond.ac.uk
Wed May 8 01:01:26 PDT 2019


Dear All,

Back in the mists of time, one could build cctbx modules without bootstrap or conda by having the right modules available yourself - a so-called baseless install which I think is still important in X-fel land?

Anyhow, trying this with Python3 suggests that we have some special constraints which are perhaps too tight regarding module locations - for example scons -

Grey-Area p3_compile :( $ pip3 install scons
Collecting scons
  Downloading https://files.pythonhosted.org/packages/65/41/ac58638421414acc64e26fc120c81c12bc2b1ebcea9e7e0939149878f0a3/scons-3.0.5-py2.py3-none-any.whl (831kB)
    100% |████████████████████████████████| 839kB 14.3MB/s
Installing collected packages: scons
Successfully installed scons-3.0.5
You are using pip version 19.0.1, however version 19.1.1 is available.
You should consider upgrading via the 'pip install --upgrade pip' command.
Grey-Area p3_compile :) $ make
./bin/libtbx.scons -j "`./bin/libtbx.show_number_of_processors`"
ModuleNotFoundError: No module named 'SCons'

During handling of the above exception, another exception occurred:

Sorry: SCons is not available.
  A possible solution is to unpack a SCons distribution in
  one of these directories:
    "/Users/graeme/svn/scr"
    "/Users/graeme/svn/scr/cctbx_project"
  SCons distributions are available at this location:
    http://www.scons.org/
  It may be necessary to rename the unpacked distribution, e.g.:
    mv scons-0.96.1 scons
make: *** [default] Error 1
Grey-Area p3_compile :( $ which scons
/Library/Frameworks/Python.framework/Versions/3.7/bin/scons

Should we require that scons is installed as part of cctbx when it is already installed on the system?

If we *do* have to have this constraint, maybe that should be checked at configure time (where it complains about six and future)

Thoughts?

In other news - the syntax changing branch referenced in https://github.com/cctbx/cctbx_project/pull/325 now compiles correctly on Python3 (note: not run, just compile but this means that it’s purpose is done) for the modules which it intends to touch and has no conflicts right now…

Best wishes Graeme

-- 
This e-mail and any attachments may contain confidential, copyright and or privileged material, and are for the use of the intended addressee only. If you are not the intended addressee or an authorised recipient of the addressee please notify us of receipt by returning the e-mail and do not use, copy, retain, distribute or disclose the information in or attached to the e-mail.
Any opinions expressed within this e-mail are those of the individual and not necessarily of Diamond Light Source Ltd. 
Diamond Light Source Ltd. cannot guarantee that this e-mail or any attachments are free from viruses and we cannot accept liability for any damage which you may sustain as a result of software viruses which may be transmitted in or with the message.
Diamond Light Source Limited (company no. 4375679). Registered in England and Wales with its registered office at Diamond House, Harwell Science and Innovation Campus, Didcot, Oxfordshire, OX11 0DE, United Kingdom



More information about the cctbxbb mailing list