2

So I spent a whole day trying to find out the solution for this. I am trying to install graph-tool on my machine with 14.04 OS. Initially I was unable to succeed because I didn't have gcc 5 on my machine. After installing it, I am trying the following:

./configure CXX='g++5'

and I get the following error:

===========================
Using python version: 2.7.6
===========================
checking for boostlib >= 1.54.0... configure: We could not detect the boost libraries (version 1.54 or higher). If you have a staged boost library (still not installed) please specify $BOOST_ROOT in your environment and do not give a PATH to --with-boost option.  If you are sure you have boost installed, then check your version number looking in <boost/version.hpp>. See http://randspringer.de/boost for more documentation.
checking whether the Boost::Python library is available... no
configure: error: No usable boost::python found

I see no solution on the mailing list of graph-tool or stackoverflow about this problem. I would be really grateful if somebody could help me with this.

Thanks in advance.

Peaceful
  • 4,920
  • 15
  • 54
  • 79
  • 1
    `sudo apt-get install libboost-all-dev` will get a complete Boost build environment. – Dirk Eddelbuettel Mar 17 '16 at 12:27
  • Thanks. At least it is not returning that error now. But I am getting this: configure: error: Package requirements (cairomm-1.0) were not met: No package 'cairomm-1.0' found – Peaceful Mar 17 '16 at 12:41
  • Same thing. Find the `-dev` package providing it. This standard for compiling from source: it is YOUR job to ensure requirements are available. All of them. – Dirk Eddelbuettel Mar 17 '16 at 12:51
  • I understand it. However, after trying several things, I am unable to fix this error. Can you kindly guide me? Thanks – Peaceful Mar 17 '16 at 16:09
  • 1
    Solved! `sudo apt-get install cairo*` and then `sudo apt-get install python-cairo*` solves this problem. The final sparsehead issue can be solved by just adding `--disable-sparsehead` while `./configure` – Peaceful Mar 18 '16 at 09:23

2 Answers2

3

In Debian, the libraries are almost always split in two packages: One containing the shared object and another one with "-dev" suffix which contains the header files. For cairomm you need to install the libcairomm-1.0-dev package, in addition to libcairomm-1.0.

And cairo support is optional. If you want to disable it, just pass the --disable-cairo to the configure script.

Source: https://lists.skewed.de/pipermail/graph-tool/2013-November/001094.html

0

There are some issues with the boost package on ubuntu 14.04 and some of the graph-tool functions (see graph-tool - k-shortest path - boost::coroutine was not found at compile-time and http://main-discussion-list-for-the-graph-tool-project.982480.n3.nabble.com/Debian-package-and-boost-at-compile-time-td4026383.html ). At current it seems neccessary to compile boost from source until a newer version of boost is uploaded to the repository in order for graph-tool to work fully.

Once this bug is fixed (https://bugs.launchpad.net/ubuntu/+source/boost1.54/+bug/1529289) it will no longer be a problem.

Community
  • 1
  • 1
P-M
  • 1,279
  • 2
  • 21
  • 35