graph-tool debian packages

Hi,

I have some questions about the graph tool Debian package:

Why does it depend on libboost-all-dev? Out of all ~38k binary packages
in Debian, only libfeel++-dev depends on libboost-all-dev. I dont see a
reason for the graph-tool package to depend on libboost-all-dev. Why
does it?

The graph-tool binary package also depends on expat. Why? The expat
package only ships the program /usr/bin/xmlwf which I dont see being
used by graph-tool at all?

It also depends on python-dev. Why? Packages that are not *-dev packages
should not need to depend on python-dev.

It also depends on the g++ package. The g++ package only ships the
binary /usr/bin/g++ which, as far as I can see, is never executed by
graph-tool?

I'm just asking because once I try to install the graph-tool package,
apt-get tells me that it will fill 1036 MB of disk space with 323 new
packages it needs to resolve graph-tool's dependencies. This seems
somehow a bit like overkill to spend one gigabyte just to install
graph-tool?

cheers, josch

PS: please dont forget to CC me as I'm not subscribed to this list

Hi,

I have some questions about the graph tool Debian package:

Why does it depend on libboost-all-dev? Out of all ~38k binary packages
in Debian, only libfeel++-dev depends on libboost-all-dev. I dont see a
reason for the graph-tool package to depend on libboost-all-dev. Why
does it?

This is clearly an overkill... The idea behind it was that the inline()
function of graph-tool allows for on-the-fly compilation of C++ code,
and I usually would use different parts of the boost library. This is
also why other -dev packages and g++ are listed as run-time
dependencies.

The graph-tool binary package also depends on expat. Why? The expat
package only ships the program /usr/bin/xmlwf which I dont see being
used by graph-tool at all?

This is clearly an error. It should be libexpat1.

It also depends on python-dev. Why? Packages that are not *-dev packages
should not need to depend on python-dev.

It also depends on the g++ package. The g++ package only ships the
binary /usr/bin/g++ which, as far as I can see, is never executed by
graph-tool?

This is because of the inline() functionality, as explained above.

I'm just asking because once I try to install the graph-tool package,
apt-get tells me that it will fill 1036 MB of disk space with 323 new
packages it needs to resolve graph-tool's dependencies. This seems
somehow a bit like overkill to spend one gigabyte just to install
graph-tool?

This is clearly excessive. I'll make the modifications such that only
the bare minimum is required. If the user wants to use the inline()
function, only then should the -dev packages be installed.

Thanks for pointing this out.

Cheers,
Tiago

Hi,

The modifications below were made to the graph-tool packages. I also
renamed the package to conform to the debian guidelines, and I also
made a package for python3. The package names are now

    python-graph-tool
    python3-graph-tool

Cheers,
Tiago

Hi,

Hi,

I installed the new package and while it seemed to work fine at first, I
ran into the following problem when drawing a graph:

Traceback (most recent call last):
  File "/usr/lib/python2.7/dist-packages/graph_tool/draw/gtk_draw.py", line 315, in layout_callback
    pos_temp = ungroup_vector_property(self.pos, [0, 1])
  File "/usr/lib/python2.7/dist-packages/graph_tool/__init__.py", line 759, in ungroup_vector_property
    _check_prop_vector(vprop, name="vprop", scalar=False)
  File "/usr/lib/python2.7/dist-packages/graph_tool/__init__.py", line 633, in _check_prop_vector
    vals = ["vector<%s>" % v for v in scalars]
TypeError: Couldn't find conversion for foreign struct 'cairo.Context'

The reason is, that the Debian package does not depend on python-gi-cairo.

Installing the package fixes above problem.

cheers, josch

Hello,
I don't know if it is a misconfiguration from my side, but I keep getting
the 2.2.18-1 of the old graph-tool package. I ran apt-get update, added the
new gpg key and uninstalled the previous version of the package. But the
new python-graph-tool package cann't be found while the "older" is stuck at
that version.
I'm running Ubuntu and using the "precise" distribution.

Thanks in advance,
Giuseppe

2013/1/6 Tiago de Paula Peixoto <tiago(a)skewed.de>

attachment.html (3.8 KB)

Unfortunately newer graph-tool versions can no longer be built with the
boost version (1.46.1) shipped in the 'precise' release of ubuntu. You
have to upgrade to 'quantal'.

Cheers,
Tiago

It seems like this might also fix the issues I had building it on Windows, as
building it required some files which for Linux could be gotten by
installing python-dev. If you don't need python-dev anymore, the
configuration file won't refer to directories created by that package
anymore, right?

Thanks. I've included this dependency in the packages.

It seems like this might also fix the issues I had building it on

Windows, as

building it required some files which for Linux could be gotten by
installing python-dev. If you don't need python-dev anymore, the
configuration file won't refer to directories created by that package
anymore, right?

The requirements to build graph-tool haven't changed, I'm afraid. You'll
still need the python headers.

Cheers,
Tiago

It would be a shame if updates were not available for Ubuntu 12.04 going
forward, since it is a long-term release. There appears to be a ppa with
boost backports, would that enable updated graph-tool packages for 12.04?

https://launchpad.net/~mapnik/+archive/boost

thanks
-Rick

attachment.html (1.98 KB)

Thanks for pointing this out. I'll consider this for the next release.

Cheers,
Tiago

I have included packages for the 'precise' distribution in the
repository, which depend on the above backport.

Cheers,
Tiago