Graph-tool with Docker

classic Classic list List threaded Threaded
9 messages Options
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Graph-tool with Docker

Evangelos Petsalis
Tiago,

I downloaded the docker image with GT and although it does work fine it does not seem to have apt-get installed. So I tried to create my own docker image based on Ubuntu 16.04 by compiling GT. The compilation works fine, until it reaches file "graph_tree_cts.lo" and then it fails miserably.

Any idea why this is happening? Alternatively, would it be easy to post the Dockerfile that you used for creating your image, so we can use that as a basis for our own custom version?

Please see below the Dockerfile I used, as well as the error message from the compilation process.

Thanks as always!



######################################
# Dockerfile
######################################
FROM ubuntu:xenial

ENV DEBIAN_FRONTEND noninteractive

RUN apt-get update

RUN apt-get install -y apt-utils
RUN apt-get install -y python3 wget

#WORKDIR /src

#RUN wget https://downloads.skewed.de/graph-tool/graph-tool-2.22.tar.bz2
#RUN tar xjf graph-tool-2.22.tar.bz2

#WORKDIR /src/graph-tool-2.22

RUN apt-get install -y gcc
RUN apt-get install -y libboost-all-dev
RUN apt-get install -y libexpat1-dev
RUN apt-get install -y python3-scipy python3-numpy
RUN apt-get install -y libcgal-dev
RUN apt-get install -y libsparsehash-dev
RUN apt-get install -y libcairomm-1.0-dev
RUN apt-get install -y python3-cairo
RUN apt-get install -y python3-matplotlib
RUN apt-get install -y graphviz python3-pygraphviz
RUN apt-get install -y python3-pip
RUN apt-get install -y python3-cairo-dev

ENV PYTHON /usr/bin/python3.5

RUN ./configure
RUN make -j 2
RUN make install





######################################
# Output of ./configure and compilation code
######################################
Removing intermediate container 921aa882d63f
Step 9 : RUN ./configure
 ---> Running in 98c8a0ef808a
checking build system type... x86_64-unknown-linux-gnu
checking host system type... x86_64-unknown-linux-gnu
checking target system type... x86_64-unknown-linux-gnu
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /bin/mkdir -p
checking for gawk... no
checking for mawk... mawk
checking whether make sets $(MAKE)... yes
checking whether make supports nested variables... yes
checking whether make supports nested variables... (cached) yes
checking for style of include used by make... GNU
checking for gcc... gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables...
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking whether gcc understands -c and -o together... yes
checking dependency style of gcc... gcc3
checking for library containing strerror... none required
checking how to run the C preprocessor... gcc -E
checking for grep that handles long lines and -e... /bin/grep
checking for egrep... /bin/grep -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking minix/config.h usability... no
checking minix/config.h presence... no
checking for minix/config.h... no
checking whether it is safe to define __EXTENSIONS__... yes
checking for g++... g++
checking whether we are using the GNU C++ compiler... yes
checking whether g++ accepts -g... yes
checking dependency style of g++... gcc3
checking for gcc option to accept ISO C99... unsupported
checking for gcc option to accept ISO C89... (cached) none needed
checking for gcc option to accept ISO Standard C... (cached) none needed
checking how to run the C++ preprocessor... g++ -E
checking for ANSI C header files... (cached) yes
checking how to print strings... printf
checking for a sed that does not truncate output... /bin/sed
checking for fgrep... /bin/grep -F
checking for ld used by gcc... /usr/bin/ld
checking if the linker (/usr/bin/ld) is GNU ld... yes
checking for BSD- or MS-compatible name lister (nm)... /usr/bin/nm -B
checking the name lister (/usr/bin/nm -B) interface... BSD nm
checking whether ln -s works... yes
checking the maximum length of command line arguments... 1572864
checking how to convert x86_64-unknown-linux-gnu file names to x86_64-unknown-linux-gnu format... func_convert_file_noop
checking how to convert x86_64-unknown-linux-gnu file names to toolchain format... func_convert_file_noop
checking for /usr/bin/ld option to reload object files... -r
checking for objdump... objdump
checking how to recognize dependent libraries... pass_all
checking for dlltool... no
checking how to associate runtime and link libraries... printf %s\n
checking for ar... ar
checking for archiver @FILE support... @
checking for strip... strip
checking for ranlib... ranlib
checking command to parse /usr/bin/nm -B output from gcc object... ok
checking for sysroot... no
checking for a working dd... /bin/dd
checking how to truncate binary pipes... /bin/dd bs=4096 count=1
checking for mt... no
checking if : is a manifest tool... no
checking for dlfcn.h... yes
checking for objdir... .libs
checking if gcc supports -fno-rtti -fno-exceptions... no
checking for gcc option to produce PIC... -fPIC -DPIC
checking if gcc PIC flag -fPIC -DPIC works... yes
checking if gcc static flag -static works... yes
checking if gcc supports -c -o file.o... yes
checking if gcc supports -c -o file.o... (cached) yes
checking whether the gcc linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yes
checking whether -lc should be explicitly linked in... no
checking dynamic linker characteristics... GNU/Linux ld.so
checking how to hardcode library paths into programs... immediate
checking whether stripping libraries is possible... yes
checking if libtool supports shared libraries... yes
checking whether to build shared libraries... yes
checking whether to build static libraries... no
checking how to run the C++ preprocessor... g++ -E
checking for ld used by g++... /usr/bin/ld -m elf_x86_64
checking if the linker (/usr/bin/ld -m elf_x86_64) is GNU ld... yes
checking whether the g++ linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yes
checking for g++ option to produce PIC... -fPIC -DPIC
checking if g++ PIC flag -fPIC -DPIC works... yes
checking if g++ static flag -static works... yes
checking if g++ supports -c -o file.o... yes
checking if g++ supports -c -o file.o... (cached) yes
checking whether the g++ linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yes
checking dynamic linker characteristics... (cached) GNU/Linux ld.so
checking how to hardcode library paths into programs... immediate
checking for pkg-config... /usr/bin/pkg-config
checking pkg-config is at least version 0.9.0... yes
checking whether g++ supports C++14 features by default... no
checking whether g++ supports C++14 features with -std=gnu++14... yes
checking whether to enable debug info... no
checking whether to enable parallel algorithms with openmp... checking for OpenMP flag of C++ compiler... -fopenmp
checking whether to enable cairo drawing... yes
checking for Expat XML Parser headers in /usr/include... found
checking for Expat XML Parser libraries... found
checking for Expat XML Parser... yes
checking whether /usr/bin/python3.5 version is >= 2.7... yes
checking for /usr/bin/python3.5 version... 3.5
checking for /usr/bin/python3.5 platform... linux
checking for /usr/bin/python3.5 script directory... ${prefix}/lib/python3.5/site-packages
checking for /usr/bin/python3.5 extension module directory... ${exec_prefix}/lib/python3.5/site-packages
checking for python3.5... /usr/bin/python3.5
checking for a version of Python >= '2.1.0'... yes
checking for a version of Python == '3.5.2'... yes
checking for the distutils Python package... yes
checking for Python include path... -I/usr/include/python3.5m
checking for Python library path... -L/usr/lib -lpython3.5m
checking for Python site-packages path... /usr/lib/python3/dist-packages
checking python extra libraries... -lpthread -ldl  -lutil -lm
checking python extra linking flags... -Xlinker -export-dynamic -Wl,-O1 -Wl,-Bsymbolic-functions
checking consistency of all components of python development environment... yes
checking for boostlib >= 1.54.0... yes
checking whether the Boost::Python library is available... yes
checking whether boost_python is the correct library... no
checking whether boost_python-py27 is the correct library... no
checking whether boost_python-py27 is the correct library... (cached) no
checking whether boost_python-py27 is the correct library... (cached) no
checking whether boost_python-py35 is the correct library... yes
checking whether the Boost::IOStreams library is available... yes
checking for exit in -lboost_iostreams... yes
checking whether the Boost::Regex library is available... yes
checking for exit in -lboost_regex... yes
checking whether the Boost::Coroutine library is available... yes
checking for exit in -lboost_coroutine... yes
checking whether the Boost::Graph library is available... yes
checking for exit in -lboost_graph... yes
checking for __gmpz_init in -lgmp... yes
checking for __gmpz_init in -lgmp... (cached) yes
checking whether CGAL is available in /usr... yes
checking whether to enable cgal debbuging with valgrind... no
checking python3.5 module: numpy... yes
checking for numpy/arrayobject.h... yes
checking for CAIROMM... yes
checking python3.5 module: cairo... yes
checking pycairo/py3cairo.h usability... yes
checking pycairo/py3cairo.h presence... yes
checking for pycairo/py3cairo.h... yes
checking whether to enable sparsehash... yes
checking for SPARSEHASH... no
not found by pkgconfig, trying default...
checking sparsehash/dense_hash_set usability... yes
checking sparsehash/dense_hash_set presence... yes
checking for sparsehash/dense_hash_set... yes
configure: pkgconfig directory is ${libdir}/pkgconfig
checking our pkgconfig libname... graph-tool-py3.5
checking our pkgconfig version... 2.22
checking our pkgconfig_libdir... ${libdir}/pkgconfig
expanded our pkgconfig_libdir... /usr/local/lib/pkgconfig
checking our pkgconfig_libfile... graph-tool-py3.5.pc
checking our package / suffix... graph-tool /
checking our pkgconfig description... graph-tool Python library
checking our pkgconfig requires...
checking our pkgconfig ext libs... -L/usr/lib -lpython3.5m -lboost_python-py35
checking our pkgconfig cppflags... -ftemplate-depth-250 -I/usr/include/python3.5m -I/usr/include -I/usr/lib/python3/dist-packages/numpy/core/include -I/usr/lib/python3/dist-packages/graph_tool/include -I/usr/lib/python3/dist-packages/graph_tool/include/boost-workaround
checking our pkgconfig ldflags...
noninstalled pkgconfig -L /src/graph-tool-2.22/src/.libs
noninstalled pkgconfig -I /src/graph-tool-2.22/.
checking that generated files are newer than configure... done
configure: creating ./config.status
config.status: creating Makefile
config.status: creating src/Makefile
config.status: creating src/graph/Makefile
config.status: creating src/graph/centrality/Makefile
config.status: creating src/graph/clustering/Makefile
config.status: creating src/graph/correlations/Makefile
config.status: creating src/graph/draw/Makefile
config.status: creating src/graph/flow/Makefile
config.status: creating src/graph/generation/Makefile
config.status: creating src/graph/inference/Makefile
config.status: creating src/graph/layout/Makefile
config.status: creating src/graph/search/Makefile
config.status: creating src/graph/spectral/Makefile
config.status: creating src/graph/stats/Makefile
config.status: creating src/graph/topology/Makefile
config.status: creating src/graph/util/Makefile
config.status: creating src/graph_tool/Makefile
config.status: creating config.h
config.status: executing depfiles commands
config.status: executing libtool commands
config.status: executing graph-tool-py3.5.pc commands
config.status: creating graph-tool-py3.5.pc.in
config.status: creating graph-tool-py3.5.pc
config.status: creating graph-tool-py3.5-uninstalled.pc
config.status: creating graph-tool-py3.5-uninstalled.sh
================================================================================
                             CONFIGURATION SUMMARY                              
================================================================================
Using python version:   3.5.2
Python interpreter:     /usr/bin/python3.5
Installation path:      /usr/lib/python3/dist-packages/graph_tool

C++ compiler (CXX):     g++ -std=gnu++14
C++ compiler version:   5.4.0

Prefix:                 /usr/local
Pkgconfigdir:           ${libdir}/pkgconfig

Python CPP flags:       -I/usr/include/python3.5m
Python LD flags:        -L/usr/lib -lpython3.5m
Boost CPP flags:        -I/usr/include
Boost LD flags:         -lboost_iostreams -lboost_python-py35 -lboost_regex -lboost_coroutine
Numpy CPP flags:        -I/usr/lib/python3/dist-packages/numpy/core/include
Sparsehash CPP flags:  
CGAL CPP flags:         -I/usr/include
CGAL LD flags:          -L/usr/lib -lCGAL -lCGAL_Core -lgmp
Expat CPP flags:        -I/usr/include
Expat LD flags:         -L/usr/lib -lexpat
Cairomm CPP flags:      -std=c++11 -I/usr/include/cairomm-1.0 -I/usr/lib/x86_64-linux-gnu/cairomm-1.0/include -I/usr/include/cairo -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng12 -I/usr/include/sigc++-2.0 -I/usr/lib/x86_64-linux-gnu/sigc++-2.0/include
Cairomm LD flags:       -lcairomm-1.0 -lcairo -lsigc-2.0
OpenMP compiler flags:  -fopenmp
OpenMP LD flags:        
Extra CPPFLAGS:         -DNDEBUG
Extra CXXFLAGS:         -fopenmp -O3 -fvisibility=default -fvisibility-inlines-hidden -Wno-deprecated -ftemplate-depth-250 -Wall -Wextra -ftemplate-backtrace-limit=0
Extra LDFLAGS:          

Using OpenMP:           yes
Using sparsehash:       yes
Using cairo:            yes
================================================================================
 ---> dca78f2d7b73
Removing intermediate container 98c8a0ef808a
Step 10 : RUN make -j 2
 ---> Running in c31b368514c4
make  all-recursive
make[1]: Entering directory '/src/graph-tool-2.22'
Making all in src
make[2]: Entering directory '/src/graph-tool-2.22/src'
Making all in graph
make[3]: Entering directory '/src/graph-tool-2.22/src/graph'
Making all in centrality
make[4]: Entering directory '/src/graph-tool-2.22/src/graph/centrality'
  CXX      graph_betweenness.lo
  CXX      graph_centrality_bind.lo
  CXX      graph_closeness.lo
  CXX      graph_eigentrust.lo
  CXX      graph_eigenvector.lo
  CXX      graph_hits.lo
  CXX      graph_katz.lo
  CXX      graph_pagerank.lo
  CXX      graph_trust_transitivity.lo
  CXXLD    libgraph_tool_centrality.la
make[4]: Leaving directory '/src/graph-tool-2.22/src/graph/centrality'
Making all in clustering
make[4]: Entering directory '/src/graph-tool-2.22/src/graph/clustering'
  CXX      graph_clustering.lo
  CXX      graph_extended_clustering.lo
  CXX      graph_motifs.lo
  CXXLD    libgraph_tool_clustering.la
make[4]: Leaving directory '/src/graph-tool-2.22/src/graph/clustering'
Making all in correlations
make[4]: Entering directory '/src/graph-tool-2.22/src/graph/correlations'
  CXX      graph_correlations.lo
  CXX      graph_assortativity.lo
  CXX      graph_correlations_imp1.lo
  CXX      graph_avg_correlations.lo
  CXX      graph_avg_correlations_imp1.lo
  CXX      graph_avg_correlations_combined.lo
  CXX      graph_correlations_combined.lo
  CXX      graph_correlations_bind.lo
  CXXLD    libgraph_tool_correlations.la
make[4]: Leaving directory '/src/graph-tool-2.22/src/graph/correlations'
Making all in draw
make[4]: Entering directory '/src/graph-tool-2.22/src/graph/draw'
  CXX      graph_cairo_draw.lo
  CXX      graph_tree_cts.lo
In file included from ../../../src/graph/graph.hh:28:0,
                 from graph_tree_cts.cc:18:
