cctbx / cctbx_project

Computational Crystallography Toolbox
https://cci.lbl.gov/docs/cctbx
Other
222 stars 117 forks source link

BOOST_VERSION: -1 #472

Closed kirienko closed 4 years ago

kirienko commented 4 years ago

I'm trying to build cctbx from cctbx_project/auto_build with the following command:

python bootstrap.py --python3 --use-conda $CONDA_PREFIX --builder=cctbx

(Yes, I use python3.6.10 in the conda environment. )

But during the build phase it fails with the following error:

===== Running in build: save configure command
===== Running in build: permit execution of config_modules.sh
===== Running in build: Writing additional setup scripts for conda.
Base conda installation:
  /software/anaconda3/5.2
conda_setpaths.sh has been written successfully.
conda_unsetpaths.sh has been written successfully.
conda_setpaths.csh has been written successfully.
conda_unsetpaths.csh has been written successfully.
===== Running in build: libtbx.scons
scons: Reading SConscript files ...
libtbx.scons: OpenMP is disabled.
BOOST_VERSION: -1
  Ignored: [Errno 2] No such file or directory: '/home/kirienko/github/cctbx_project/libtbx/auto_build/build/exe_dev/cctbx.getting_started'
  Ignored: [Errno 2] No such file or directory: '/home/kirienko/github/cctbx_project/libtbx/auto_build/build/exe_dev/cctbx.sym_equiv_sites'
  Ignored: [Errno 2] No such file or directory: '/home/kirienko/github/cctbx_project/libtbx/auto_build/build/exe_dev/cctbx.convert_ccp4_symop_lib'
  Ignored: [Errno 2] No such file or directory: '/home/kirienko/github/cctbx_project/libtbx/auto_build/build/exe_dev/cctbx.lattice_symmetry'
  Ignored: [Errno 2] No such file or directory: '/home/kirienko/github/cctbx_project/libtbx/auto_build/build/exe_dev/cctbx.find_distances'
  Ignored: [Errno 2] No such file or directory: '/home/kirienko/github/cctbx_project/libtbx/auto_build/build/exe_dev/cctbx.sys_abs_equiv_space_groups'
  Ignored: [Errno 2] No such file or directory: '/home/kirienko/github/cctbx_project/libtbx/auto_build/build/exe_dev/cbflib.tst_memory'
Module smtbx requires Boost version 1.56:  you have only version 0.999.  This cctbx build uses Boost installed at /home/kirienko/github/cctbx_project/libtbx/auto_build/modules/boost: please put a supported version there.
** Aborting build **

At the same time if I check the inner folder modules/boost/boost/version.hpp I see BOOST_VERSION 106300. So it looks like while boost was built from scratch correctly, when SConscript of smtbx receives libtbx.env.boost_version it already has a wrong value.

I see the same behaviour on both Ubuntu18 and CentOS7 if it makes any sense.

kirienko commented 4 years ago

I might be wrong but I have an impression that it used to work a couple of weeks ago, when we discussed cctbx with @phyy-nx. But now I cannot reproduce those conditions, that's why I have doubts in that. (I might have something pre-built from the binary dials distribution.)

bkpoon commented 4 years ago

What's in $CONDA_PREFIX (output from conda list is fine)? Also, what is the output of which python (I'm assuming it's the python from $CONDA_PREFIX)? This error can occur if boost cannot be found somewhere in modules or in $CONDA_PREFIX.

I just tested this on CentOS 7.7.1908, and boost was found correctly. My $CONDA_PREFIX was the environment defined by https://github.com/cctbx/cctbx_project/blob/newpy/libtbx/auto_build/conda_envs/cctbx_py36_linux-64.txt and I updated to Python 3.6.10.

Anthchirp commented 4 years ago

Dear Yury,

It looks like you are running bootstrap inside the cctbx_project repository. This is unlikely to end well.

Can you try eg.

mkdir /home/kirienko/github/cctbx
cd /home/kirienko/github/cctbx
cp /home/kirienko/github/cctbx_project/libtbx/auto_build/bootstrap.py .
python bootstrap.py --python3 --use-conda $CONDA_PREFIX --builder=cctbx

-Markus

gbunkoczi commented 4 years ago

Dear Yury,

I have just run into this problem myself. For me, the issue was that I had a folder named cctbx_project and within it, there was a git repository named cctbx_project, but these two were distinct, e.g.:

/home/me/cctbx_project/python2/modules/cctbx_project

Unfortunately, in this case the boost folder (which would be /home/me/cctbx_project/python2/modules/boost) is found, but then rejected by a somewhat unspecific test. The easiest workaround is what Markus suggests.

BW, Gabor

On Wed, May 6, 2020 at 10:24 AM Markus Gerstel notifications@github.com wrote:

Dear Yury,

It looks like you are running bootstrap inside the cctbx_project repository. This is unlikely to end well.

Can you try eg.

mkdir /home/kirienko/github/cctbx cd /home/kirienko/github/cctbx cp /home/kirienko/github/cctbx_project/libtbx/auto_build/bootstrap.py . python bootstrap.py --python3 --use-conda $CONDA_PREFIX --builder=cctbx

-Markus

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/cctbx/cctbx_project/issues/472#issuecomment-624538363, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABBQ4DO74VYGNKRLVLQUPSLRQEUGHANCNFSM4MZ6IUSQ .

kirienko commented 4 years ago

Dear Markus,

you're right, I did try to run bootstrap.py from the repository itself. Following your suggestion about a separate folder, I have successfully installed cctbx. Later I realized that this way of installation was actually described in the installation manual. But it's not obvious why one cannot run bootstrap.py from the repository itself.

I guess we can close this issue now.

Could you please explain how this works? (Or why the way I tried initially doesn't work.)

Anthchirp commented 4 years ago

There may be a number of reasons why this doesn't work:

Glad to hear it worked though.