how to build ESP with boost

Asked by high end compute

Hi all, am new to ESP... anybody able to help me work out why my boost build for python isn't getting picked up correctly by ESys-Particle v2.3.2

Details:
configure: Detected BOOST_ROOT; continuing with --with-boost=/gpfs/stfc/local/HCPhi020/mxb01/mxb52-mxb01/boost/1.59
checking for Boost headers version >= 1.34.1... /gpfs/stfc/local/HCPhi020/mxb01/mxb52-mxb01/boost/1.59/include
checking for Boost's header version... 105900
Boost Version is 1.59.0
checking for the toolset name used by Boost for mpicxx... gcc44 -gcc
checking boost/system/error_code.hpp usability... yes
checking boost/system/error_code.hpp presence... yes
checking for boost/system/error_code.hpp... yes
checking for the Boost system library... /gpfs/stfc/local/HCPhi020/mxb01/mxb52-mxb01/boost/1.59/lib/libboost_system.so ...
libboost_system.so links to libboost_system.so.1.59.0
yes...
yes
checking boost/filesystem/path.hpp usability... yes
checking boost/filesystem/path.hpp presence... yes
checking for boost/filesystem/path.hpp... yes
checking for the Boost filesystem library... /gpfs/stfc/local/HCPhi020/mxb01/mxb52-mxb01/boost/1.59/lib/libboost_filesystem.so ...
libboost_filesystem.so links to libboost_filesystem.so.1.59.0
yes...
(cached) yes
checking boost/python.hpp usability... yes
checking boost/python.hpp presence... yes
checking for boost/python.hpp... yes
checking for the Boost python library... /gpfs/stfc/local/HCPhi020/mxb01/mxb52-mxb01/boost/1.59/lib/libboost_python.so ...
libboost_python.so links to libboost_python.so.1.59.0
yes...
no...
There is a problem with locating the correct library. The candidate failed a compatibility test. The following may apply:
* The discovered Python executable is not the same version as that used to build the Boost Python library. If the remaining search fails for this library, either:
  - Add PYTHON=pythonX.Y[d][m][u] (X: major version number; Y: minor version number) to the configure command to force a search for the version of Python that matches the discovered Boost Python; or
  - If multiple Boost Python libraries corresponding to different Python versions are in the same directory and the discovered file is a link to an incompatible version, then add as an option to the configure command the name of the Boost Python library that is compatible with the discovered version of Python (i.e., --with-boost-python=boost_python-pyXY).
* The version of the candidate library mismatches the version of the discovered headers. If you have added a library name as an option to the configure command, check that the name is correct and that the version of this library matches the version of the headers.
/gpfs/stfc/local/HCPhi020/mxb01/mxb52-mxb01/boost/1.59/libboost_python.so ...
no...
/libboost_python.so ...
no...
/gpfs/stfc/local/HCPhi020/mxb01/mxb52-mxb01/boost/1.59/lib/libboost_python-py27.so ...
no...
/gpfs/stfc/local/HCPhi020/mxb01/mxb52-mxb01/boost/1.59/libboost_python-py27.so ...

Question information

Language:
English Edit question
Status:
Solved
For:
ESyS-Particle Edit question
Assignee:
No assignee Edit question
Solved by:
high end compute
Solved:
Last query:
Last reply:
Revision history for this message
Jinfang (j-gao1) said :
#1

Hi,

It shows the boost is incompatible. Could you please check the boost path where you successfully installed libBoost* files?
And set up the path as your boost path using -with-boost, and also set up the boost path in your .bashrc file?
Hope this helps.

Cheers,
J

Revision history for this message
Dion Weatherley (d-weatherley) said :
#2

Hi,

Further to Jinfang's comments, the incompatibility is specifically between the version of python in your current environment and the version of the python libraries used to compile boost-python. Not sure how your system is set up, but it might simply require loading a different python module.

Failing that it be worth starting from scratch and building your own versions of both python and boost, for use with ESyS-Particle. This FAQ may help:
https://answers.launchpad.net/esys-particle/+faq/1235

If you still keep having problems, I suggest you try './configure --help'. There are a few configuration flags that can be used to help ./configure find your boost installation, including:
--with-boost=DIR prefix of Boost 1.34.1 [guess]
  --with-boost-system[=special-lib]
                          specify the Boost System library to use (Boost 1.35
                          and above); e.g.
                          --with-boost-system=boost_system-gcc-mt
  --with-boost-filesystem[=special-lib]
                          specify the Boost Filesystem library to use; e.g.
                          --with-boost-filesystem=boost_filesystem-gcc-mt
  --with-boost-python[=special-lib]
                          specify the Boost Python library to use; e.g.
                          --with-boost-python=boost_python-gcc-mt
BOOST_ROOT Location of Boost installation

Sometimes on systems with multiple versions of python, boost etc. it can take some time to figure out the right combination for building ESyS-Particle successfully. Persistence usually pays off though.

I hope this helps and good luck.

Cheers,

Dion

Revision history for this message
high end compute (enq) said :
#3

The actual problem (once I looked in config.log !!!) was to ensure correct path for libbz2 and for libpython2.7 AND to ensure that the latter and the former were compatible (we had a "unknown" /lib64/libbz2 that was incompatible)