../../../src/graph/graph_adjacency.hh:250:59: error: 'distance_to' function uses 'auto' type specifier without trailing return type
         auto distance_to(base_edge_iterator const& other) const
                                                           ^
../../../src/graph/graph_adjacency.hh:250:59: note: deduced return type only available with -std=c++14 or -std=gnu++14
../../../src/graph/graph_adjacency.hh: In member function 'void boost::adj_list<Vertex>::shrink_to_fit()':
../../../src/graph/graph_adjacency.hh:450:26: error: use of 'auto' in lambda parameter declaration only available with -std=c++14 or -std=gnu++14
                       [](auto &es){es.second.shrink_to_fit();});
                          ^
../../../src/graph/graph_adjacency.hh: In lambda function:
../../../src/graph/graph_adjacency.hh:450:39: error: request for member 'second' in 'es', which is of non-class type 'int'
                       [](auto &es){es.second.shrink_to_fit();});
                                       ^
../../../src/graph/graph_adjacency.hh: In member function 'void boost::adj_list<Vertex>::shrink_to_fit()':
../../../src/graph/graph_adjacency.hh:453:47: error: use of 'auto' in lambda parameter declaration only available with -std=c++14 or -std=gnu++14
                                      [](const auto &a, const auto& b) -> bool
                                               ^
../../../src/graph/graph_adjacency.hh:453:62: error: use of 'auto' in lambda parameter declaration only available with -std=c++14 or -std=gnu++14
                                      [](const auto &a, const auto& b) -> bool
                                                              ^
../../../src/graph/graph_adjacency.hh: In lambda function:
../../../src/graph/graph_adjacency.hh:454:48: error: request for member 'idx' in 'a', which is of non-class type 'const int'
                                      {return a.idx < b.idx;});
                                                ^
../../../src/graph/graph_adjacency.hh:454:56: error: request for member 'idx' in 'b', which is of non-class type 'const int'
                                      {return a.idx < b.idx;});
                                                        ^
../../../src/graph/graph_adjacency.hh: In member function 'void boost::adj_list<Vertex>::shrink_to_fit()':
../../../src/graph/graph_adjacency.hh:461:44: error: use of 'auto' in lambda parameter declaration only available with -std=c++14 or -std=gnu++14
                                        [&](auto idx) -> bool
                                            ^
../../../src/graph/graph_adjacency.hh: In function 'std::pair<typename boost::adj_list<Vertex>::edge_descriptor, bool> boost::edge(Vertex, Vertex, const boost::adj_list<Vertex>&)':
../../../src/graph/graph_adjacency.hh:718:40: error: use of 'auto' in lambda parameter declaration only available with -std=c++14 or -std=gnu++14
                              [&](const auto& e) -> bool {return e.first == t;});
                                        ^
../../../src/graph/graph_adjacency.hh: In lambda function:
../../../src/graph/graph_adjacency.hh:718:67: error: request for member 'first' in 'e', which is of non-class type 'const int'
                              [&](const auto& e) -> bool {return e.first == t;});
                                                                   ^
../../../src/graph/graph_adjacency.hh: In function 'void boost::remove_edge(const typename boost::adj_list<Vertex>::edge_descriptor&, boost::adj_list<Vertex>&)':
../../../src/graph/graph_adjacency.hh:970:30: error: use of 'auto' in lambda parameter declaration only available with -std=c++14 or -std=gnu++14
         auto remove_e = [&] (auto& elist, auto&& begin, auto&& end, auto v)
                              ^
../../../src/graph/graph_adjacency.hh:970:43: error: use of 'auto' in lambda parameter declaration only available with -std=c++14 or -std=gnu++14
         auto remove_e = [&] (auto& elist, auto&& begin, auto&& end, auto v)
                                           ^
../../../src/graph/graph_adjacency.hh:970:57: error: use of 'auto' in lambda parameter declaration only available with -std=c++14 or -std=gnu++14
         auto remove_e = [&] (auto& elist, auto&& begin, auto&& end, auto v)
                                                         ^
../../../src/graph/graph_adjacency.hh:970:69: error: use of 'auto' in lambda parameter declaration only available with -std=c++14 or -std=gnu++14
         auto remove_e = [&] (auto& elist, auto&& begin, auto&& end, auto v)
                                                                     ^
../../../src/graph/graph_adjacency.hh: In lambda function:
../../../src/graph/graph_adjacency.hh:973:53: error: use of 'auto' in lambda parameter declaration only available with -std=c++14 or -std=gnu++14
                                          [&] (const auto& ei) -> bool
                                                     ^
../../../src/graph/graph_adjacency.hh: In lambda function:
../../../src/graph/graph_adjacency.hh:974:59: error: request for member 'first' in 'ei', which is of non-class type 'const int'
                                          { return v == ei.first &&
                                                           ^
../../../src/graph/graph_adjacency.hh:975:61: error: request for member 'second' in 'ei', which is of non-class type 'const int'
                                                   idx == ei.second; });
                                                             ^
../../../src/graph/graph_adjacency.hh: In lambda function:
../../../src/graph/graph_adjacency.hh:978:27: error: request for member 'erase' in 'elist', which is of non-class type 'int'
                     elist.erase(iter);
                           ^
../../../src/graph/graph_adjacency.hh: In function 'void boost::remove_edge(const typename boost::adj_list<Vertex>::edge_descriptor&, boost::adj_list<Vertex>&)':
../../../src/graph/graph_adjacency.hh:1000:30: error: use of 'auto' in lambda parameter declaration only available with -std=c++14 or -std=gnu++14
         auto remove_e = [&] (auto& elist, auto&& begin, auto&& end,
                              ^
../../../src/graph/graph_adjacency.hh:1000:43: error: use of 'auto' in lambda parameter declaration only available with -std=c++14 or -std=gnu++14
         auto remove_e = [&] (auto& elist, auto&& begin, auto&& end,
                                           ^
../../../src/graph/graph_adjacency.hh:1000:57: error: use of 'auto' in lambda parameter declaration only available with -std=c++14 or -std=gnu++14
         auto remove_e = [&] (auto& elist, auto&& begin, auto&& end,
                                                         ^
../../../src/graph/graph_adjacency.hh:1001:30: error: use of 'auto' in lambda parameter declaration only available with -std=c++14 or -std=gnu++14
                              auto&& get_pos, bool swap_back)
                              ^
../../../src/graph/graph_adjacency.hh: In lambda function:
../../../src/graph/graph_adjacency.hh:1004:27: error: invalid type argument of unary '*' (have 'int')
             auto& back = *back_iter;
                           ^
../../../src/graph/graph_adjacency.hh:1008:32: error: expression cannot be used as a function
             get_pos(back.second) = j;
                                ^
../../../src/graph/graph_adjacency.hh:1009:43: error: request for member 'end' in 'elist', which is of non-class type 'int'
             if (swap_back && end != elist.end())
                                           ^
../../../src/graph/graph_adjacency.hh:1012:30: error: request for member 'back' in 'elist', which is of non-class type 'int'
                 back = elist.back();
                              ^
../../../src/graph/graph_adjacency.hh:1013:65: error: request for member 'begin' in 'elist', which is of non-class type 'int'
                 g._epos[back.second].second = back_iter - elist.begin();
                                                                 ^
../../../src/graph/graph_adjacency.hh:1015:19: error: request for member 'pop_back' in 'elist', which is of non-class type 'int'
             elist.pop_back();
                   ^
../../../src/graph/graph_adjacency.hh: In function 'void boost::remove_edge(const typename boost::adj_list<Vertex>::edge_descriptor&, boost::adj_list<Vertex>&)':
../../../src/graph/graph_adjacency.hh:1019:39: error: invalid use of 'auto'
                  [&](size_t i) -> auto& {return g._epos[i].first;}, true);
                                       ^
../../../src/graph/graph_adjacency.hh:1022:39: error: invalid use of 'auto'
                  [&](size_t i) -> auto& {return g._epos[i].second;}, false);
                                       ^
../../../src/graph/graph_adjacency.hh: In function 'void boost::clear_vertex(Vertex, boost::adj_list<Vertex>&, Pred&&)':
../../../src/graph/graph_adjacency.hh:1068:40: error: use of 'auto' in lambda parameter declaration only available with -std=c++14 or -std=gnu++14
                                    [&](auto& e)
                                        ^
../../../src/graph/graph_adjacency.hh: In lambda function:
../../../src/graph/graph_adjacency.hh:1072:49: error: request for member 'first' in 'e', which is of non-class type 'int'
                                        return e.first == v;
                                                 ^
../../../src/graph/graph_adjacency.hh: In function 'void boost::clear_vertex(Vertex, boost::adj_list<Vertex>&, Pred&&)':
../../../src/graph/graph_adjacency.hh:1083:48: error: use of 'auto' in lambda parameter declaration only available with -std=c++14 or -std=gnu++14
                                            [&](auto& e)
                                                ^
../../../src/graph/graph_adjacency.hh: In lambda function:
../../../src/graph/graph_adjacency.hh:1087:57: error: request for member 'first' in 'e', which is of non-class type 'int'
                                                return e.first == v;
                                                         ^
../../../src/graph/graph_adjacency.hh: In function 'void boost::clear_vertex(Vertex, boost::adj_list<Vertex>&, Pred&&)':
../../../src/graph/graph_adjacency.hh:1095:32: error: use of 'auto' in lambda parameter declaration only available with -std=c++14 or -std=gnu++14
                            [&](auto& e)
                                ^
../../../src/graph/graph_adjacency.hh:1102:32: error: use of 'auto' in lambda parameter declaration only available with -std=c++14 or -std=gnu++14
                            [&](auto& e)
                                ^
../../../src/graph/graph_adjacency.hh: In function 'void boost::clear_vertex(Vertex, boost::adj_list<Vertex>&)':
../../../src/graph/graph_adjacency.hh:1134:27: error: use of 'auto' in lambda parameter declaration only available with -std=c++14 or -std=gnu++14
     clear_vertex(v, g, [](auto&&){ return true; });
                           ^
In file included from ../../../src/graph/graph_filtering.hh:46:0,
                 from graph_tree_cts.cc:20:
../../../src/graph/graph_adaptor.hh: At global scope:
../../../src/graph/graph_adaptor.hh:130:42: error: 'source' function uses 'auto' type specifier without trailing return type
        const undirected_adaptor<Graph>& g)
                                          ^
../../../src/graph/graph_adaptor.hh:130:42: note: deduced return type only available with -std=c++14 or -std=gnu++14
../../../src/graph/graph_adaptor.hh:142:42: error: 'target' function uses 'auto' type specifier without trailing return type
        const undirected_adaptor<Graph>& g)
                                          ^
../../../src/graph/graph_adaptor.hh:142:42: note: deduced return type only available with -std=c++14 or -std=gnu++14
../../../src/graph/graph_adaptor.hh:154:42: error: 'vertex' function uses 'auto' type specifier without trailing return type
        const undirected_adaptor<Graph>& g)
                                          ^
../../../src/graph/graph_adaptor.hh:154:42: note: deduced return type only available with -std=c++14 or -std=gnu++14
../../../src/graph/graph_adaptor.hh:165:44: error: 'vertices' function uses 'auto' type specifier without trailing return type
 vertices(const undirected_adaptor<Graph>& g)
                                            ^
../../../src/graph/graph_adaptor.hh:165:44: note: deduced return type only available with -std=c++14 or -std=gnu++14
../../../src/graph/graph_adaptor.hh:176:41: error: 'edges' function uses 'auto' type specifier without trailing return type
 edges(const undirected_adaptor<Graph>& g)
                                         ^
../../../src/graph/graph_adaptor.hh:176:41: note: deduced return type only available with -std=c++14 or -std=gnu++14
../../../src/graph/graph_adaptor.hh:189:40: error: 'edge' function uses 'auto' type specifier without trailing return type
      const undirected_adaptor<Graph>& g)
                                        ^
../../../src/graph/graph_adaptor.hh:189:40: note: deduced return type only available with -std=c++14 or -std=gnu++14
../../../src/graph/graph_adaptor.hh:209:45: error: 'out_edges' function uses 'auto' type specifier without trailing return type
           const undirected_adaptor<Graph>& g)
                                             ^
../../../src/graph/graph_adaptor.hh:209:45: note: deduced return type only available with -std=c++14 or -std=gnu++14
../../../src/graph/graph_adaptor.hh:218:50: error: '_all_edges_out' function uses 'auto' type specifier without trailing return type
                const undirected_adaptor<Graph>& g)
                                                  ^
../../../src/graph/graph_adaptor.hh:218:50: note: deduced return type only available with -std=c++14 or -std=gnu++14
../../../src/graph/graph_adaptor.hh:230:44: error: 'in_edges' function uses 'auto' type specifier without trailing return type
          const undirected_adaptor<Graph>& g)
                                            ^
../../../src/graph/graph_adaptor.hh:230:44: note: deduced return type only available with -std=c++14 or -std=gnu++14
../../../src/graph/graph_adaptor.hh:239:45: error: 'all_edges' function uses 'auto' type specifier without trailing return type
           const undirected_adaptor<Graph>& g)
                                             ^
../../../src/graph/graph_adaptor.hh:239:45: note: deduced return type only available with -std=c++14 or -std=gnu++14
../../../src/graph/graph_adaptor.hh:251:50: error: 'out_neighbours' function uses 'auto' type specifier without trailing return type
                const undirected_adaptor<Graph>& g)
                                                  ^
../../../src/graph/graph_adaptor.hh:251:50: note: deduced return type only available with -std=c++14 or -std=gnu++14
../../../src/graph/graph_adaptor.hh:263:49: error: 'in_neighbours' function uses 'auto' type specifier without trailing return type
               const undirected_adaptor<Graph>& g)
                                                 ^
../../../src/graph/graph_adaptor.hh:263:49: note: deduced return type only available with -std=c++14 or -std=gnu++14
../../../src/graph/graph_adaptor.hh:275:50: error: 'all_neighbours' function uses 'auto' type specifier without trailing return type
                const undirected_adaptor<Graph>& g)
                                                  ^
../../../src/graph/graph_adaptor.hh:275:50: note: deduced return type only available with -std=c++14 or -std=gnu++14
../../../src/graph/graph_adaptor.hh:288:40: error: 'adjacent_vertices' function uses 'auto' type specifier without trailing return type
      const undirected_adaptor<Graph>& g)
                                        ^
../../../src/graph/graph_adaptor.hh:288:40: note: deduced return type only available with -std=c++14 or -std=gnu++14
../../../src/graph/graph_adaptor.hh:299:48: error: 'num_vertices' function uses 'auto' type specifier without trailing return type
 num_vertices(const undirected_adaptor<Graph>& g)
                                                ^
../../../src/graph/graph_adaptor.hh:299:48: note: deduced return type only available with -std=c++14 or -std=gnu++14
../../../src/graph/graph_adaptor.hh:310:45: error: 'num_edges' function uses 'auto' type specifier without trailing return type
 num_edges(const undirected_adaptor<Graph>& g)
                                             ^
../../../src/graph/graph_adaptor.hh:310:45: note: deduced return type only available with -std=c++14 or -std=gnu++14
../../../src/graph/graph_adaptor.hh:322:46: error: 'out_degree' function uses 'auto' type specifier without trailing return type
            const undirected_adaptor<Graph>& g)
                                              ^
../../../src/graph/graph_adaptor.hh:322:46: note: deduced return type only available with -std=c++14 or -std=gnu++14
../../../src/graph/graph_adaptor.hh:334:45: error: 'in_degree' function uses 'auto' type specifier without trailing return type
           const undirected_adaptor<Graph>& g)
                                             ^
