On 20.04.2016 11:57, Johannes Hoppe wrote:
> I noticed problems with the Ubuntu release, not to mention the trouble
> one would have to go through to make this work on Windows.

What Ubuntu problems are you referring to?

If this is about the most recent thread on this list about Ubuntu
installation, it was about a user who refused to use the precompiled
packages available (despite being encouraged to the contrary), and
attempted to compile by hand, without fully understanding how to do so
(which is fine, this is why we have this list), and then running into
memory problems.

The installation on Ubuntu and Debian using the available packages is
trivial -- far easier than any other OS.

> As a result the only simple way to get graph-tool working is on OSX
> with brew. Which makes it virtually inaccessible for people living in
> countries with a GDP that doesn't by everyone a shiny
> MacBook. Furthermore there is currently no way to have it onto a
> production system except for docker. Which to be fair is my personal
> concern.

I don't think this is true. The simplest systems to install are
Ubuntu/Debian, then other GNU/Linux distros like Arch and Gentoo. MacOS
is in fact significantly more annoying, since Macports and Homebrew are
inferior package and dependency-tracking systems.

I don't own a MacOS system, and I routinely install graph-tool on
production HPC systems using Arch and Debian.

> Anaconda or just conda, has been around for a while now. In case you
> don't know it, it's a cross platform package manager. Like apt-get but
> on linux, osx and windows. It will allow you to even get a compiler
> inside a virtual environment.
>
> Most of the dependencies are already available on conda, therefore it
> should be rather simple to get graph-tool on there as well. As a added
> bonus, you can even vendor dependencies (maybe good for boost).
>
> There have been already some efforts by people like Alexey Strokach to
> delivery graph-tool on
> conda. (https://anaconda.org/ostrokach/graph-tool) It would be great
> tho, to get some official support. I must admit, I don't have much
> experience with releasing packages on conda.
>
> I still think its worth looking into for a couple of reasons:
>  - Support for all OS
>  - Support for multiple python versions (not only the systems default)
>  - single command install
>
> Please let me know what you thing about this idea? I'd be willing to
> invest some time into that, but only if it is your interest.

It would be an incredible pain to support anaconda. The points above are
valid only for pure-python packages. Anaconda does _not_ solve any of
those for modules that need to be compiled. As you know, graph-tool is
implemented in C++, and has other C++ dependencies. Therefore, in order
to support all OSs and Python versions, a different anaconda package
(for graph-tool _and_ its dependencies) would have to be compiled for
each combination of OS and Python version! This would be nothing short
of a full-scale duplication of the current packaging effort... (There is
a reason why Alexey Strokach's packages only work for 64 bit GNU/Linux.)
Strictly speaking, it is _possible_, and would be convenient for users
in the end (module the usual packaging issues), but it would be an
amazing amount of work.

In other words, graph-tool is a C++ library with a Python interface.
Unfortunately, this means that it requires a C++ packaging solution, not
a Python one. GNU/Linux package managements are usually very good at
this. MacOS is a pain, but is possible. Windows is a nonstarter.

I understand that the biggest problem with graph-tool is that it is
difficult to install. It is not, in fact, more difficult to install than
other C++ libraries. But since the Python world expects "pip install" to
work, people get frustrated. But unless it is possible to do something
like "pip install boost cgal cairomm expat sparsehash", this problem
remains difficult to solve.

Best,
Tiago

-- 
Tiago de Paula Peixoto <[email protected]>

Attachment: signature.asc
Description: OpenPGP digital signature

_______________________________________________
graph-tool mailing list
[email protected]
https://lists.skewed.de/mailman/listinfo/graph-tool

Reply via email to