Am 09.07.21 um 15:11 schrieb Billy Poon:
Hi Jan,
Do you need to build cctbx from scratch? The cctbx has been available for Python 3 for a while now, but is using conda packages (https://docs.conda.io/en/latest/ https://docs.conda.io/en/latest/) for managing dependencies. Building the dependencies from scratch for multiple versions of Python 3 for multiple platforms was getting too complicated.
You can install cctbx as a conda package for Python 3.6 through 3.9 with support for macOS (Intel and Apple Silicon), linux, and Windows. Instructions can be found here (https://github.com/cctbx/cctbx_project#installation https://github.com/cctbx/cctbx_project#installation), but essentially it is just
conda install -c conda-forge cctbx-base
to get it into an existing environment. The smtbx module will be available, but not fast_linalg yet.
Note that with a conda environment, you do not need to run any of the "setpaths" scripts to set it up. Just activate the environment and cctbx will be available in python.
There are also nightly builds of the conda packages on a separate channel (https://github.com/cctbx/cctbx_project#nightly-builds https://github.com/cctbx/cctbx_project#nightly-builds). The command above becomes
conda install -c cctbx-nightly -c conda-forge cctbx-base
You can also build cctbx with Python 3 using conda packages as dependencies (https://github.com/cctbx/cctbx_project#building-a-development-version https://github.com/cctbx/cctbx_project#building-a-development-version). The bootstrap.py command becomes
python bootstrap.py --use-conda --python 38
This will install miniconda if conda is not already available on your system.
As I did not have conda installed I went for this option and at first I encountered this: ===== Running in .: base Location of conda installation not provided Proceeding with a fresh installation Downloading https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh Downloaded file to /home/jan/Arbeit/cctbx-dev/Miniconda3-latest-Linux-x86_64.sh Installing miniconda to "/home/jan/Arbeit/cctbx-dev/mc3" /home/jan/Arbeit/cctbx-dev/mc3/conda.exe: error while loading shared libraries: libz.so.1: failed to map segment from shared object /home/jan/Arbeit/cctbx-dev/mc3/conda.exe: error while loading shared libraries: libz.so.1: failed to map segment from shared object Traceback (most recent call last): File "modules/cctbx_project/libtbx/auto_build/install_conda.py", line 1093, in <module> sys.exit(run()) File "modules/cctbx_project/libtbx/auto_build/install_conda.py", line 1069, in run verbose=namespace.verbose) File "modules/cctbx_project/libtbx/auto_build/install_conda.py", line 326, in __init__ self.conda_base = self.install_miniconda(prefix=self.root_dir) File "modules/cctbx_project/libtbx/auto_build/install_conda.py", line 543, in install_miniconda output = check_output(command_list, env=self.env) File "/home/jan/Arbeit/cctbx-dev/modules/cctbx_project/libtbx/auto_build/installer_utils.py", line 68, in check_output raise RuntimeError("Call to '%s' failed with exit code %d" % (popenargs, retcode)) RuntimeError: Call to '(['/bin/sh', '/home/jan/Arbeit/cctbx-dev/Miniconda3-latest-Linux-x86_64.sh', '-b -u -p "/home/jan/Arbeit/cctbx-dev/mc3"'],)' failed with exit code 1 Process failed with return code 1 But after a little research [1] I found the cause to be a noexec /tmp. Remounting /tmp exec made the bootstrap succeed and now I'm happy with $ /home/jan/Arbeit/cctbx-dev/build/bin/cctbx.python Python 3.8.6 | packaged by conda-forge | (default, Oct 7 2020, 19:08:05) [GCC 7.5.0] on linux So on to finally moving my codebase to Python3. Thank you all for your support and have a nice weekend Jan [1] https://stackoverflow.com/questions/60106630/conda-exe-error-while-loading-s...