../../../src/graph/graph_adaptor.hh:334:45: note: deduced return type only available with -std=c++14 or -std=gnu++14
../../../src/graph/graph_adaptor.hh:346:42: error: 'degree' function uses 'auto' type specifier without trailing return type
        const undirected_adaptor<Graph>& g)
                                          ^
../../../src/graph/graph_adaptor.hh:346:42: note: deduced return type only available with -std=c++14 or -std=gnu++14
../../../src/graph/graph_adaptor.hh:358:40: error: 'add_vertex' function uses 'auto' type specifier without trailing return type
 add_vertex(undirected_adaptor<Graph>& g)
                                        ^
../../../src/graph/graph_adaptor.hh:358:40: note: deduced return type only available with -std=c++14 or -std=gnu++14
../../../src/graph/graph_adaptor.hh:369:67: error: 'add_vertex' function uses 'auto' type specifier without trailing return type
 add_vertex(const VertexProperties& p, undirected_adaptor<Graph>& g)
                                                                   ^
../../../src/graph/graph_adaptor.hh:369:67: note: deduced return type only available with -std=c++14 or -std=gnu++14
../../../src/graph/graph_adaptor.hh:440:64: error: 'add_edge' function uses 'auto' type specifier without trailing return type
          const EdgeProperties& ep, undirected_adaptor<Graph>& g)
                                                                ^
../../../src/graph/graph_adaptor.hh:440:64: note: deduced return type only available with -std=c++14 or -std=gnu++14
In file included from ../../../src/graph/graph_filtering.hh:47:0,
                 from graph_tree_cts.cc:20:
../../../src/graph/graph_filtered.hh: In function 'void boost::clear_vertex(typename boost::graph_traits<boost::filt_graph<Graph, EdgePredicate, VertexPredicate> >::vertex_descriptor, boost::filt_graph<Graph, EdgePredicate, VertexPredicate>&, Pred&&)':
../../../src/graph/graph_filtered.hh:574:22: error: use of 'auto' in lambda parameter declaration only available with -std=c++14 or -std=gnu++14
                  [&](auto&& e){ return (((g._edge_pred(e) &&
                      ^
../../../src/graph/graph_filtered.hh: In function 'void boost::clear_vertex(typename boost::graph_traits<boost::filt_graph<Graph, EdgePredicate, VertexPredicate> >::vertex_descriptor, boost::filt_graph<Graph, EdgePredicate, VertexPredicate>&)':
../../../src/graph/graph_filtered.hh:586:28: error: use of 'auto' in lambda parameter declaration only available with -std=c++14 or -std=gnu++14
     clear_vertex(v, g, [&](auto&&){ return true; });
                            ^
../../../src/graph/graph_filtered.hh: At global scope:
../../../src/graph/graph_filtered.hh:660:61: error: 'get' function uses 'auto' type specifier without trailing return type
 get(Property p, const filt_graph<G, EP, VP>& g, const Key& k)
                                                             ^
../../../src/graph/graph_filtered.hh:660:61: note: deduced return type only available with -std=c++14 or -std=gnu++14
In file included from ../../../src/graph/graph_filtering.hh:48:0,
                 from graph_tree_cts.cc:20:
../../../src/graph/graph_reverse.hh:395:54: error: 'get' function uses 'auto' type specifier without trailing return type
 get(Tag t, reversed_graph<BidirectionalGraph,GRef>& g)
                                                      ^
../../../src/graph/graph_reverse.hh:395:54: note: deduced return type only available with -std=c++14 or -std=gnu++14
../../../src/graph/graph_reverse.hh:402:60: error: 'get' function uses 'auto' type specifier without trailing return type
 get(Tag t, const reversed_graph<BidirectionalGraph,GRef>& g)
                                                            ^
../../../src/graph/graph_reverse.hh:402:60: note: deduced return type only available with -std=c++14 or -std=gnu++14
In file included from ../../../src/graph/graph_filtering.hh:49:0,
                 from graph_tree_cts.cc:20:
../../../src/graph/graph_selectors.hh:78:37: error: 'operator()' function uses 'auto' type specifier without trailing return type
                     const Graph& g) const
                                     ^
../../../src/graph/graph_selectors.hh:78:37: note: deduced return type only available with -std=c++14 or -std=gnu++14
../../../src/graph/graph_selectors.hh:86:54: error: 'operator()' function uses 'auto' type specifier without trailing return type
                     const Graph& g, Weight&& weight) const
                                                      ^
../../../src/graph/graph_selectors.hh:86:54: note: deduced return type only available with -std=c++14 or -std=gnu++14
../../../src/graph/graph_selectors.hh:98:44: error: 'get_in_degree' function uses 'auto' type specifier without trailing return type
                        detail::no_weightS) const
                                            ^
../../../src/graph/graph_selectors.hh:98:44: note: deduced return type only available with -std=c++14 or -std=gnu++14
../../../src/graph/graph_selectors.hh:106:71: error: 'get_in_degree' function uses 'auto' type specifier without trailing return type
                        const ConstantPropertyMap<Value, Key>& weight) const
                                                                       ^
../../../src/graph/graph_selectors.hh:106:71: note: deduced return type only available with -std=c++14 or -std=gnu++14
../../../src/graph/graph_selectors.hh:114:61: error: 'get_in_degree' function uses 'auto' type specifier without trailing return type
                        const UnityPropertyMap<Value, Key>&) const
                                                             ^
../../../src/graph/graph_selectors.hh:114:61: note: deduced return type only available with -std=c++14 or -std=gnu++14
../../../src/graph/graph_selectors.hh:121:72: error: 'get_in_degree' function uses 'auto' type specifier without trailing return type
                        const Graph& g, std::true_type, Weight& weight) const
                                                                        ^
../../../src/graph/graph_selectors.hh:121:72: note: deduced return type only available with -std=c++14 or -std=gnu++14
../../../src/graph/graph_selectors.hh:134:66: error: 'get_in_degree' function uses 'auto' type specifier without trailing return type
                        const Graph&, std::false_type, Weight&&)  const
                                                                  ^
../../../src/graph/graph_selectors.hh:134:66: note: deduced return type only available with -std=c++14 or -std=gnu++14
../../../src/graph/graph_selectors.hh:149:37: error: 'operator()' function uses 'auto' type specifier without trailing return type
                     const Graph& g) const
                                     ^
../../../src/graph/graph_selectors.hh:149:37: note: deduced return type only available with -std=c++14 or -std=gnu++14
../../../src/graph/graph_selectors.hh:157:54: error: 'operator()' function uses 'auto' type specifier without trailing return type
                     const Graph& g, Weight&& weight) const
                                                      ^
../../../src/graph/graph_selectors.hh:157:54: note: deduced return type only available with -std=c++14 or -std=gnu++14
../../../src/graph/graph_selectors.hh:165:72: error: 'get_out_degree' function uses 'auto' type specifier without trailing return type
                         const ConstantPropertyMap<Value, Key>& weight) const
                                                                        ^
../../../src/graph/graph_selectors.hh:165:72: note: deduced return type only available with -std=c++14 or -std=gnu++14
../../../src/graph/graph_selectors.hh:173:62: error: 'get_out_degree' function uses 'auto' type specifier without trailing return type
                         const UnityPropertyMap<Value, Key>&) const
                                                              ^
../../../src/graph/graph_selectors.hh:173:62: note: deduced return type only available with -std=c++14 or -std=gnu++14
../../../src/graph/graph_selectors.hh:181:63: error: 'get_out_degree' function uses 'auto' type specifier without trailing return type
                         const Graph& g, const Weight& weight) const
                                                               ^
../../../src/graph/graph_selectors.hh:181:63: note: deduced return type only available with -std=c++14 or -std=gnu++14
../../../src/graph/graph_selectors.hh:194:61: error: 'get_out_degree' function uses 'auto' type specifier without trailing return type
                         const Graph& g, detail::no_weightS) const
                                                             ^
../../../src/graph/graph_selectors.hh:194:61: note: deduced return type only available with -std=c++14 or -std=gnu++14
../../../src/graph/graph_selectors.hh:208:37: error: 'operator()' function uses 'auto' type specifier without trailing return type
                     const Graph& g) const
                                     ^
../../../src/graph/graph_selectors.hh:208:37: note: deduced return type only available with -std=c++14 or -std=gnu++14
../../../src/graph/graph_selectors.hh:216:54: error: 'operator()' function uses 'auto' type specifier without trailing return type
                     const Graph& g, Weight&& weight) const
                                                      ^
../../../src/graph/graph_selectors.hh:216:54: note: deduced return type only available with -std=c++14 or -std=gnu++14
../../../src/graph/graph_selectors.hh:229:44: error: 'get_total_degree' function uses 'auto' type specifier without trailing return type
                           Weight&& weight) const
                                            ^
../../../src/graph/graph_selectors.hh:229:44: note: deduced return type only available with -std=c++14 or -std=gnu++14
../../../src/graph/graph_selectors.hh:238:77: error: 'get_total_degree' function uses 'auto' type specifier without trailing return type
                           const Graph& g, std::false_type, Weight&& weight) const
                                                                             ^
../../../src/graph/graph_selectors.hh:238:77: note: deduced return type only available with -std=c++14 or -std=gnu++14
../../../src/graph/graph_selectors.hh:255:56: error: 'operator()' function uses 'auto' type specifier without trailing return type
     auto operator()(const Descriptor& d, const Graph&) const
                                                        ^
../../../src/graph/graph_selectors.hh:255:56: note: deduced return type only available with -std=c++14 or -std=gnu++14
../../../src/graph/graph_selectors.hh:540:44: error: 'mk_range' function uses 'auto' type specifier without trailing return type
 auto mk_range(std::pair<Iter, Iter>&& range)
                                            ^
../../../src/graph/graph_selectors.hh:540:44: note: deduced return type only available with -std=c++14 or -std=gnu++14
../../../src/graph/graph_selectors.hh:547:35: error: 'vertices_range' function uses 'auto' type specifier without trailing return type
 auto vertices_range(const Graph& g)
                                   ^
../../../src/graph/graph_selectors.hh:547:35: note: deduced return type only available with -std=c++14 or -std=gnu++14
../../../src/graph/graph_selectors.hh:554:32: error: 'edges_range' function uses 'auto' type specifier without trailing return type
 auto edges_range(const Graph& g)
                                ^
../../../src/graph/graph_selectors.hh:554:32: note: deduced return type only available with -std=c++14 or -std=gnu++14
../../../src/graph/graph_selectors.hh:562:44: error: 'adjacent_vertices_range' function uses 'auto' type specifier without trailing return type
                              const Graph& g)
                                            ^
../../../src/graph/graph_selectors.hh:562:44: note: deduced return type only available with -std=c++14 or -std=gnu++14
../../../src/graph/graph_selectors.hh:570:36: error: 'out_edges_range' function uses 'auto' type specifier without trailing return type
                      const Graph& g)
                                    ^
../../../src/graph/graph_selectors.hh:570:36: note: deduced return type only available with -std=c++14 or -std=gnu++14
../../../src/graph/graph_selectors.hh:578:41: error: 'out_neighbours_range' function uses 'auto' type specifier without trailing return type
                           const Graph& g)
                                         ^
../../../src/graph/graph_selectors.hh:578:41: note: deduced return type only available with -std=c++14 or -std=gnu++14
../../../src/graph/graph_selectors.hh:587:35: error: 'in_edges_range' function uses 'auto' type specifier without trailing return type
                     const Graph& g)
                                   ^
../../../src/graph/graph_selectors.hh:587:35: note: deduced return type only available with -std=c++14 or -std=gnu++14
../../../src/graph/graph_selectors.hh:595:40: error: 'in_neighbours_range' function uses 'auto' type specifier without trailing return type
                          const Graph& g)
                                        ^
../../../src/graph/graph_selectors.hh:595:40: note: deduced return type only available with -std=c++14 or -std=gnu++14
../../../src/graph/graph_selectors.hh:604:36: error: 'all_edges_range' function uses 'auto' type specifier without trailing return type
                      const Graph& g)
                                    ^
../../../src/graph/graph_selectors.hh:604:36: note: deduced return type only available with -std=c++14 or -std=gnu++14
../../../src/graph/graph_selectors.hh:612:41: error: 'all_neighbours_range' function uses 'auto' type specifier without trailing return type
                           const Graph& g)
                                         ^
../../../src/graph/graph_selectors.hh:612:41: note: deduced return type only available with -std=c++14 or -std=gnu++14
../../../src/graph/graph_selectors.hh:620:42: error: 'in_or_out_edges_range' function uses 'auto' type specifier without trailing return type
                            const Graph& g)
                                          ^
../../../src/graph/graph_selectors.hh:620:42: note: deduced return type only available with -std=c++14 or -std=gnu++14
../../../src/graph/graph_selectors.hh:628:47: error: 'in_or_out_neighbours_range' function uses 'auto' type specifier without trailing return type
                                 const Graph& g)
                                               ^
../../../src/graph/graph_selectors.hh:628:47: note: deduced return type only available with -std=c++14 or -std=gnu++14
In file included from ../../../src/graph/graph.hh:28:0,
                 from graph_cairo_draw.cc:18:
../../../src/graph/graph_adjacency.hh:250:59: error: 'distance_to' function uses 'auto' type specifier without trailing return type
         auto distance_to(base_edge_iterator const& other) const
                                                           ^
../../../src/graph/graph_adjacency.hh:250:59: note: deduced return type only available with -std=c++14 or -std=gnu++14
../../../src/graph/graph_adjacency.hh: In member function 'void boost::adj_list<Vertex>::shrink_to_fit()':
../../../src/graph/graph_adjacency.hh:450:26: error: use of 'auto' in lambda parameter declaration only available with -std=c++14 or -std=gnu++14
                       [](auto &es){es.second.shrink_to_fit();});
                          ^
../../../src/graph/graph_adjacency.hh: In lambda function:
../../../src/graph/graph_adjacency.hh:450:39: error: request for member 'second' in 'es', which is of non-class type 'int'
                       [](auto &es){es.second.shrink_to_fit();});
                                       ^
../../../src/graph/graph_adjacency.hh: In member function 'void boost::adj_list<Vertex>::shrink_to_fit()':
../../../src/graph/graph_adjacency.hh:453:47: error: use of 'auto' in lambda parameter declaration only available with -std=c++14 or -std=gnu++14
                                      [](const auto &a, const auto& b) -> bool
                                               ^
../../../src/graph/graph_adjacency.hh:453:62: error: use of 'auto' in lambda parameter declaration only available with -std=c++14 or -std=gnu++14
                                      [](const auto &a, const auto& b) -> bool
                                                              ^
../../../src/graph/graph_adjacency.hh: In lambda function:
../../../src/graph/graph_adjacency.hh:454:48: error: request for member 'idx' in 'a', which is of non-class type 'const int'
                                      {return a.idx < b.idx;});
                                                ^
../../../src/graph/graph_adjacency.hh:454:56: error: request for member 'idx' in 'b', which is of non-class type 'const int'
                                      {return a.idx < b.idx;});
                                                        ^
../../../src/graph/graph_adjacency.hh: In member function 'void boost::adj_list<Vertex>::shrink_to_fit()':
../../../src/graph/graph_adjacency.hh:461:44: error: use of 'auto' in lambda parameter declaration only available with -std=c++14 or -std=gnu++14
                                        [&](auto idx) -> bool
                                            ^
