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
--
View this message in context: http://main-discussion-list-for-the-graph-tool-project.982480.n3.nabble.com…
Sent from the Main discussion list for the graph-tool project mailing list archive at Nabble.com.
Hi all,
I was looking for a way to prevent adding of parallel edges in the graph
i.e. I would like to create a graph that is not a multigraph. Now I do that
manually but that is quite prone to bugs.
Is this possible to do this with graph tool in any way?
The option I would like is the one like the option that boost graph has
i.e. graph_traits<adjacency_list>::edge_parallel_category
that can be found on:
http://www.boost.org/doc/libs/develop/libs/graph/doc/adjacency_list.html
Thanks!
Aleks
I have a laptop with 8GB RAM and 6GB swap yet when I try to make graph-tool
it always runs out of RAM while compiling graph_blockmodel.hh:236:2
If I try with GCC it gives usually is killed but sometimes restarts the
computer, if I try with clang it restarts the computer.
I'm using Solus as my distro.
--
View this message in context: http://main-discussion-list-for-the-graph-tool-project.982480.n3.nabble.com…
Sent from the Main discussion list for the graph-tool project mailing list archive at Nabble.com.
Hi All,
I am new to Graph-tool and learning the basic operation on the Graph. The
below command confused me a lot.
---------------------------------------------
Python 3.5.2 (default, Nov 17 2016, 17:05:23)
[GCC 5.4.0 20160609] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> from graph_tool.all import *
Failed to connect to Mir: Failed to connect to server socket: No such file
or directory
Unable to init server: Could not connect: Connection refused
Failed to connect to Mir: Failed to connect to server socket: No such file
or directory
Unable to init server: Could not connect: Connection refused
>>> G=Graph(directed=False)
>>> G.add_vertex()
<Vertex object with index '0' at 0x7f70714a00f0>
>>> G.add_vertex()
<Vertex object with index '1' at 0x7f70714a0210>
>>> G.add_vertex()
<Vertex object with index '2' at 0x7f70714a00f0>
>>> G.add_vertex()
<Vertex object with index '3' at 0x7f70714a0210>
>>> G.add_vertex()
<Vertex object with index '4' at 0x7f70714a00f0>
>>> G.add_vertex()
<Vertex object with index '5' at 0x7f70714a0210>
>>> G.add_vertex()
<Vertex object with index '6' at 0x7f70714a00f0>
>>> G.add_edge(1,2)
<Edge object with source '1' and target '2' at 0x7f7085fca9d0>
>>> print(G)
<Graph object, undirected, with 7 vertices and 1 edge at 0x7f70967c5400>
>>> G.clear_vertex(1)
>>> print(G)
<Graph object, undirected, with 7 vertices and 1 edge at 0x7f70967c5400>
>>> G.clear_vertex(2)
>>> print(G)
<Graph object, undirected, with 7 vertices and 1 edge at 0x7f70967c5400>
---------------------------------------------
I know the clear_vertex is to clear all edges related with the Vertex. But
after executing the clear_vertex, it seems that the Graph still contains 1
edge created before. Will I need to revise my code ?
I post the same on the stackoverflow
https://stackoverflow.com/questions/45031315/the-basic-usage-in-the-graph-t…
Thank you,
Best Regards.
--
View this message in context: http://main-discussion-list-for-the-graph-tool-project.982480.n3.nabble.com…
Sent from the Main discussion list for the graph-tool project mailing list archive at Nabble.com.
Hi all,
I recently started tinkering with the animation examples in the cookbook and
permanently run into segmentation fault 11 errors when passing offscreen to
any of the example scripts. It appears to be somehow similar to an issue
raised about two years ago
(http://main-discussion-list-for-the-graph-tool-project.982480.n3.nabble.com…).
However, I cannot find a solution and would be extremely greatful for any
hints to a solution for this error. Might it be related to me using python
3.6 instead of 2.7?
For the sake of example I used the animation_dancing.py script (and just
changed python to python3).
I use:
graph_tool: 2.23dev
boost: 1.63
gcc: 4.2.1
openmp: True
When calling ./animation_dancing.py offscreen the script causes a segfault.
Apparently when calling show_all at line:
108 win.show_all()
Thanks in advance for any help!
Best,
marcus
P.S. The back trace of the error and the show_config information of
graph_tool:
lldb back trace:
* thread #1: tid = 0x26ef9, 0x00007fff91beb0e9 libobjc.A.dylib`objc_msgSend
+ 41, queue = 'com.apple.main-thread', stop reason = EXC_BAD_ACCESS
(code=EXC_I386_GPFLT)
* frame #0: 0x00007fff91beb0e9 libobjc.A.dylib`objc_msgSend + 41
frame #1: 0x000000011b45ab16 libgtk-3.0.dylib`register_types + 30
frame #2: 0x00000001168943f6 libgobject-2.0.0.dylib`g_closure_invoke +
262
frame #3: 0x00000001168a93cf
libgobject-2.0.0.dylib`signal_emit_unlocked_R + 1783
frame #4: 0x00000001168aa022 libgobject-2.0.0.dylib`g_signal_emit_valist
+ 1876
frame #5: 0x00000001168aa6f2 libgobject-2.0.0.dylib`g_signal_emit + 134
frame #6: 0x000000011b4368a1 libgtk-3.0.dylib`gtk_widget_realize + 292
frame #7: 0x000000011b4366f7 libgtk-3.0.dylib`gtk_widget_map + 95
frame #8: 0x000000011b33c952 libgtk-3.0.dylib`gtk_offscreen_window_show
+ 59
frame #9: 0x00000001168943f6 libgobject-2.0.0.dylib`g_closure_invoke +
262
frame #10: 0x00000001168a91bd
libgobject-2.0.0.dylib`signal_emit_unlocked_R + 1253
frame #11: 0x00000001168aa022
libgobject-2.0.0.dylib`g_signal_emit_valist + 1876
frame #12: 0x00000001168aa6f2 libgobject-2.0.0.dylib`g_signal_emit + 134
frame #13: 0x000000011b4361f2 libgtk-3.0.dylib`gtk_widget_show + 152
frame #14: 0x00000001169d692c libffi.6.dylib`ffi_call_unix64 + 76
frame #15: 0x00000001169d6289 libffi.6.dylib`ffi_call + 877
frame #16: 0x000000011682b40a
_gi.cpython-36m-darwin.so`pygi_invoke_c_callable + 1842
frame #17: 0x000000011682c170
_gi.cpython-36m-darwin.so`pygi_function_cache_invoke + 53
frame #18: 0x000000011682393d
_gi.cpython-36m-darwin.so`_callable_info_call + 142
frame #19: 0x000000010000ece6 Python`_PyObject_FastCallDict + 163
frame #20: 0x00000001000b45ee Python`call_function + 194
frame #21: 0x00000001000b1be6 Python`_PyEval_EvalFrameDefault + 26611
frame #22: 0x00000001000b4ea4 Python`_PyEval_EvalCodeWithName + 1798
frame #23: 0x00000001000ab34a Python`PyEval_EvalCode + 100
frame #24: 0x00000001000d435d Python`run_mod + 58
frame #25: 0x00000001000d4634 Python`PyRun_FileExFlags + 178
frame #26: 0x00000001000d3c92 Python`PyRun_SimpleFileExFlags + 469
frame #27: 0x00000001000e7eb6 Python`Py_Main + 3482
frame #28: 0x0000000100001e01 Python`___lldb_unnamed_function1$$Python +
234
frame #29: 0x00007fff9185a5c9 libdyld.dylib`start + 1
frame #30: 0x00007fff9185a5c9 libdyld.dylib`start + 1
graph_tool.show_config()
version: 2.23dev (commit eb99e19a, Sun Mar 12 14:31:47 2017 +0000)
gcc version: 4.2.1
compilation flags: -DNDEBUG -I/usr/local/opt/llvm/include -fopenmp -O3
-fvisibility=default -fvisibility-inlines-hidden -Wno-deprecated -Wall
-Wextra -ftemplate-backtrace-limit=0 -L/usr/local/opt/llvm/lib
-Wl,-rpath,/usr/local/opt/llvm/lib
install prefix: /usr/local
python dir:
/usr/local/Cellar/python3/3.6.0_1/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages
graph filtering: True
openmp: True
uname: Darwin XXXXXX.local 14.5.0 Darwin Kernel Version 14.5.0: Tue Apr 11
16:12:42 PDT 2017; root:xnu-2782.50.9.2.3~1/RELEASE_X86_64 x86_64
--
View this message in context: http://main-discussion-list-for-the-graph-tool-project.982480.n3.nabble.com…
Sent from the Main discussion list for the graph-tool project mailing list archive at Nabble.com.
Hi
Graph Tool looks like a great comprehensive library. I am very new to it and
sorry, in advance, if this question or something similar has been answered
before. I had a good search and couldn't find a solution.
I am creating directed graphs and would like to search those graphs for
subgraphs that have corresponding labels on their vertices and edges. I then
would like to cut those subgraphs out, potentially make additional copies,
then paste those subgraphs attached by edges to different vertices of the
remain graph.
So for example in the following code:
I would like to take subgraphs of g1 that match h including edge labels. I
know i can find these subgraphs using:
I then might like to paste that subgraph in a way to create a new graph g2
that might look like:
Please ignore the the fact I have used multiple calls to add_edge_list() to
generate these example graphs. This is just an artifact of creating the
above example. In my real use case I will just be presented with a random
vertex/edge labelled graph.
Is there any recommended way to do this?
Thanks
Blair
--
View this message in context: http://main-discussion-list-for-the-graph-tool-project.982480.n3.nabble.com…
Sent from the Main discussion list for the graph-tool project mailing list archive at Nabble.com.
Hello,
I try to dig up an old idea that we've discussed previously (the thread is
here
<http://main-discussion-list-for-the-graph-tool-project.982480.n3.nabble.com…>
).
summary: when one runs shortest distance on a graph with several million
vertices the distance initialization cost is high with respect to the
actual Dijsktra cost. We want to circumvent the initialization [see L326 of
src/graph/topology/graph_distance.cc
<https://git.skewed.de/count0/graph-tool/blob/master/src/graph/topology/grap…>
]
The proposed approach (as per this boost thread
<https://groups.google.com/forum/#!topic/boost-list/7nCzvkkEXCk>) is to use
the `dijkstra_shortest_paths_no_color_map_no_init`. The distance
initialization is done "on the fly" by the `examine_edge` function. More
precisely, the Dijkstra visitor maintains a set of discovered vertices.
This set is read in the `examine_edge` function to set the distance to
infinity when a the target vertex does not belong to the set of discovered
vertices. The `examine_edge` function is also responsible to update the set
of discovered vertices.
As proposed in the initial thread, we would like to add a init-or-not
switch to the shortest_distance parameters (see L1568 of
/src/graph_tool/topology/__init__.py
<https://git.skewed.de/count0/graph-tool/blob/master/src/graph_tool/topology…>
).
I plan to :
- define a new Dijkstra visitor named `djk_max_visitor_no_init` (and
maybe a second one to handle multiple targets scenario)
- update the `do_djk_search` function to use
`dijkstra_shortest_paths_no_color_map_no_init`
- update the python shortest_distance (add the init-or-not switch)
How does it sounds ? Am I missing something ?
I have two side questions :
- what is the "standard" development environment ? I tried to use CLION
<https://www.jetbrains.com/clion/> but I cannot figure out how to
configure it properly so that all the boost dependencies are correctly
resolved.
- how do you debug during development ?
Best regards,
François.