Compiling error: 'transform_iterator' does not name a type

I tried to build graph-tool from the latest source on Ubuntu 12.04 server
(x64) and after getting packages required by ./configure --enable-openmp
I've run into a compile error

gcc (Ubuntu/Linaro 4.6.3-1ubuntu5) 4.6.3
dpkg -s libboost-dev | grep 'Version'
Python 2.7.3

make all-recursive
make[1]: Entering directory `/home/val/graph_tool_mp'
Making all in src
make[2]: Entering directory `/home/val/graph_tool_mp/src'
Making all in graph
make[3]: Entering directory `/home/val/graph_tool_mp/src/graph'
Making all in centrality
make[4]: Entering directory `/home/val/graph_tool_mp/src/graph/centrality'
  CXX graph_betweenness.lo
In file included from ./../graph_filtering.hh:51:0,
./../graph_adaptor.hh:139:13: error: 'transform_iterator' does not name a
./../graph_adaptor.hh:171:13: error: 'transform_iterator' does not name a
./../graph_adaptor.hh:179:13: error: 'transform_iterator' does not name a
./../graph_adaptor.hh: In instantiation of
boost::vecS, boost::bidirectionalS, boost::no_property,
boost::property&lt;boost::edge_index_t, long unsigned int> > >':

and about 5MB worth of error messages follow :slight_smile:

I could not find an exact match for this error on Google, except a possible
need for some forward includes.

If there is a suitable package with OpenMP support available somewhere for
12.04 that would be a great alternative to compiling oneself.

The Precise repo for 12.04 (from
works great, but as far as I can tell, does not include OpenMP
support(running algorithms only utilize one core).

The problem is that this version of Boost is now too old to compile
graph-tool. It would require some annoying backflips to support this,
together with the newer versions.

However, you can install a compatible Boost version from here:

graph-tool will probably compile fine with this. I'll make a package for
precise which will depend on this, as soon as I find some time.


Packages depending on this backport are now available in the
repository. They also were compiled with openmp enabled.


Tiago, something did not go as planned.

sudo apt-get update
Get:1 precise Release.gpg [490 B]
Hit precise-security/universe Translation-en
Get:2 precise Release [2,436 B]
Get:3 precise/universe Sources [1,074 B]
Ign precise/main Translation-en_US
Ign precise/main Translation-en
Ign precise/main Translation-en_US
Get:4 precise/universe amd64 Packages [959 B]
Get:5 precise/universe i386 Packages [956 B]
Ign precise/universe TranslationIndex
Ign precise/main Translation-en
Ign precise/main Translation-en_US
Ign precise/main Translation-en
Ign precise/universe Translation-en_US
Ign precise/universe Translation-en
Fetched 5,915 B in 2s (2,333 B/s)
Reading package lists... Done

val(a)machine:~$ sudo apt-get install graph-tool
Reading package lists... Done
Building dependency tree
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
* graph-tool : Depends: libboost1.46-dev but it is not going to be
E: Unable to correct problems, you have held broken packages.

It seems to request even an older version than before. I am on 1.49 now

Sorry, was trying to install wrong package graph-tool

with sudo apt-get install python-graph-tool everything works! :slight_smile:

Thanks again for updating 12.04 repo.

PS is present in repo
version just as it was in my compiled version