../../../src/graph/graph_adjacency.hh: In function 'std::pair<typename boost::adj_list<Vertex>::edge_descriptor, bool> boost::edge(Vertex, Vertex, const boost::adj_list<Vertex>&)':
../../../src/graph/graph_adjacency.hh:718:40: error: use of 'auto' in lambda parameter declaration only available with -std=c++14 or -std=gnu++14
                              [&](const auto& e) -> bool {return e.first == t;});
                                        ^
../../../src/graph/graph_adjacency.hh: In lambda function:
../../../src/graph/graph_adjacency.hh:718:67: error: request for member 'first' in 'e', which is of non-class type 'const int'
                              [&](const auto& e) -> bool {return e.first == t;});
                                                                   ^
../../../src/graph/graph_adjacency.hh: In function 'void boost::remove_edge(const typename boost::adj_list<Vertex>::edge_descriptor&, boost::adj_list<Vertex>&)':
../../../src/graph/graph_adjacency.hh:970:30: error: use of 'auto' in lambda parameter declaration only available with -std=c++14 or -std=gnu++14
         auto remove_e = [&] (auto& elist, auto&& begin, auto&& end, auto v)
                              ^
../../../src/graph/graph_adjacency.hh:970:43: error: use of 'auto' in lambda parameter declaration only available with -std=c++14 or -std=gnu++14
         auto remove_e = [&] (auto& elist, auto&& begin, auto&& end, auto v)
                                           ^
../../../src/graph/graph_adjacency.hh:970:57: error: use of 'auto' in lambda parameter declaration only available with -std=c++14 or -std=gnu++14
         auto remove_e = [&] (auto& elist, auto&& begin, auto&& end, auto v)
                                                         ^
../../../src/graph/graph_adjacency.hh:970:69: error: use of 'auto' in lambda parameter declaration only available with -std=c++14 or -std=gnu++14
         auto remove_e = [&] (auto& elist, auto&& begin, auto&& end, auto v)
                                                                     ^
../../../src/graph/graph_adjacency.hh: In lambda function:
../../../src/graph/graph_adjacency.hh:973:53: error: use of 'auto' in lambda parameter declaration only available with -std=c++14 or -std=gnu++14
                                          [&] (const auto& ei) -> bool
                                                     ^
../../../src/graph/graph_adjacency.hh: In lambda function:
../../../src/graph/graph_adjacency.hh:974:59: error: request for member 'first' in 'ei', which is of non-class type 'const int'
                                          { return v == ei.first &&
                                                           ^
../../../src/graph/graph_adjacency.hh:975:61: error: request for member 'second' in 'ei', which is of non-class type 'const int'
                                                   idx == ei.second; });
                                                             ^
../../../src/graph/graph_adjacency.hh: In lambda function:
../../../src/graph/graph_adjacency.hh:978:27: error: request for member 'erase' in 'elist', which is of non-class type 'int'
                     elist.erase(iter);
                           ^
../../../src/graph/graph_adjacency.hh: In function 'void boost::remove_edge(const typename boost::adj_list<Vertex>::edge_descriptor&, boost::adj_list<Vertex>&)':
../../../src/graph/graph_adjacency.hh:1000:30: error: use of 'auto' in lambda parameter declaration only available with -std=c++14 or -std=gnu++14
         auto remove_e = [&] (auto& elist, auto&& begin, auto&& end,
                              ^
../../../src/graph/graph_adjacency.hh:1000:43: error: use of 'auto' in lambda parameter declaration only available with -std=c++14 or -std=gnu++14
         auto remove_e = [&] (auto& elist, auto&& begin, auto&& end,
                                           ^
../../../src/graph/graph_adjacency.hh:1000:57: error: use of 'auto' in lambda parameter declaration only available with -std=c++14 or -std=gnu++14
         auto remove_e = [&] (auto& elist, auto&& begin, auto&& end,
                                                         ^
../../../src/graph/graph_adjacency.hh:1001:30: error: use of 'auto' in lambda parameter declaration only available with -std=c++14 or -std=gnu++14
                              auto&& get_pos, bool swap_back)
                              ^
../../../src/graph/graph_adjacency.hh: In lambda function:
../../../src/graph/graph_adjacency.hh:1004:27: error: invalid type argument of unary '*' (have 'int')
             auto& back = *back_iter;
                           ^
../../../src/graph/graph_adjacency.hh:1008:32: error: expression cannot be used as a function
             get_pos(back.second) = j;
                                ^
../../../src/graph/graph_adjacency.hh:1009:43: error: request for member 'end' in 'elist', which is of non-class type 'int'
             if (swap_back && end != elist.end())
                                           ^
../../../src/graph/graph_adjacency.hh:1012:30: error: request for member 'back' in 'elist', which is of non-class type 'int'
                 back = elist.back();
                              ^
../../../src/graph/graph_adjacency.hh:1013:65: error: request for member 'begin' in 'elist', which is of non-class type 'int'
                 g._epos[back.second].second = back_iter - elist.begin();
                                                                 ^
../../../src/graph/graph_adjacency.hh:1015:19: error: request for member 'pop_back' in 'elist', which is of non-class type 'int'
             elist.pop_back();
                   ^
../../../src/graph/graph_adjacency.hh: In function 'void boost::remove_edge(const typename boost::adj_list<Vertex>::edge_descriptor&, boost::adj_list<Vertex>&)':
../../../src/graph/graph_adjacency.hh:1019:39: error: invalid use of 'auto'
                  [&](size_t i) -> auto& {return g._epos[i].first;}, true);
                                       ^
../../../src/graph/graph_adjacency.hh:1022:39: error: invalid use of 'auto'
                  [&](size_t i) -> auto& {return g._epos[i].second;}, false);
                                       ^
../../../src/graph/graph_adjacency.hh: In function 'void boost::clear_vertex(Vertex, boost::adj_list<Vertex>&, Pred&&)':
../../../src/graph/graph_adjacency.hh:1068:40: error: use of 'auto' in lambda parameter declaration only available with -std=c++14 or -std=gnu++14
                                    [&](auto& e)
                                        ^
../../../src/graph/graph_adjacency.hh: In lambda function:
../../../src/graph/graph_adjacency.hh:1072:49: error: request for member 'first' in 'e', which is of non-class type 'int'
                                        return e.first == v;
                                                 ^
../../../src/graph/graph_adjacency.hh: In function 'void boost::clear_vertex(Vertex, boost::adj_list<Vertex>&, Pred&&)':
../../../src/graph/graph_adjacency.hh:1083:48: error: use of 'auto' in lambda parameter declaration only available with -std=c++14 or -std=gnu++14
                                            [&](auto& e)
                                                ^
../../../src/graph/graph_adjacency.hh: In lambda function:
../../../src/graph/graph_adjacency.hh:1087:57: error: request for member 'first' in 'e', which is of non-class type 'int'
                                                return e.first == v;
                                                         ^
../../../src/graph/graph_adjacency.hh: In function 'void boost::clear_vertex(Vertex, boost::adj_list<Vertex>&, Pred&&)':
../../../src/graph/graph_adjacency.hh:1095:32: error: use of 'auto' in lambda parameter declaration only available with -std=c++14 or -std=gnu++14
                            [&](auto& e)
                                ^
../../../src/graph/graph_adjacency.hh:1102:32: error: use of 'auto' in lambda parameter declaration only available with -std=c++14 or -std=gnu++14
                            [&](auto& e)
                                ^
../../../src/graph/graph_adjacency.hh: In function 'void boost::clear_vertex(Vertex, boost::adj_list<Vertex>&)':
../../../src/graph/graph_adjacency.hh:1134:27: error: use of 'auto' in lambda parameter declaration only available with -std=c++14 or -std=gnu++14
     clear_vertex(v, g, [](auto&&){ return true; });
                           ^
In file included from ../../../src/graph/graph_filtering.hh:50:0,
                 from graph_tree_cts.cc:20:
../../../src/graph/graph_util.hh:205:51: error: 'get_dir' function uses 'auto' type specifier without trailing return type
 const auto& get_dir(const Graph& g, std::true_type)
                                                   ^
../../../src/graph/graph_util.hh:205:51: note: deduced return type only available with -std=c++14 or -std=gnu++14
../../../src/graph/graph_util.hh:209:52: error: 'get_dir' function uses 'auto' type specifier without trailing return type
 const auto& get_dir(const Graph& g, std::false_type)
                                                    ^
../../../src/graph/graph_util.hh:209:52: note: deduced return type only available with -std=c++14 or -std=gnu++14
../../../src/graph/graph_util.hh:214:29: error: 'get_dir' function uses 'auto' type specifier without trailing return type
              std::false_type)
                             ^
../../../src/graph/graph_util.hh:214:29: note: deduced return type only available with -std=c++14 or -std=gnu++14
../../../src/graph/graph_util.hh: In function 'void graph_tool::parallel_edge_loop_no_spawn(const Graph&, F&&)':
../../../src/graph/graph_util.hh:232:13: error: use of 'auto' in lambda parameter declaration only available with -std=c++14 or -std=gnu++14
         [&](auto v)
             ^
In file included from ../../../src/graph/graph_filtering.hh:51:0,
                 from graph_tree_cts.cc:20:
../../../src/graph/mpl_nested_loop.hh: At global scope:
../../../src/graph/mpl_nested_loop.hh:104:24: error: 'std::index_sequence' has not been declared
     void dispatch(std::index_sequence<Idx...>, Ts*...) const
                        ^
../../../src/graph/mpl_nested_loop.hh:104:38: error: expected ',' or '...' before '<' token
     void dispatch(std::index_sequence<Idx...>, Ts*...) const
                                      ^
../../../src/graph/mpl_nested_loop.hh: In member function 'void boost::mpl::all_any_cast<Action, N>::operator()(Ts* ...) const':
../../../src/graph/mpl_nested_loop.hh:77:18: error: 'make_index_sequence' is not a member of 'std'
         dispatch(std::make_index_sequence<sizeof...(Ts)>(), vs...);
                  ^
../../../src/graph/mpl_nested_loop.hh:77:58: error: expected primary-expression before ')' token
         dispatch(std::make_index_sequence<sizeof...(Ts)>(), vs...);
                                                          ^
../../../src/graph/mpl_nested_loop.hh: In member function 'void boost::mpl::for_each_variadic<F, std::tuple<_Elements ...> >::operator()(F)':
../../../src/graph/mpl_nested_loop.hh:129:25: error: use of 'auto' in lambda parameter declaration only available with -std=c++14 or -std=gnu++14
         auto call = [&](auto&& arg){f(std::forward<decltype(arg)>(arg)); return 0;};
                         ^
In file included from graph_tree_cts.cc:20:0:
../../../src/graph/graph_filtering.hh: At global scope:
../../../src/graph/graph_filtering.hh:384:38: error: 'uncheck' function uses 'auto' type specifier without trailing return type
                   boost::mpl::true_) const
                                      ^
../../../src/graph/graph_filtering.hh:384:38: note: deduced return type only available with -std=c++14 or -std=gnu++14
../../../src/graph/graph_filtering.hh:391:38: error: 'uncheck' function uses 'auto' type specifier without trailing return type
                  boost::mpl::false_) const
                                      ^
../../../src/graph/graph_filtering.hh:391:38: note: deduced return type only available with -std=c++14 or -std=gnu++14
../../../src/graph/graph_filtering.hh:397:56: error: 'uncheck' function uses 'auto' type specifier without trailing return type
     auto uncheck(scalarS<Type>& a, boost::mpl::false_) const
                                                        ^
../../../src/graph/graph_filtering.hh:397:56: note: deduced return type only available with -std=c++14 or -std=gnu++14
../../../src/graph/graph_filtering.hh:408:30: error: 'deference' function uses 'auto' type specifier without trailing return type
     auto& deference(Type* a) const
                              ^
../../../src/graph/graph_filtering.hh:408:30: note: deduced return type only available with -std=c++14 or -std=gnu++14
../../../src/graph/graph_filtering.hh:417:56: error: 'deference_dispatch' function uses 'auto' type specifier without trailing return type
     auto& deference_dispatch(Type*& a, std::true_type) const
                                                        ^
../../../src/graph/graph_filtering.hh:417:56: note: deduced return type only available with -std=c++14 or -std=gnu++14
../../../src/graph/graph_filtering.hh:473:57: error: 'operator()' function uses 'auto' type specifier without trailing return type
     auto operator()(GraphInterface& gi, Action a, TRS...)
                                                         ^
../../../src/graph/graph_filtering.hh:473:57: note: deduced return type only available with -std=c++14 or -std=gnu++14
../../../src/graph/graph_filtering.hh: In member function 'auto graph_tool::run_action<GraphViews, Wrap>::operator()(graph_tool::GraphInterface&, Action, TRS ...)':
../../../src/graph/graph_filtering.hh:476:37: error: use of 'auto' in lambda parameter declaration only available with -std=c++14 or -std=gnu++14
         auto wrap = [dispatch, &gi](auto&&... args) { dispatch(gi.get_graph_view(), args...); };
                                     ^
../../../src/graph/graph_filtering.hh:476:47: error: expansion pattern 'int&&' contains no argument packs
         auto wrap = [dispatch, &gi](auto&&... args) { dispatch(gi.get_graph_view(), args...); };
                                               ^
../../../src/graph/graph_filtering.hh: In lambda function:
../../../src/graph/graph_filtering.hh:476:85: error: 'args' was not declared in this scope
         auto wrap = [dispatch, &gi](auto&&... args) { dispatch(gi.get_graph_view(), args...); };
                                                                                     ^
../../../src/graph/graph_filtering.hh: At global scope:
../../../src/graph/graph_filtering.hh:485:37: error: 'operator()' function uses 'auto' type specifier without trailing return type
     auto operator()(Action a, TRS...)
                                     ^
../../../src/graph/graph_filtering.hh:485:37: note: deduced return type only available with -std=c++14 or -std=gnu++14
../../../src/graph/graph_filtering.hh:551:80: error: 'add_vertex' function uses 'auto' type specifier without trailing return type
                              graph_tool::detail::MaskFilter<VertexProperty>>& g)
                                                                                ^
../../../src/graph/graph_filtering.hh:551:80: note: deduced return type only available with -std=c++14 or -std=gnu++14
../../../src/graph/graph_filtering.hh:564:91: error: 'add_edge' function uses 'auto' type specifier without trailing return type
                                         graph_tool::detail::MaskFilter<VertexProperty>>& g)
                                                                                           ^
../../../src/graph/graph_filtering.hh:564:91: note: deduced return type only available with -std=c++14 or -std=gnu++14
graph_tree_cts.cc: In function 'void get_cts(graph_tool::GraphInterface&, graph_tool::GraphInterface&, boost::any, boost::any, boost::any, bool, size_t)':
graph_tree_cts.cc:252:43: error: invalid use of 'auto'
          vertex_scalar_vector_properties())
                                           ^
In file included from ../../../src/graph/graph.hh:28:0,
                 from graph_tree_cts.cc:18:
../../../src/graph/graph_adjacency.hh: In instantiation of 'boost::adj_list<Vertex>::shrink_to_fit()::<lambda(int)> [with Vertex = long unsigned int]':
../../../src/graph/graph_adjacency.hh:462:54:   required from 'struct boost::adj_list<Vertex>::shrink_to_fit() [with Vertex = long unsigned int]::<lambda(int)>'
../../../src/graph/graph_adjacency.hh:459:39:   required from 'void boost::adj_list<Vertex>::shrink_to_fit() [with Vertex = long unsigned int]'
../../../src/graph/graph.hh:109:47:   required from here
../../../src/graph/graph_adjacency.hh:462:52: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
                                        {return idx > _edge_index_range;});
                                                    ^
In file included from /usr/include/c++/5/algorithm:62:0,
                 from /usr/include/boost/function/detail/prologue.hpp:13,
                 from /usr/include/boost/function/function_template.hpp:13,
                 from /usr/include/boost/function/detail/maybe_include.hpp:13,
                 from /usr/include/boost/function/function0.hpp:11,
                 from /usr/include/boost/python/errors.hpp:13,
                 from /usr/include/boost/python/handle.hpp:11,
                 from /usr/include/boost/python/converter/arg_to_python_base.hpp:7,
                 from /usr/include/boost/python/converter/arg_to_python.hpp:14,
                 from /usr/include/boost/python/call.hpp:15,
                 from /usr/include/boost/python/object_core.hpp:14,
                 from /usr/include/boost/python/object.hpp:9,
                 from ../../../src/graph/graph.hh:23,
                 from graph_tree_cts.cc:18:
/usr/include/c++/5/bits/stl_algo.h: In instantiation of '_Funct std::for_each(_IIter, _IIter, _Funct) [with _IIter = __gnu_cxx::__normal_iterator<std::pair<long unsigned int, std::vector<std::pair<long unsigned int, long unsigned int>, std::allocator<std::pair<long unsigned int, long unsigned int> > > >*, std::vector<std::pair<long unsigned int, std::vector<std::pair<long unsigned int, long unsigned int>, std::allocator<std::pair<long unsigned int, long unsigned int> > > >, std::allocator<std::pair<long unsigned int, std::vector<std::pair<long unsigned int, long unsigned int>, std::allocator<std::pair<long unsigned int, long unsigned int> > > > > > >; _Funct = boost::adj_list<Vertex>::shrink_to_fit() [with Vertex = long unsigned int]::<lambda(int&)>]':
../../../src/graph/graph_adjacency.hh:449:22:   required from 'void boost::adj_list<Vertex>::shrink_to_fit() [with Vertex = long unsigned int]'
../../../src/graph/graph.hh:109:47:   required from here
/usr/include/c++/5/bits/stl_algo.h:3767:5: error: no match for call to '(boost::adj_list<Vertex>::shrink_to_fit() [with Vertex = long unsigned int]::<lambda(int&)>) (std::pair<long unsigned int, std::vector<std::pair<long unsigned int, long unsigned int>, std::allocator<std::pair<long unsigned int, long unsigned int> > > >&)'
  __f(*__first);
     ^
/usr/include/c++/5/bits/stl_algo.h:3767:5: note: candidate: void (*)(int&) <conversion>
/usr/include/c++/5/bits/stl_algo.h:3767:5: note:   candidate expects 2 arguments, 2 provided
In file included from ../../../src/graph/graph.hh:28:0,
                 from graph_tree_cts.cc:18:
../../../src/graph/graph_adjacency.hh:450:34: note: candidate: boost::adj_list<Vertex>::shrink_to_fit()::<lambda(int&)> [with Vertex = long unsigned int]
                       [](auto &es){es.second.shrink_to_fit();});
                                  ^
../../../src/graph/graph_adjacency.hh:450:34: note:   no known conversion for argument 1 from 'std::pair<long unsigned int, std::vector<std::pair<long unsigned int, long unsigned int>, std::allocator<std::pair<long unsigned int, long unsigned int> > > >' to 'int&'
In file included from ../../../src/graph/graph_filtering.hh:46:0,
                 from graph_cairo_draw.cc:22:
../../../src/graph/graph_adaptor.hh: At global scope:
../../../src/graph/graph_adaptor.hh:130:42: error: 'source' function uses 'auto' type specifier without trailing return type
        const undirected_adaptor<Graph>& g)
                                          ^
../../../src/graph/graph_adaptor.hh:130:42: note: deduced return type only available with -std=c++14 or -std=gnu++14
../../../src/graph/graph_adaptor.hh:142:42: error: 'target' function uses 'auto' type specifier without trailing return type
        const undirected_adaptor<Graph>& g)
                                          ^
../../../src/graph/graph_adaptor.hh:142:42: note: deduced return type only available with -std=c++14 or -std=gnu++14
../../../src/graph/graph_adaptor.hh:154:42: error: 'vertex' function uses 'auto' type specifier without trailing return type
        const undirected_adaptor<Graph>& g)
                                          ^
../../../src/graph/graph_adaptor.hh:154:42: note: deduced return type only available with -std=c++14 or -std=gnu++14
../../../src/graph/graph_adaptor.hh:165:44: error: 'vertices' function uses 'auto' type specifier without trailing return type
 vertices(const undirected_adaptor<Graph>& g)
                                            ^
../../../src/graph/graph_adaptor.hh:165:44: note: deduced return type only available with -std=c++14 or -std=gnu++14
../../../src/graph/graph_adaptor.hh:176:41: error: 'edges' function uses 'auto' type specifier without trailing return type
 edges(const undirected_adaptor<Graph>& g)
                                         ^
../../../src/graph/graph_adaptor.hh:176:41: note: deduced return type only available with -std=c++14 or -std=gnu++14
../../../src/graph/graph_adaptor.hh:189:40: error: 'edge' function uses 'auto' type specifier without trailing return type
      const undirected_adaptor<Graph>& g)
                                        ^
../../../src/graph/graph_adaptor.hh:189:40: note: deduced return type only available with -std=c++14 or -std=gnu++14
../../../src/graph/graph_adaptor.hh:209:45: error: 'out_edges' function uses 'auto' type specifier without trailing return type
           const undirected_adaptor<Graph>& g)
                                             ^
../../../src/graph/graph_adaptor.hh:209:45: note: deduced return type only available with -std=c++14 or -std=gnu++14
../../../src/graph/graph_adaptor.hh:218:50: error: '_all_edges_out' function uses 'auto' type specifier without trailing return type
                const undirected_adaptor<Graph>& g)
                                                  ^
../../../src/graph/graph_adaptor.hh:218:50: note: deduced return type only available with -std=c++14 or -std=gnu++14
../../../src/graph/graph_adaptor.hh:230:44: error: 'in_edges' function uses 'auto' type specifier without trailing return type
          const undirected_adaptor<Graph>& g)
                                            ^
../../../src/graph/graph_adaptor.hh:230:44: note: deduced return type only available with -std=c++14 or -std=gnu++14
../../../src/graph/graph_adaptor.hh:239:45: error: 'all_edges' function uses 'auto' type specifier without trailing return type
           const undirected_adaptor<Graph>& g)
                                             ^
../../../src/graph/graph_adaptor.hh:239:45: note: deduced return type only available with -std=c++14 or -std=gnu++14
../../../src/graph/graph_adaptor.hh:251:50: error: 'out_neighbours' function uses 'auto' type specifier without trailing return type
                const undirected_adaptor<Graph>& g)
                                                  ^
../../../src/graph/graph_adaptor.hh:251:50: note: deduced return type only available with -std=c++14 or -std=gnu++14
../../../src/graph/graph_adaptor.hh:263:49: error: 'in_neighbours' function uses 'auto' type specifier without trailing return type
               const undirected_adaptor<Graph>& g)
                                                 ^
../../../src/graph/graph_adaptor.hh:263:49: note: deduced return type only available with -std=c++14 or -std=gnu++14
../../../src/graph/graph_adaptor.hh:275:50: error: 'all_neighbours' function uses 'auto' type specifier without trailing return type
                const undirected_adaptor<Graph>& g)
                                                  ^
../../../src/graph/graph_adaptor.hh:275:50: note: deduced return type only available with -std=c++14 or -std=gnu++14
../../../src/graph/graph_adaptor.hh:288:40: error: 'adjacent_vertices' function uses 'auto' type specifier without trailing return type
      const undirected_adaptor<Graph>& g)
                                        ^
../../../src/graph/graph_adaptor.hh:288:40: note: deduced return type only available with -std=c++14 or -std=gnu++14
../../../src/graph/graph_adaptor.hh:299:48: error: 'num_vertices' function uses 'auto' type specifier without trailing return type
 num_vertices(const undirected_adaptor<Graph>& g)
                                                ^
../../../src/graph/graph_adaptor.hh:299:48: note: deduced return type only available with -std=c++14 or -std=gnu++14
../../../src/graph/graph_adaptor.hh:310:45: error: 'num_edges' function uses 'auto' type specifier without trailing return type
 num_edges(const undirected_adaptor<Graph>& g)
                                             ^
../../../src/graph/graph_adaptor.hh:310:45: note: deduced return type only available with -std=c++14 or -std=gnu++14
../../../src/graph/graph_adaptor.hh:322:46: error: 'out_degree' function uses 'auto' type specifier without trailing return type
            const undirected_adaptor<Graph>& g)
                                              ^
../../../src/graph/graph_adaptor.hh:322:46: note: deduced return type only available with -std=c++14 or -std=gnu++14
../../../src/graph/graph_adaptor.hh:334:45: error: 'in_degree' function uses 'auto' type specifier without trailing return type
           const undirected_adaptor<Graph>& g)
                                             ^
../../../src/graph/graph_adaptor.hh:334:45: note: deduced return type only available with -std=c++14 or -std=gnu++14
../../../src/graph/graph_adaptor.hh:346:42: error: 'degree' function uses 'auto' type specifier without trailing return type
        const undirected_adaptor<Graph>& g)
                                          ^
../../../src/graph/graph_adaptor.hh:346:42: note: deduced return type only available with -std=c++14 or -std=gnu++14
../../../src/graph/graph_adaptor.hh:358:40: error: 'add_vertex' function uses 'auto' type specifier without trailing return type
 add_vertex(undirected_adaptor<Graph>& g)
                                        ^
../../../src/graph/graph_adaptor.hh:358:40: note: deduced return type only available with -std=c++14 or -std=gnu++14
../../../src/graph/graph_adaptor.hh:369:67: error: 'add_vertex' function uses 'auto' type specifier without trailing return type
 add_vertex(const VertexProperties& p, undirected_adaptor<Graph>& g)
                                                                   ^
../../../src/graph/graph_adaptor.hh:369:67: note: deduced return type only available with -std=c++14 or -std=gnu++14
../../../src/graph/graph_adaptor.hh:440:64: error: 'add_edge' function uses 'auto' type specifier without trailing return type
          const EdgeProperties& ep, undirected_adaptor<Graph>& g)
                                                                ^
../../../src/graph/graph_adaptor.hh:440:64: note: deduced return type only available with -std=c++14 or -std=gnu++14
In file included from /usr/include/c++/5/bits/stl_algobase.h:71:0,
                 from /usr/include/c++/5/memory:62,
                 from /usr/include/boost/config/no_tr1/memory.hpp:21,
                 from /usr/include/boost/get_pointer.hpp:14,
                 from /usr/include/boost/python/object/pointer_holder.hpp:11,
                 from /usr/include/boost/python/to_python_indirect.hpp:10,
                 from /usr/include/boost/python/converter/arg_to_python.hpp:10,
                 from /usr/include/boost/python/call.hpp:15,
                 from /usr/include/boost/python/object_core.hpp:14,
                 from /usr/include/boost/python/object.hpp:9,
                 from ../../../src/graph/graph.hh:23,
                 from graph_tree_cts.cc:18:
/usr/include/c++/5/bits/predefined_ops.h: In instantiation of 'bool __gnu_cxx::__ops::_Iter_comp_iter<_Compare>::operator()(_Iterator1, _Iterator2) [with _Iterator1 = boost::adj_list<long unsigned int>::edge_iterator; _Iterator2 = boost::adj_list<long unsigned int>::edge_iterator; _Compare = boost::adj_list<Vertex>::shrink_to_fit() [with Vertex = long unsigned int]::<lambda(const int&, const int&)>]':
/usr/include/c++/5/bits/stl_algo.h:5490:12:   required from '_ForwardIterator std::__max_element(_ForwardIterator, _ForwardIterator, _Compare) [with _ForwardIterator = boost::adj_list<long unsigned int>::edge_iterator; _Compare = __gnu_cxx::__ops::_Iter_comp_iter<boost::adj_list<Vertex>::shrink_to_fit() [with Vertex = long unsigned int]::<lambda(const int&, const int&)> >]'
/usr/include/c++/5/bits/stl_algo.h:5539:43:   required from '_FIter std::max_element(_FIter, _FIter, _Compare) [with _FIter = boost::adj_list<long unsigned int>::edge_iterator; _Compare = boost::adj_list<Vertex>::shrink_to_fit() [with Vertex = long unsigned int]::<lambda(const int&, const int&)>]'
../../../src/graph/graph_adjacency.hh:452:37:   required from 'void boost::adj_list<Vertex>::shrink_to_fit() [with Vertex = long unsigned int]'
../../../src/graph/graph.hh:109:47:   required from here
/usr/include/c++/5/bits/predefined_ops.h:123:46: error: no match for call to '(boost::adj_list<Vertex>::shrink_to_fit() [with Vertex = long unsigned int]::<lambda(const int&, const int&)>) (boost::iterators::detail::iterator_facade_base<boost::adj_list<long unsigned int>::edge_iterator, boost::detail::adj_edge_descriptor<long unsigned int>, boost::iterators::forward_traversal_tag, boost::detail::adj_edge_descriptor<long unsigned int>, long int, false, false>::reference, boost::iterators::detail::iterator_facade_base<boost::adj_list<long unsigned int>::edge_iterator, boost::detail::adj_edge_descriptor<long unsigned int>, boost::iterators::forward_traversal_tag, boost::detail::adj_edge_descriptor<long unsigned int>, long int, false, false>::reference)'
         { return bool(_M_comp(*__it1, *__it2)); }
                                              ^
/usr/include/c++/5/bits/predefined_ops.h:123:46: note: candidate: bool (*)(const int&, const int&) <conversion>
/usr/include/c++/5/bits/predefined_ops.h:123:46: note:   candidate expects 3 arguments, 3 provided
In file included from ../../../src/graph/graph.hh:28:0,
                 from graph_tree_cts.cc:18:
../../../src/graph/graph_adjacency.hh:453:74: note: candidate: boost::adj_list<Vertex>::shrink_to_fit()::<lambda(const int&, const int&)> [with Vertex = long unsigned int]
                                      [](const auto &a, const auto& b) -> bool
                                                                          ^
../../../src/graph/graph_adjacency.hh:453:74: note:   no known conversion for argument 1 from 'boost::iterators::detail::iterator_facade_base<boost::adj_list<long unsigned int>::edge_iterator, boost::detail::adj_edge_descriptor<long unsigned int>, boost::iterators::forward_traversal_tag, boost::detail::adj_edge_descriptor<long unsigned int>, long int, false, false>::reference {aka boost::detail::adj_edge_descriptor<long unsigned int>}' to 'const int&'
In file included from ../../../src/graph/graph_filtering.hh:47:0,
                 from graph_cairo_draw.cc:22:
../../../src/graph/graph_filtered.hh: In function 'void boost::clear_vertex(typename boost::graph_traits<boost::filt_graph<Graph, EdgePredicate, VertexPredicate> >::vertex_descriptor, boost::filt_graph<Graph, EdgePredicate, VertexPredicate>&, Pred&&)':
../../../src/graph/graph_filtered.hh:574:22: error: use of 'auto' in lambda parameter declaration only available with -std=c++14 or -std=gnu++14
                  [&](auto&& e){ return (((g._edge_pred(e) &&
                      ^
../../../src/graph/graph_filtered.hh: In function 'void boost::clear_vertex(typename boost::graph_traits<boost::filt_graph<Graph, EdgePredicate, VertexPredicate> >::vertex_descriptor, boost::filt_graph<Graph, EdgePredicate, VertexPredicate>&)':
../../../src/graph/graph_filtered.hh:586:28: error: use of 'auto' in lambda parameter declaration only available with -std=c++14 or -std=gnu++14
     clear_vertex(v, g, [&](auto&&){ return true; });
                            ^
../../../src/graph/graph_filtered.hh: At global scope:
../../../src/graph/graph_filtered.hh:660:61: error: 'get' function uses 'auto' type specifier without trailing return type
 get(Property p, const filt_graph<G, EP, VP>& g, const Key& k)
                                                             ^
../../../src/graph/graph_filtered.hh:660:61: note: deduced return type only available with -std=c++14 or -std=gnu++14
In file included from ../../../src/graph/graph_filtering.hh:48:0,
                 from graph_cairo_draw.cc:22:
../../../src/graph/graph_reverse.hh:395:54: error: 'get' function uses 'auto' type specifier without trailing return type
 get(Tag t, reversed_graph<BidirectionalGraph,GRef>& g)
                                                      ^
../../../src/graph/graph_reverse.hh:395:54: note: deduced return type only available with -std=c++14 or -std=gnu++14
../../../src/graph/graph_reverse.hh:402:60: error: 'get' function uses 'auto' type specifier without trailing return type
 get(Tag t, const reversed_graph<BidirectionalGraph,GRef>& g)
                                                            ^
../../../src/graph/graph_reverse.hh:402:60: note: deduced return type only available with -std=c++14 or -std=gnu++14
In file included from ../../../src/graph/graph_filtering.hh:49:0,
                 from graph_cairo_draw.cc:22:
../../../src/graph/graph_selectors.hh:78:37: error: 'operator()' function uses 'auto' type specifier without trailing return type
                     const Graph& g) const
                                     ^
../../../src/graph/graph_selectors.hh:78:37: note: deduced return type only available with -std=c++14 or -std=gnu++14
../../../src/graph/graph_selectors.hh:86:54: error: 'operator()' function uses 'auto' type specifier without trailing return type
                     const Graph& g, Weight&& weight) const
                                                      ^
../../../src/graph/graph_selectors.hh:86:54: note: deduced return type only available with -std=c++14 or -std=gnu++14
../../../src/graph/graph_selectors.hh:98:44: error: 'get_in_degree' function uses 'auto' type specifier without trailing return type
                        detail::no_weightS) const
                                            ^
../../../src/graph/graph_selectors.hh:98:44: note: deduced return type only available with -std=c++14 or -std=gnu++14
../../../src/graph/graph_selectors.hh:106:71: error: 'get_in_degree' function uses 'auto' type specifier without trailing return type
                        const ConstantPropertyMap<Value, Key>& weight) const
                                                                       ^
../../../src/graph/graph_selectors.hh:106:71: note: deduced return type only available with -std=c++14 or -std=gnu++14
../../../src/graph/graph_selectors.hh:114:61: error: 'get_in_degree' function uses 'auto' type specifier without trailing return type
                        const UnityPropertyMap<Value, Key>&) const
                                                             ^
../../../src/graph/graph_selectors.hh:114:61: note: deduced return type only available with -std=c++14 or -std=gnu++14
../../../src/graph/graph_selectors.hh:121:72: error: 'get_in_degree' function uses 'auto' type specifier without trailing return type
                        const Graph& g, std::true_type, Weight& weight) const
                                                                        ^
../../../src/graph/graph_selectors.hh:121:72: note: deduced return type only available with -std=c++14 or -std=gnu++14
../../../src/graph/graph_selectors.hh:134:66: error: 'get_in_degree' function uses 'auto' type specifier without trailing return type
                        const Graph&, std::false_type, Weight&&)  const
                                                                  ^
../../../src/graph/graph_selectors.hh:134:66: note: deduced return type only available with -std=c++14 or -std=gnu++14
../../../src/graph/graph_selectors.hh:149:37: error: 'operator()' function uses 'auto' type specifier without trailing return type
                     const Graph& g) const
                                     ^
../../../src/graph/graph_selectors.hh:149:37: note: deduced return type only available with -std=c++14 or -std=gnu++14
../../../src/graph/graph_selectors.hh:157:54: error: 'operator()' function uses 'auto' type specifier without trailing return type
                     const Graph& g, Weight&& weight) const
                                                      ^
../../../src/graph/graph_selectors.hh:157:54: note: deduced return type only available with -std=c++14 or -std=gnu++14
../../../src/graph/graph_selectors.hh:165:72: error: 'get_out_degree' function uses 'auto' type specifier without trailing return type
                         const ConstantPropertyMap<Value, Key>& weight) const
                                                                        ^
../../../src/graph/graph_selectors.hh:165:72: note: deduced return type only available with -std=c++14 or -std=gnu++14
../../../src/graph/graph_selectors.hh:173:62: error: 'get_out_degree' function uses 'auto' type specifier without trailing return type
                         const UnityPropertyMap<Value, Key>&) const
                                                              ^
../../../src/graph/graph_selectors.hh:173:62: note: deduced return type only available with -std=c++14 or -std=gnu++14
../../../src/graph/graph_selectors.hh:181:63: error: 'get_out_degree' function uses 'auto' type specifier without trailing return type
                         const Graph& g, const Weight& weight) const
                                                               ^
../../../src/graph/graph_selectors.hh:181:63: note: deduced return type only available with -std=c++14 or -std=gnu++14
../../../src/graph/graph_selectors.hh:194:61: error: 'get_out_degree' function uses 'auto' type specifier without trailing return type
                         const Graph& g, detail::no_weightS) const
                                                             ^
../../../src/graph/graph_selectors.hh:194:61: note: deduced return type only available with -std=c++14 or -std=gnu++14
../../../src/graph/graph_selectors.hh:208:37: error: 'operator()' function uses 'auto' type specifier without trailing return type
                     const Graph& g) const
                                     ^
../../../src/graph/graph_selectors.hh:208:37: note: deduced return type only available with -std=c++14 or -std=gnu++14
../../../src/graph/graph_selectors.hh:216:54: error: 'operator()' function uses 'auto' type specifier without trailing return type
                     const Graph& g, Weight&& weight) const
                                                      ^
../../../src/graph/graph_selectors.hh:216:54: note: deduced return type only available with -std=c++14 or -std=gnu++14
../../../src/graph/graph_selectors.hh:229:44: error: 'get_total_degree' function uses 'auto' type specifier without trailing return type
                           Weight&& weight) const
                                            ^
../../../src/graph/graph_selectors.hh:229:44: note: deduced return type only available with -std=c++14 or -std=gnu++14
../../../src/graph/graph_selectors.hh:238:77: error: 'get_total_degree' function uses 'auto' type specifier without trailing return type
                           const Graph& g, std::false_type, Weight&& weight) const
                                                                             ^
../../../src/graph/graph_selectors.hh:238:77: note: deduced return type only available with -std=c++14 or -std=gnu++14
../../../src/graph/graph_selectors.hh:255:56: error: 'operator()' function uses 'auto' type specifier without trailing return type
     auto operator()(const Descriptor& d, const Graph&) const
                                                        ^
../../../src/graph/graph_selectors.hh:255:56: note: deduced return type only available with -std=c++14 or -std=gnu++14
../../../src/graph/graph_selectors.hh:540:44: error: 'mk_range' function uses 'auto' type specifier without trailing return type
 auto mk_range(std::pair<Iter, Iter>&& range)
                                            ^
../../../src/graph/graph_selectors.hh:540:44: note: deduced return type only available with -std=c++14 or -std=gnu++14
../../../src/graph/graph_selectors.hh:547:35: error: 'vertices_range' function uses 'auto' type specifier without trailing return type
 auto vertices_range(const Graph& g)
                                   ^
../../../src/graph/graph_selectors.hh:547:35: note: deduced return type only available with -std=c++14 or -std=gnu++14
../../../src/graph/graph_selectors.hh:554:32: error: 'edges_range' function uses 'auto' type specifier without trailing return type
 auto edges_range(const Graph& g)
                                ^
../../../src/graph/graph_selectors.hh:554:32: note: deduced return type only available with -std=c++14 or -std=gnu++14
../../../src/graph/graph_selectors.hh:562:44: error: 'adjacent_vertices_range' function uses 'auto' type specifier without trailing return type
                              const Graph& g)
                                            ^
../../../src/graph/graph_selectors.hh:562:44: note: deduced return type only available with -std=c++14 or -std=gnu++14
../../../src/graph/graph_selectors.hh:570:36: error: 'out_edges_range' function uses 'auto' type specifier without trailing return type
                      const Graph& g)
                                    ^
../../../src/graph/graph_selectors.hh:570:36: note: deduced return type only available with -std=c++14 or -std=gnu++14
../../../src/graph/graph_selectors.hh:578:41: error: 'out_neighbours_range' function uses 'auto' type specifier without trailing return type
                           const Graph& g)
                                         ^
../../../src/graph/graph_selectors.hh:578:41: note: deduced return type only available with -std=c++14 or -std=gnu++14
../../../src/graph/graph_selectors.hh:587:35: error: 'in_edges_range' function uses 'auto' type specifier without trailing return type
                     const Graph& g)
                                   ^
../../../src/graph/graph_selectors.hh:587:35: note: deduced return type only available with -std=c++14 or -std=gnu++14
../../../src/graph/graph_selectors.hh:595:40: error: 'in_neighbours_range' function uses 'auto' type specifier without trailing return type
                          const Graph& g)
                                        ^
../../../src/graph/graph_selectors.hh:595:40: note: deduced return type only available with -std=c++14 or -std=gnu++14
../../../src/graph/graph_selectors.hh:604:36: error: 'all_edges_range' function uses 'auto' type specifier without trailing return type
                      const Graph& g)
                                    ^
../../../src/graph/graph_selectors.hh:604:36: note: deduced return type only available with -std=c++14 or -std=gnu++14
../../../src/graph/graph_selectors.hh:612:41: error: 'all_neighbours_range' function uses 'auto' type specifier without trailing return type
                           const Graph& g)
                                         ^
../../../src/graph/graph_selectors.hh:612:41: note: deduced return type only available with -std=c++14 or -std=gnu++14
../../../src/graph/graph_selectors.hh:620:42: error: 'in_or_out_edges_range' function uses 'auto' type specifier without trailing return type
                            const Graph& g)
                                          ^
../../../src/graph/graph_selectors.hh:620:42: note: deduced return type only available with -std=c++14 or -std=gnu++14
../../../src/graph/graph_selectors.hh:628:47: error: 'in_or_out_neighbours_range' function uses 'auto' type specifier without trailing return type
                                 const Graph& g)
                                               ^
../../../src/graph/graph_selectors.hh:628:47: note: deduced return type only available with -std=c++14 or -std=gnu++14
Makefile:505: recipe for target 'graph_tree_cts.lo' failed
make[4]: *** [graph_tree_cts.lo] Error 1
make[4]: *** Waiting for unfinished jobs....
In file included from ../../../src/graph/graph_filtering.hh:50:0,
                 from graph_cairo_draw.cc:22:
../../../src/graph/graph_util.hh:205:51: error: 'get_dir' function uses 'auto' type specifier without trailing return type
 const auto& get_dir(const Graph& g, std::true_type)
                                                   ^
../../../src/graph/graph_util.hh:205:51: note: deduced return type only available with -std=c++14 or -std=gnu++14
../../../src/graph/graph_util.hh:209:52: error: 'get_dir' function uses 'auto' type specifier without trailing return type
 const auto& get_dir(const Graph& g, std::false_type)
                                                    ^
../../../src/graph/graph_util.hh:209:52: note: deduced return type only available with -std=c++14 or -std=gnu++14
../../../src/graph/graph_util.hh:214:29: error: 'get_dir' function uses 'auto' type specifier without trailing return type
              std::false_type)
                             ^
../../../src/graph/graph_util.hh:214:29: note: deduced return type only available with -std=c++14 or -std=gnu++14
../../../src/graph/graph_util.hh: In function 'void graph_tool::parallel_edge_loop_no_spawn(const Graph&, F&&)':
../../../src/graph/graph_util.hh:232:13: error: use of 'auto' in lambda parameter declaration only available with -std=c++14 or -std=gnu++14
         [&](auto v)
             ^
In file included from ../../../src/graph/graph_filtering.hh:51:0,
                 from graph_cairo_draw.cc:22:
../../../src/graph/mpl_nested_loop.hh: At global scope:
../../../src/graph/mpl_nested_loop.hh:104:24: error: 'std::index_sequence' has not been declared
     void dispatch(std::index_sequence<Idx...>, Ts*...) const
                        ^
../../../src/graph/mpl_nested_loop.hh:104:38: error: expected ',' or '...' before '<' token
     void dispatch(std::index_sequence<Idx...>, Ts*...) const
                                      ^
../../../src/graph/mpl_nested_loop.hh: In member function 'void boost::mpl::all_any_cast<Action, N>::operator()(Ts* ...) const':
../../../src/graph/mpl_nested_loop.hh:77:18: error: 'make_index_sequence' is not a member of 'std'
         dispatch(std::make_index_sequence<sizeof...(Ts)>(), vs...);
                  ^
../../../src/graph/mpl_nested_loop.hh:77:58: error: expected primary-expression before ')' token
         dispatch(std::make_index_sequence<sizeof...(Ts)>(), vs...);
                                                          ^
../../../src/graph/mpl_nested_loop.hh: In member function 'void boost::mpl::for_each_variadic<F, std::tuple<_Elements ...> >::operator()(F)':
../../../src/graph/mpl_nested_loop.hh:129:25: error: use of 'auto' in lambda parameter declaration only available with -std=c++14 or -std=gnu++14
         auto call = [&](auto&& arg){f(std::forward<decltype(arg)>(arg)); return 0;};
                         ^
In file included from graph_cairo_draw.cc:22:0:
../../../src/graph/graph_filtering.hh: At global scope:
../../../src/graph/graph_filtering.hh:384:38: error: 'uncheck' function uses 'auto' type specifier without trailing return type
                   boost::mpl::true_) const
                                      ^
../../../src/graph/graph_filtering.hh:384:38: note: deduced return type only available with -std=c++14 or -std=gnu++14
../../../src/graph/graph_filtering.hh:391:38: error: 'uncheck' function uses 'auto' type specifier without trailing return type
                  boost::mpl::false_) const
                                      ^
../../../src/graph/graph_filtering.hh:391:38: note: deduced return type only available with -std=c++14 or -std=gnu++14
../../../src/graph/graph_filtering.hh:397:56: error: 'uncheck' function uses 'auto' type specifier without trailing return type
     auto uncheck(scalarS<Type>& a, boost::mpl::false_) const
                                                        ^
../../../src/graph/graph_filtering.hh:397:56: note: deduced return type only available with -std=c++14 or -std=gnu++14
../../../src/graph/graph_filtering.hh:408:30: error: 'deference' function uses 'auto' type specifier without trailing return type
     auto& deference(Type* a) const
                              ^
../../../src/graph/graph_filtering.hh:408:30: note: deduced return type only available with -std=c++14 or -std=gnu++14
../../../src/graph/graph_filtering.hh:417:56: error: 'deference_dispatch' function uses 'auto' type specifier without trailing return type
     auto& deference_dispatch(Type*& a, std::true_type) const
                                                        ^
../../../src/graph/graph_filtering.hh:417:56: note: deduced return type only available with -std=c++14 or -std=gnu++14
../../../src/graph/graph_filtering.hh:473:57: error: 'operator()' function uses 'auto' type specifier without trailing return type
     auto operator()(GraphInterface& gi, Action a, TRS...)
                                                         ^
../../../src/graph/graph_filtering.hh:473:57: note: deduced return type only available with -std=c++14 or -std=gnu++14
../../../src/graph/graph_filtering.hh: In member function 'auto graph_tool::run_action<GraphViews, Wrap>::operator()(graph_tool::GraphInterface&, Action, TRS ...)':
../../../src/graph/graph_filtering.hh:476:37: error: use of 'auto' in lambda parameter declaration only available with -std=c++14 or -std=gnu++14
         auto wrap = [dispatch, &gi](auto&&... args) { dispatch(gi.get_graph_view(), args...); };
                                     ^
../../../src/graph/graph_filtering.hh:476:47: error: expansion pattern 'int&&' contains no argument packs
         auto wrap = [dispatch, &gi](auto&&... args) { dispatch(gi.get_graph_view(), args...); };
                                               ^
../../../src/graph/graph_filtering.hh: In lambda function:
../../../src/graph/graph_filtering.hh:476:85: error: 'args' was not declared in this scope
         auto wrap = [dispatch, &gi](auto&&... args) { dispatch(gi.get_graph_view(), args...); };
                                                                                     ^
../../../src/graph/graph_filtering.hh: At global scope:
../../../src/graph/graph_filtering.hh:485:37: error: 'operator()' function uses 'auto' type specifier without trailing return type
     auto operator()(Action a, TRS...)
                                     ^
../../../src/graph/graph_filtering.hh:485:37: note: deduced return type only available with -std=c++14 or -std=gnu++14
../../../src/graph/graph_filtering.hh:551:80: error: 'add_vertex' function uses 'auto' type specifier without trailing return type
                              graph_tool::detail::MaskFilter<VertexProperty>>& g)
                                                                                ^
../../../src/graph/graph_filtering.hh:551:80: note: deduced return type only available with -std=c++14 or -std=gnu++14
../../../src/graph/graph_filtering.hh:564:91: error: 'add_edge' function uses 'auto' type specifier without trailing return type
                                         graph_tool::detail::MaskFilter<VertexProperty>>& g)
                                                                                           ^
../../../src/graph/graph_filtering.hh:564:91: note: deduced return type only available with -std=c++14 or -std=gnu++14
graph_cairo_draw.cc: In function 'boost::python::api::object cairo_draw(graph_tool::GraphInterface&, boost::any, boost::any, boost::any, bool, boost::python::dict, boost::python::dict, boost::python::dict, boost::python::dict, double, int64_t, boost::python::api::object)':
graph_cairo_draw.cc:1798:30: error: use of 'auto' in lambda parameter declaration only available with -std=c++14 or -std=gnu++14
     auto dispatch = [=,&gi] (auto& yield) mutable
                              ^
graph_cairo_draw.cc: In lambda function:
graph_cairo_draw.cc:1810:52: error: invalid use of 'auto'
                                std::ref(edefaults)))();
                                                    ^
graph_cairo_draw.cc:1839:32: error: invalid use of 'auto'
                      vorder_t())(pos, vorder);
                                ^
graph_cairo_draw.cc:1848:28: error: invalid use of 'auto'
                  eorder_t())(pos, eorder);
                            ^
graph_cairo_draw.cc:1859:32: error: invalid use of 'auto'
                      vorder_t())(pos, vorder);
                                ^
graph_cairo_draw.cc: In function 'void apply_transforms(graph_tool::GraphInterface&, boost::any, double, double, double, double, double, double)':
graph_cairo_draw.cc:1889:43: error: invalid use of 'auto'
          vertex_scalar_vector_properties())(pos);
                                           ^
graph_cairo_draw.cc: In function 'void put_parallel_splines(graph_tool::GraphInterface&, boost::any, boost::any, boost::any, boost::any, double)':
graph_cairo_draw.cc:2036:41: error: invalid use of 'auto'
          edge_scalar_vector_properties())(splines);
                                         ^
In file included from ../../../src/graph/graph.hh:28:0,
                 from graph_cairo_draw.cc:18:
../../../src/graph/graph_adjacency.hh: In instantiation of 'boost::adj_list<Vertex>::shrink_to_fit()::<lambda(int)> [with Vertex = long unsigned int]':
../../../src/graph/graph_adjacency.hh:462:54:   required from 'struct boost::adj_list<Vertex>::shrink_to_fit() [with Vertex = long unsigned int]::<lambda(int)>'
../../../src/graph/graph_adjacency.hh:459:39:   required from 'void boost::adj_list<Vertex>::shrink_to_fit() [with Vertex = long unsigned int]'
../../../src/graph/graph.hh:109:47:   required from here
../../../src/graph/graph_adjacency.hh:462:52: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
                                        {return idx > _edge_index_range;});
                                                    ^
In file included from /usr/include/c++/5/algorithm:62:0,
                 from /usr/include/boost/function/detail/prologue.hpp:13,
                 from /usr/include/boost/function/function_template.hpp:13,
                 from /usr/include/boost/function/detail/maybe_include.hpp:13,
                 from /usr/include/boost/function/function0.hpp:11,
                 from /usr/include/boost/python/errors.hpp:13,
                 from /usr/include/boost/python/handle.hpp:11,
                 from /usr/include/boost/python/converter/arg_to_python_base.hpp:7,
                 from /usr/include/boost/python/converter/arg_to_python.hpp:14,
                 from /usr/include/boost/python/call.hpp:15,
                 from /usr/include/boost/python/object_core.hpp:14,
                 from /usr/include/boost/python/object.hpp:9,
                 from ../../../src/graph/graph.hh:23,
                 from graph_cairo_draw.cc:18:
/usr/include/c++/5/bits/stl_algo.h: In instantiation of '_Funct std::for_each(_IIter, _IIter, _Funct) [with _IIter = __gnu_cxx::__normal_iterator<std::pair<long unsigned int, std::vector<std::pair<long unsigned int, long unsigned int>, std::allocator<std::pair<long unsigned int, long unsigned int> > > >*, std::vector<std::pair<long unsigned int, std::vector<std::pair<long unsigned int, long unsigned int>, std::allocator<std::pair<long unsigned int, long unsigned int> > > >, std::allocator<std::pair<long unsigned int, std::vector<std::pair<long unsigned int, long unsigned int>, std::allocator<std::pair<long unsigned int, long unsigned int> > > > > > >; _Funct = boost::adj_list<Vertex>::shrink_to_fit() [with Vertex = long unsigned int]::<lambda(int&)>]':
../../../src/graph/graph_adjacency.hh:449:22:   required from 'void boost::adj_list<Vertex>::shrink_to_fit() [with Vertex = long unsigned int]'
../../../src/graph/graph.hh:109:47:   required from here
/usr/include/c++/5/bits/stl_algo.h:3767:5: error: no match for call to '(boost::adj_list<Vertex>::shrink_to_fit() [with Vertex = long unsigned int]::<lambda(int&)>) (std::pair<long unsigned int, std::vector<std::pair<long unsigned int, long unsigned int>, std::allocator<std::pair<long unsigned int, long unsigned int> > > >&)'
  __f(*__first);
     ^
/usr/include/c++/5/bits/stl_algo.h:3767:5: note: candidate: void (*)(int&) <conversion>
/usr/include/c++/5/bits/stl_algo.h:3767:5: note:   candidate expects 2 arguments, 2 provided
In file included from ../../../src/graph/graph.hh:28:0,
                 from graph_cairo_draw.cc:18:
../../../src/graph/graph_adjacency.hh:450:34: note: candidate: boost::adj_list<Vertex>::shrink_to_fit()::<lambda(int&)> [with Vertex = long unsigned int]
                       [](auto &es){es.second.shrink_to_fit();});
                                  ^
../../../src/graph/graph_adjacency.hh:450:34: note:   no known conversion for argument 1 from 'std::pair<long unsigned int, std::vector<std::pair<long unsigned int, long unsigned int>, std::allocator<std::pair<long unsigned int, long unsigned int> > > >' to 'int&'
In file included from /usr/include/c++/5/bits/stl_algobase.h:71:0,
                 from /usr/include/c++/5/memory:62,
                 from /usr/include/boost/config/no_tr1/memory.hpp:21,
                 from /usr/include/boost/get_pointer.hpp:14,
                 from /usr/include/boost/python/object/pointer_holder.hpp:11,
                 from /usr/include/boost/python/to_python_indirect.hpp:10,
                 from /usr/include/boost/python/converter/arg_to_python.hpp:10,
                 from /usr/include/boost/python/call.hpp:15,
                 from /usr/include/boost/python/object_core.hpp:14,
                 from /usr/include/boost/python/object.hpp:9,
                 from ../../../src/graph/graph.hh:23,
                 from graph_cairo_draw.cc:18:
/usr/include/c++/5/bits/predefined_ops.h: In instantiation of 'bool __gnu_cxx::__ops::_Iter_comp_iter<_Compare>::operator()(_Iterator1, _Iterator2) [with _Iterator1 = boost::adj_list<long unsigned int>::edge_iterator; _Iterator2 = boost::adj_list<long unsigned int>::edge_iterator; _Compare = boost::adj_list<Vertex>::shrink_to_fit() [with Vertex = long unsigned int]::<lambda(const int&, const int&)>]':
/usr/include/c++/5/bits/stl_algo.h:5490:12:   required from '_ForwardIterator std::__max_element(_ForwardIterator, _ForwardIterator, _Compare) [with _ForwardIterator = boost::adj_list<long unsigned int>::edge_iterator; _Compare = __gnu_cxx::__ops::_Iter_comp_iter<boost::adj_list<Vertex>::shrink_to_fit() [with Vertex = long unsigned int]::<lambda(const int&, const int&)> >]'
/usr/include/c++/5/bits/stl_algo.h:5539:43:   required from '_FIter std::max_element(_FIter, _FIter, _Compare) [with _FIter = boost::adj_list<long unsigned int>::edge_iterator; _Compare = boost::adj_list<Vertex>::shrink_to_fit() [with Vertex = long unsigned int]::<lambda(const int&, const int&)>]'
../../../src/graph/graph_adjacency.hh:452:37:   required from 'void boost::adj_list<Vertex>::shrink_to_fit() [with Vertex = long unsigned int]'
../../../src/graph/graph.hh:109:47:   required from here
/usr/include/c++/5/bits/predefined_ops.h:123:46: error: no match for call to '(boost::adj_list<Vertex>::shrink_to_fit() [with Vertex = long unsigned int]::<lambda(const int&, const int&)>) (boost::iterators::detail::iterator_facade_base<boost::adj_list<long unsigned int>::edge_iterator, boost::detail::adj_edge_descriptor<long unsigned int>, boost::iterators::forward_traversal_tag, boost::detail::adj_edge_descriptor<long unsigned int>, long int, false, false>::reference, boost::iterators::detail::iterator_facade_base<boost::adj_list<long unsigned int>::edge_iterator, boost::detail::adj_edge_descriptor<long unsigned int>, boost::iterators::forward_traversal_tag, boost::detail::adj_edge_descriptor<long unsigned int>, long int, false, false>::reference)'
         { return bool(_M_comp(*__it1, *__it2)); }
                                              ^
/usr/include/c++/5/bits/predefined_ops.h:123:46: note: candidate: bool (*)(const int&, const int&) <conversion>
/usr/include/c++/5/bits/predefined_ops.h:123:46: note:   candidate expects 3 arguments, 3 provided
In file included from ../../../src/graph/graph.hh:28:0,
                 from graph_cairo_draw.cc:18:
../../../src/graph/graph_adjacency.hh:453:74: note: candidate: boost::adj_list<Vertex>::shrink_to_fit()::<lambda(const int&, const int&)> [with Vertex = long unsigned int]
                                      [](const auto &a, const auto& b) -> bool
                                                                          ^
../../../src/graph/graph_adjacency.hh:453:74: note:   no known conversion for argument 1 from 'boost::iterators::detail::iterator_facade_base<boost::adj_list<long unsigned int>::edge_iterator, boost::detail::adj_edge_descriptor<long unsigned int>, boost::iterators::forward_traversal_tag, boost::detail::adj_edge_descriptor<long unsigned int>, long int, false, false>::reference {aka boost::detail::adj_edge_descriptor<long unsigned int>}' to 'const int&'
In file included from /usr/include/boost/coroutine/asymmetric_coroutine.hpp:28:0,
                 from /usr/include/boost/coroutine/coroutine.hpp:10,
                 from /usr/include/boost/coroutine/all.hpp:11,
                 from ../../../src/graph/coroutine.hh:34,
                 from graph_cairo_draw.cc:37:
/usr/include/boost/coroutine/detail/pull_coroutine_object.hpp: In instantiation of 'void boost::coroutines::detail::pull_coroutine_object<PushCoro, R, Fn, StackAllocator>::run() [with PushCoro = boost::coroutines::push_coroutine<boost::python::api::object>; R = boost::python::api::object; Fn = cairo_draw(graph_tool::GraphInterface&, boost::any, boost::any, boost::any, bool, boost::python::dict, boost::python::dict, boost::python::dict, boost::python::dict, double, int64_t, boost::python::api::object)::<lambda(int&)>&; StackAllocator = boost::coroutines::basic_standard_stack_allocator<boost::coroutines::stack_traits>]':
/usr/include/boost/coroutine/detail/trampoline_pull.hpp:39:5:   required from 'void boost::coroutines::detail::trampoline_pull(intptr_t) [with Coro = boost::coroutines::detail::pull_coroutine_object<boost::coroutines::push_coroutine<boost::python::api::object>, boost::python::api::object, cairo_draw(graph_tool::GraphInterface&, boost::any, boost::any, boost::any, bool, boost::python::dict, boost::python::dict, boost::python::dict, boost::python::dict, double, int64_t, boost::python::api::object)::<lambda(int&)>&, boost::coroutines::basic_standard_stack_allocator<boost::coroutines::stack_traits> >; intptr_t = long int]'
/usr/include/boost/coroutine/detail/pull_coroutine_object.hpp:46:51:   required from 'boost::coroutines::detail::pull_coroutine_context::pull_coroutine_context(const boost::coroutines::stack_context&, Coro*) [with Coro = boost::coroutines::detail::pull_coroutine_object<boost::coroutines::push_coroutine<boost::python::api::object>, boost::python::api::object, cairo_draw(graph_tool::GraphInterface&, boost::any, boost::any, boost::any, bool, boost::python::dict, boost::python::dict, boost::python::dict, boost::python::dict, double, int64_t, boost::python::api::object)::<lambda(int&)>&, boost::coroutines::basic_standard_stack_allocator<boost::coroutines::stack_traits> >]'
/usr/include/boost/coroutine/detail/pull_coroutine_object.hpp:104:34:   required from 'boost::coroutines::detail::pull_coroutine_object<PushCoro, R, Fn, StackAllocator>::pull_coroutine_object(Fn&&, const boost::coroutines::attributes&, const boost::coroutines::stack_context&, const boost::coroutines::stack_context&, const StackAllocator&) [with PushCoro = boost::coroutines::push_coroutine<boost::python::api::object>; R = boost::python::api::object; Fn = cairo_draw(graph_tool::GraphInterface&, boost::any, boost::any, boost::any, bool, boost::python::dict, boost::python::dict, boost::python::dict, boost::python::dict, double, int64_t, boost::python::api::object)::<lambda(int&)>&; StackAllocator = boost::coroutines::basic_standard_stack_allocator<boost::coroutines::stack_traits>]'
/usr/include/boost/coroutine/asymmetric_coroutine.hpp:537:15:   required from 'boost::coroutines::pull_coroutine<R>::pull_coroutine(Fn&&, const boost::coroutines::attributes&) [with Fn = cairo_draw(graph_tool::GraphInterface&, boost::any, boost::any, boost::any, bool, boost::python::dict, boost::python::dict, boost::python::dict, boost::python::dict, double, int64_t, boost::python::api::object)::<lambda(int&)>&; R = boost::python::api::object]'
/usr/include/c++/5/ext/new_allocator.h:120:4:   required from 'void __gnu_cxx::new_allocator<_Tp>::construct(_Up*, _Args&& ...) [with _Up = boost::coroutines::pull_coroutine<boost::python::api::object>; _Args = {cairo_draw(graph_tool::GraphInterface&, boost::any, boost::any, boost::any, bool, boost::python::dict, boost::python::dict, boost::python::dict, boost::python::dict, double, int64_t, boost::python::api::object)::<lambda(int&)>&}; _Tp = boost::coroutines::pull_coroutine<boost::python::api::object>]'
/usr/include/c++/5/bits/alloc_traits.h:530:4:   required from 'static void std::allocator_traits<std::allocator<_Tp1> >::construct(std::allocator_traits<std::allocator<_Tp1> >::allocator_type&, _Up*, _Args&& ...) [with _Up = boost::coroutines::pull_coroutine<boost::python::api::object>; _Args = {cairo_draw(graph_tool::GraphInterface&, boost::any, boost::any, boost::any, bool, boost::python::dict, boost::python::dict, boost::python::dict, boost::python::dict, double, int64_t, boost::python::api::object)::<lambda(int&)>&}; _Tp = boost::coroutines::pull_coroutine<boost::python::api::object>; std::allocator_traits<std::allocator<_Tp1> >::allocator_type = std::allocator<boost::coroutines::pull_coroutine<boost::python::api::object> >]'
/usr/include/c++/5/bits/shared_ptr_base.h:522:39:   required from 'std::_Sp_counted_ptr_inplace<_Tp, _Alloc, _Lp>::_Sp_counted_ptr_inplace(_Alloc, _Args&& ...) [with _Args = {cairo_draw(graph_tool::GraphInterface&, boost::any, boost::any, boost::any, bool, boost::python::dict, boost::python::dict, boost::python::dict, boost::python::dict, double, int64_t, boost::python::api::object)::<lambda(int&)>&}; _Tp = boost::coroutines::pull_coroutine<boost::python::api::object>; _Alloc = std::allocator<boost::coroutines::pull_coroutine<boost::python::api::object> >; __gnu_cxx::_Lock_policy _Lp = (__gnu_cxx::_Lock_policy)2u]'
/usr/include/c++/5/bits/shared_ptr_base.h:617:4:   required from 'std::__shared_count<_Lp>::__shared_count(std::_Sp_make_shared_tag, _Tp*, const _Alloc&, _Args&& ...) [with _Tp = boost::coroutines::pull_coroutine<boost::python::api::object>; _Alloc = std::allocator<boost::coroutines::pull_coroutine<boost::python::api::object> >; _Args = {cairo_draw(graph_tool::GraphInterface&, boost::any, boost::any, boost::any, bool, boost::python::dict, boost::python::dict, boost::python::dict, boost::python::dict, double, int64_t, boost::python::api::object)::<lambda(int&)>&}; __gnu_cxx::_Lock_policy _Lp = (__gnu_cxx::_Lock_policy)2u]'
/usr/include/c++/5/bits/shared_ptr_base.h:1097:35:   required from 'std::__shared_ptr<_Tp, _Lp>::__shared_ptr(std::_Sp_make_shared_tag, const _Alloc&, _Args&& ...) [with _Alloc = std::allocator<boost::coroutines::pull_coroutine<boost::python::api::object> >; _Args = {cairo_draw(graph_tool::GraphInterface&, boost::any, boost::any, boost::any, bool, boost::python::dict, boost::python::dict, boost::python::dict, boost::python::dict, double, int64_t, boost::python::api::object)::<lambda(int&)>&}; _Tp = boost::coroutines::pull_coroutine<boost::python::api::object>; __gnu_cxx::_Lock_policy _Lp = (__gnu_cxx::_Lock_policy)2u]'
/usr/include/c++/5/bits/shared_ptr.h:319:64:   required from 'std::shared_ptr<_Tp>::shared_ptr(std::_Sp_make_shared_tag, const _Alloc&, _Args&& ...) [with _Alloc = std::allocator<boost::coroutines::pull_coroutine<boost::python::api::object> >; _Args = {cairo_draw(graph_tool::GraphInterface&, boost::any, boost::any, boost::any, bool, boost::python::dict, boost::python::dict, boost::python::dict, boost::python::dict, double, int64_t, boost::python::api::object)::<lambda(int&)>&}; _Tp = boost::coroutines::pull_coroutine<boost::python::api::object>]'
/usr/include/c++/5/bits/shared_ptr.h:620:39:   required from 'std::shared_ptr<_Tp1> std::allocate_shared(const _Alloc&, _Args&& ...) [with _Tp = boost::coroutines::pull_coroutine<boost::python::api::object>; _Alloc = std::allocator<boost::coroutines::pull_coroutine<boost::python::api::object> >; _Args = {cairo_draw(graph_tool::GraphInterface&, boost::any, boost::any, boost::any, bool, boost::python::dict, boost::python::dict, boost::python::dict, boost::python::dict, double, int64_t, boost::python::api::object)::<lambda(int&)>&}]'
/usr/include/c++/5/bits/shared_ptr.h:635:39:   required from 'std::shared_ptr<_Tp1> std::make_shared(_Args&& ...) [with _Tp = boost::coroutines::pull_coroutine<boost::python::api::object>; _Args = {cairo_draw(graph_tool::GraphInterface&, boost::any, boost::any, boost::any, bool, boost::python::dict, boost::python::dict, boost::python::dict, boost::python::dict, double, int64_t, boost::python::api::object)::<lambda(int&)>&}]'
../../../src/graph/graph_python_interface.hh:93:52:   required from 'graph_tool::CoroGenerator::CoroGenerator(Dispatch&) [with Dispatch = cairo_draw(graph_tool::GraphInterface&, boost::any, boost::any, boost::any, bool, boost::python::dict, boost::python::dict, boost::python::dict, boost::python::dict, double, int64_t, boost::python::api::object)::<lambda(int&)>]'
graph_cairo_draw.cc:1862:56:   required from here
/usr/include/boost/coroutine/detail/pull_coroutine_object.hpp:118:11: error: no match for call to '(cairo_draw(graph_tool::GraphInterface&, boost::any, boost::any, boost::any, bool, boost::python::dict, boost::python::dict, boost::python::dict, boost::python::dict, double, int64_t, boost::python::api::object)::<lambda(int&)>) (boost::coroutines::push_coroutine<boost::python::api::object>&)'
         { fn_( push_coro); }
           ^
graph_cairo_draw.cc:1798:43: note: candidate: cairo_draw(graph_tool::GraphInterface&, boost::any, boost::any, boost::any, bool, boost::python::dict, boost::python::dict, boost::python::dict, boost::python::dict, double, int64_t, boost::python::api::object)::<lambda(int&)> mutable
     auto dispatch = [=,&gi] (auto& yield) mutable
                                           ^
graph_cairo_draw.cc:1798:43: note:   no known conversion for argument 1 from 'boost::coroutines::push_coroutine<boost::python::api::object>' to 'int&'
Makefile:505: recipe for target 'graph_cairo_draw.lo' failed
make[4]: Leaving directory '/src/graph-tool-2.22/src/graph/draw'
make[4]: *** [graph_cairo_draw.lo] Error 1
Makefile:739: recipe for target 'all-recursive' failed
make[3]: *** [all-recursive] Error 1
make[3]: Leaving directory '/src/graph-tool-2.22/src/graph'
Makefile:418: recipe for target 'all-recursive' failed
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory '/src/graph-tool-2.22/src'
Makefile:590: recipe for target 'all-recursive' failed
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory '/src/graph-tool-2.22'
make: *** [all] Error 2
Makefile:477: recipe for target 'all' failed
The command '/bin/sh -c make -j 2' returned a non-zero code: 2
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Graph-tool with Docker

Tiago Peixoto
Administrator
On 23.06.2017 16:09, Evangelos Petsalis wrote:
> I downloaded the docker image with GT and although it does work fine it does
> not seem to have apt-get installed.

It is based on Arch (which uses pacman), not Debian/Ubuntu (which uses apt-get).

> So I tried to create my own docker image
> based on Ubuntu 16.04 by compiling GT.

Why would you do that, instead of using the available Ubuntu packages?

> The compilation works fine, until it
> reaches file "graph_tree_cts.lo" and then it fails miserably.
>
> Any idea why this is happening?

The problem is a bug in the cairomm Ubuntu package that forces the
activation of C++11, when graph-tool needs C++14:

Cairomm CPP flags:      -std=c++11 -I/usr/include/cairomm-1.0
-I/usr/lib/x86_64-linux-gnu/cairomm-1.0/include -I/usr/include/cairo
-I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include
-I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng12
-I/usr/include/sigc++-2.0 -I/usr/lib/x86_64-linux-gnu/sigc++-2.0/include
Cairomm LD flags:       -lcairomm-1.0 -lcairo -lsigc-2.0

You need to pass the following to the configure script:

CAIROMM_CFLAGS="-I/usr/include/cairomm-1.0
-I/usr/lib/x86_64-linux-gnu/cairomm-1.0/include -I/usr/include/cairo
-I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include
-I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng12
-I/usr/include/sigc++-2.0 -I/usr/lib/x86_64-linux-gnu/sigc++-2.0/include"

> Alternatively, would it be easy to post the
> Dockerfile that you used for creating your image, so we can use that as a
> basis for our own custom version?

I've put a link to it in the documentation.

Best,
Tiago

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


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

signature.asc (849 bytes) Download Attachment
--
Tiago de Paula Peixoto <tiago@skewed.de>
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Graph-tool with Docker

matthewcampbell
This post has NOT been accepted by the mailing list yet.
So the docker file is not in the source code git repo or in the documentation. Can you please just add the "Dockerfile" to the main repo. Thanks bunch!

~Matt
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Graph-tool with Docker

matthewcampbell
In reply to this post by Tiago Peixoto
So the docker file is not in the source code git repo or in the documentation. Can you please just add the "Dockerfile" to the main repo. Thanks bunch!

~Matt
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Graph-tool with Docker

Tiago Peixoto
Administrator
On 26.07.2017 17:10, matthewcampbell wrote:
> So the docker file is not in the source code git repo or in the
> documentation. Can you please just add the "Dockerfile" to the main repo.

No, this is distribution related stuff, and does not belong to the main
repository.

As I already mentioned, I already put a link to it in the wiki:

https://git.skewed.de/count0/graph-tool/wikis/Installation-instructions

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


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

signature.asc (849 bytes) Download Attachment
--
Tiago de Paula Peixoto <tiago@skewed.de>
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Graph-tool with Docker

matthewcampbell
So that is to pull the docket image. I would like the source to the original Dockerfile which is not included on that wiki page 

On Wed, Jul 26, 2017 at 11:15 PM Tiago Peixoto [via Main discussion list for the graph-tool project] <[hidden email]> wrote:
On 26.07.2017 17:10, matthewcampbell wrote:
> So the docker file is not in the source code git repo or in the
> documentation. Can you please just add the "Dockerfile" to the main repo.

No, this is distribution related stuff, and does not belong to the main
repository.

As I already mentioned, I already put a link to it in the wiki:

https://git.skewed.de/count0/graph-tool/wikis/Installation-instructions

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


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

signature.asc (849 bytes) Download Attachment
--
Tiago de Paula Peixoto <[hidden email]>


If you reply to this email, your message will be added to the discussion below:
To unsubscribe from Graph-tool with Docker, click here.
NAML
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Graph-tool with Docker

Tiago Peixoto
Administrator
On 26.07.2017 17:42, matthewcampbell wrote:
> So that is to pull the docket image. I would like the source to the original
> Dockerfile which is not included on that wiki page

Yes it is, just read it.

Here is the link for you:

    https://git.skewed.de/count0/graph-tool/uploads/00c2a28d546e72589c83f163127cf3a7/Dockerfile


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


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

signature.asc (849 bytes) Download Attachment
--
Tiago de Paula Peixoto <tiago@skewed.de>
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Graph-tool with Docker

matthewcampbell
thanks a lot!

On Wed, Jul 26, 2017 at 11:45 PM, Tiago Peixoto [via Main discussion list for the graph-tool project] <[hidden email]> wrote:
On 26.07.2017 17:42, matthewcampbell wrote:
> So that is to pull the docket image. I would like the source to the original
> Dockerfile which is not included on that wiki page

Yes it is, just read it.

Here is the link for you:

    https://git.skewed.de/count0/graph-tool/uploads/00c2a28d546e72589c83f163127cf3a7/Dockerfile


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


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

signature.asc (849 bytes) Download Attachment
--
Tiago de Paula Peixoto <[hidden email]>



If you reply to this email, your message will be added to the discussion below:
http://main-discussion-list-for-the-graph-tool-project.982480.n3.nabble.com/Graph-tool-with-Docker-tp4027269p4027316.html
To unsubscribe from Graph-tool with Docker, click here.
NAML

Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Graph-tool with Docker

Evangelos Petsalis
In reply to this post by Tiago Peixoto

Matt,


Here is another Dockerfile, if you need to have Graphtool on Ubuntu. 


Regards,

Vaggelis


FROM ubuntu:xenial

RUN apt-get update

USER root

RUN echo "deb http://downloads.skewed.de/apt/xenial xenial universe" >> /etc/apt/sources.list

RUN echo "deb-src http://downloads.skewed.de/apt/xenial xenial universe" >> /etc/apt/sources.list

 

RUN apt-get update

 

RUN apt-key adv --keyserver pgp.skewed.de --recv-key 612DEFB798507F25

 

RUN apt-key list

RUN cat /etc/apt/sources.list

 

RUN apt-get update

RUN apt-get -y --allow-unauthenticated install python3-graph-tool

RUN apt-get -y --allow-unauthenticated install python3-pip

RUN pip3 install pandas

RUN pip3 install pyproj

RUN pip3 install mpmath

RUN pip3 install cffi

RUN pip3 install cairocffi

RUN apt-get -y install libcanberra-gtk3-module


On Wed, Jul 26, 2017 at 9:14 AM, Tiago de Paula Peixoto <[hidden email]> wrote:
On <a href="tel:26.07.2017%2017" value="+12607201717">26.07.2017 17:10, matthewcampbell wrote:
> So the docker file is not in the source code git repo or in the
> documentation. Can you please just add the "Dockerfile" to the main repo.

No, this is distribution related stuff, and does not belong to the main
repository.

As I already mentioned, I already put a link to it in the wiki:

https://git.skewed.de/count0/graph-tool/wikis/Installation-instructions

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


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



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