[pgrouting-users] build pgRouting 1.05 DARP tree

Stephen Woodbridge woodbri at swoodbridge.com
Wed Jun 4 13:09:42 PDT 2014


Hi Eduardo,

Good to see you making some progress on this.

So the current error is Boost related. What version of Boost are you 
using. But this might be a problem that the code is using:

namespace std {
...
}

or just:

namespace std;

You might need to change the code so all occurances of

hash  get changed to  std::hash

This could be true for other std::* functions.

-Steve

On 6/4/2014 3:52 PM, Eduardo Kanegae wrote:
> hi, just to keep records,
>
> I found the latest error origin: (
> /usr/local/src/pgrouting-1.05-darp/extra/darp/src/darp.h:43 )
> - compiler was not finding $include/postgresql/server/datatype/timestamp.h
>
> Now I'm trying to resolve some new errors:
> - - - - - - - - - - - - - - -
>
> [ 37%] Building CXX object core/src/CMakeFiles/routing.dir/boost_wrapper.o
> In file included from /usr/local/include/boost/graph/adjacency_list.hpp:247,
>                   from
> /usr/local/src/pgrouting-1.05-darp/core/src/boost_wrapper.cpp:25:
> /usr/include/boost/graph/detail/adjacency_list.hpp:2795: error: âhashâ
> is not a template
> /usr/include/boost/graph/detail/adjacency_list.hpp:2796: error:
> explicit specialization of non-template â__gnu_cxx::hashâ
> /usr/include/boost/graph/detail/adjacency_list.hpp:2803: error: âhashâ
> is not a template
> /usr/include/boost/graph/detail/adjacency_list.hpp:2803: error:
> â__gnu_cxx::hashâ is not a template type
> /usr/include/boost/graph/detail/adjacency_list.hpp:2813: error: âhashâ
> is not a template
> /usr/include/boost/graph/detail/adjacency_list.hpp:2813: error:
> â__gnu_cxx::hashâ is not a template type
> /usr/include/boost/graph/detail/adjacency_list.hpp:2823: error: âhashâ
> is not a template
> /usr/include/boost/graph/detail/adjacency_list.hpp:2823: error:
> â__gnu_cxx::hashâ is not a template type
> /usr/include/boost/graph/detail/adjacency_list.hpp: In instantiation
> of âboost::detail::adj_list_any_edge_pmap::bind_<boost::adjacency_list<boost::listS,
> boost::vecS, boost::directedS, boost::no_property, Vertex,
> boost::no_property, boost::listS>, Vertex, boost::edge_weight_t>â:
> /usr/include/boost/graph/detail/adjacency_list.hpp:2736:
> instantiated from
> âboost::detail::adj_list_choose_edge_pmap<boost::edge_weight_t,
> boost::adjacency_list<boost::listS, boost::vecS, boost::directedS,
> boost::no_property, Vertex, boost::no_property, boost::listS>,
> Vertex>â
> /usr/include/boost/graph/detail/adjacency_list.hpp:2743:
> instantiated from
> âboost::detail::adj_list_edge_property_selector::bind_<boost::adjacency_list<boost::listS,
> boost::vecS, boost::directedS, boost::no_property, Vertex,
> boost::no_property, boost::listS>, Vertex, boost::edge_weight_t>â
> /usr/local/include/boost/graph/properties.hpp:215:   instantiated from
> âboost::detail::edge_property_map<boost::adjacency_list<boost::listS,
> boost::vecS, boost::directedS, boost::no_property, Vertex,
> boost::no_property, boost::listS>, boost::edge_weight_t>â
> /usr/local/include/boost/graph/properties.hpp:233:   instantiated from
> âboost::property_map<boost::adjacency_list<boost::listS, boost::vecS,
> boost::directedS, boost::no_property, Vertex, boost::no_property,
> boost::listS>, boost::edge_weight_t, void>â
> /usr/local/src/pgrouting-1.05-darp/core/src/boost_wrapper.cpp:76:
> instantiated from here
> /usr/include/boost/graph/detail/adjacency_list.hpp:2701: error:
> forming reference to void
> /usr/include/boost/graph/detail/adjacency_list.hpp:2702: error:
> forming reference to void
> /usr/include/boost/graph/detail/adjacency_list.hpp:2706: error:
> forming reference to void
> /usr/include/boost/graph/detail/adjacency_list.hpp:2709: error:
> forming reference to void
> /usr/local/src/pgrouting-1.05-darp/core/src/boost_wrapper.cpp: In
> function âint boost_dijkstra(edge_t*, unsigned int, int, int, bool,
> bool, path_element_t**, int*, char**)â:
> /usr/local/src/pgrouting-1.05-darp/core/src/boost_wrapper.cpp:76:
> error: no matching function for call to âget(boost::edge_weight_t,
> boost_dijkstra(edge_t*, unsigned int, int, int, bool, bool,
> path_element_t**, int*, char**)::graph_t&)â
> In file included from /usr/local/include/boost/graph/adjacency_list.hpp:247,
>                   from
> /usr/local/src/pgrouting-1.05-darp/core/src/boost_wrapper.cpp:25:
> /usr/include/boost/graph/detail/adjacency_list.hpp: In function
> âtypename boost::property_map<typename Config::graph_type, Property,
> void>::type boost::get(Property, boost::adj_list_helper<Config,
> Base>&) [with Config =
> boost::detail::adj_list_gen<boost::adjacency_list<boost::listS,
> boost::vecS, boost::directedS, boost::no_property, Vertex,
> boost::no_property, boost::listS>, boost::vecS, boost::listS,
> boost::directedS, boost::no_property, Vertex, boost::no_property,
> boost::listS>::config, Base =
> boost::directed_graph_helper<boost::detail::adj_list_gen<boost::adjacency_list<boost::listS,
> boost::vecS, boost::directedS, boost::no_property, Vertex,
> boost::no_property, boost::listS>, boost::vecS, boost::listS,
> boost::directedS, boost::no_property, Vertex, boost::no_property,
> boost::listS>::config>, Property = float8 Vertex::*]â:
> /usr/local/src/pgrouting-1.05-darp/core/src/boost_wrapper.cpp:123:
> instantiated from here
> /usr/include/boost/graph/detail/adjacency_list.hpp:1724: error:
> invalid use of void expression
> make[2]: ** [core/src/CMakeFiles/routing.dir/boost_wrapper.o] Erro 1
> make[1]: ** [core/src/CMakeFiles/routing.dir/all] Erro 2
> make: ** [all] Erro 2
>
> - - - - - - - - -
>
> Eduardo
>
> 2014-06-03 18:04 GMT-03:00 Eduardo Kanegae <eduardo.kanegae at gmail.com>:
>> thanks Steve,
>>
>> I've turned off CGAL and DD options withing ccmake but now it seems
>> like some kind of declaration errors:
>> ...
>> [ 12%] Building C object extra/darp/src/CMakeFiles/routing_darp.dir/darp.o
>> In file included from
>> /usr/local/src/pgrouting-1.05-darp/extra/darp/src/darp.c:22:
>> /usr/local/src/pgrouting-1.05-darp/extra/darp/src/darp.h:43: error:
>> expected specifier-qualifier-list before âIntervalâ
>> /usr/local/src/pgrouting-1.05-darp/extra/darp/src/darp.c: In function
>> âfetch_distanceâ:
>> /usr/local/src/pgrouting-1.05-darp/extra/darp/src/darp.c:369: error:
>> âorder_tâ has no member named âtoâ
>> ..
>>
>> For this case I think this branch could attend me, because it's a
>> specific application which I'll need only DARP functions and will not
>> use the other routing solvers.
>>
>> Eduardo
>>
>>
>>
>> 2014-06-03 17:25 GMT-03:00 Stephen Woodbridge <woodbri at swoodbridge.com>:
>>> Hi Eduardo,
>>>
>>> I have not tried to build the DARP branch ever, but the error you are
>>> getting has something to do with CGAL and the driving distance code. I think
>>> there was a cmake option to disable this. Maybe something like:
>>>
>>> cmake -DWITH_DD=NO .
>>>
>>> To get it to compile and work in pgRouting 2.x you would need to migrate the
>>> code into the 2.x source tree and update the cmake files so it gets included
>>> and tweak the SQL code. Basically make it follow the pattern setup for the
>>> other code.
>>>
>>> -Steve
>>>
>>>
>>> On 6/3/2014 3:49 PM, Eduardo Kanegae wrote:
>>>>
>>>> hi there,
>>>>
>>>> I'm running PostGIS 2.0.4 on PostgreSQL 8.4.12 (CentOS 6.3) and I'm
>>>> trying to build pgRouting 1.05 (the DARP branch) but it gives me the
>>>> following error:
>>>> ...
>>>> [  7%] Building C object extra/tsp/src/CMakeFiles/routing_tsp.dir/tsp.o
>>>> [ 14%] Building CXX object
>>>> extra/tsp/src/CMakeFiles/routing_tsp.dir/tsp_solver.o
>>>> Linking CXX shared library ../../../lib/librouting_tsp.so
>>>> [ 14%] Built target routing_tsp
>>>> [ 21%] Building C object extra/darp/src/CMakeFiles/routing_darp.dir/darp.o
>>>> [ 28%] Building CXX object
>>>> extra/darp/src/CMakeFiles/routing_darp.dir/darp_solver.o
>>>> Linking CXX shared library ../../../lib/librouting_darp.so
>>>> [ 28%] Built target routing_darp
>>>> Scanning dependencies of target routing_dd
>>>> [ 35%] Building C object
>>>> extra/driving_distance/src/CMakeFiles/routing_dd.dir/alpha.o
>>>> [ 42%] Building CXX object
>>>> extra/driving_distance/src/CMakeFiles/routing_dd.dir/alpha_drivedist.o
>>>> In file included from
>>>> /usr/local/include/CGAL/internal/Exact_type_selector.h:39,
>>>>                    from /usr/local/include/CGAL/Filtered_kernel.h:35,
>>>>                    from
>>>>
>>>> /usr/local/src/pgrouting-1.05-darp/extra/driving_distance/src/alpha_drivedist.cpp:35:
>>>> /usr/local/include/CGAL/Mpzf.h: In function âCGAL::Mpzf
>>>> CGAL::Mpzf_square(const CGAL::Mpzf&)â:
>>>> /usr/local/include/CGAL/Mpzf.h:709: error: âmpn_sqrâ was not declared
>>>> in this scope
>>>> make[2]: **
>>>> [extra/driving_distance/src/CMakeFiles/routing_dd.dir/alpha_drivedist.o]
>>>> Erro 1
>>>> make[1]: ** [extra/driving_distance/src/CMakeFiles/routing_dd.dir/all]
>>>> Erro 2
>>>> make: ** [all] Erro 2
>>>> ...
>>>>
>>>> Here's my "ccmake" config params:
>>>> - - -
>>>> Boost_DIR                        /usr/lib64/boost
>>>> Boost_INCLUDE_DIR                /usr/include
>>>> Boost_LIBRARY_DIRS               /usr/lib
>>>> CGAL_INCLUDE_DIR                 /usr/local/include
>>>> CGAL_LIBRARIES                   /usr/local/lib/libCGAL.so
>>>> CMAKE_AR                         /usr/bin/ar
>>>> CMAKE_BACKWARDS_COMPATIBILITY    2.4
>>>> CMAKE_BUILD_TYPE
>>>> CMAKE_COLOR_MAKEFILE             ON
>>>> CMAKE_CXX_COMPILER               /usr/bin/c++
>>>> CMAKE_CXX_FLAGS
>>>> CMAKE_CXX_FLAGS_DEBUG            -g
>>>> CMAKE_CXX_FLAGS_MINSIZEREL       -Os -DNDEBUG
>>>> CMAKE_CXX_FLAGS_RELEASE          -O3 -DNDEBUG
>>>> CMAKE_CXX_FLAGS_RELWITHDEBINFO   -O2 -g
>>>> CMAKE_C_COMPILER                 /usr/bin/gcc
>>>> CMAKE_C_FLAGS
>>>> CMAKE_C_FLAGS_DEBUG              -g
>>>> CMAKE_C_FLAGS_MINSIZEREL         -Os -DNDEBUG
>>>> CMAKE_C_FLAGS_RELEASE            -O3 -DNDEBUG
>>>> CMAKE_C_FLAGS_RELWITHDEBINFO     -O2 -g
>>>> CMAKE_EXE_LINKER_FLAGS
>>>> CMAKE_EXE_LINKER_FLAGS_DEBUG
>>>> CMAKE_EXE_LINKER_FLAGS_MINSIZE
>>>> CMAKE_EXE_LINKER_FLAGS_RELEASE
>>>> CMAKE_EXE_LINKER_FLAGS_RELWITH
>>>> CMAKE_EXPORT_COMPILE_COMMANDS    OFF
>>>> CMAKE_INSTALL_PREFIX             /usr/local
>>>> CMAKE_LINKER                     /usr/bin/ld
>>>> CMAKE_MAKE_PROGRAM               /usr/bin/gmake
>>>> CMAKE_MODULE_LINKER_FLAGS
>>>> CMAKE_MODULE_LINKER_FLAGS_DEBU
>>>> CMAKE_MODULE_LINKER_FLAGS_MINS
>>>> CMAKE_MODULE_LINKER_FLAGS_RELE
>>>> CMAKE_MODULE_LINKER_FLAGS_RELW
>>>> CMAKE_NM                         /usr/bin/nm
>>>> CMAKE_OBJCOPY                    /usr/bin/objcopy
>>>> CMAKE_OBJDUMP                    /usr/bin/objdump
>>>> CMAKE_RANLIB                     /usr/bin/ranlib
>>>> CMAKE_SHARED_LINKER_FLAGS
>>>> CMAKE_SHARED_LINKER_FLAGS_DEBU
>>>> CMAKE_SHARED_LINKER_FLAGS_MINS
>>>> CMAKE_SHARED_LINKER_FLAGS_RELE
>>>> CMAKE_SHARED_LINKER_FLAGS_RELW
>>>> CMAKE_SKIP_INSTALL_RPATH         OFF
>>>> CMAKE_SKIP_RPATH                 OFF
>>>> CMAKE_STRIP                      /usr/bin/strip
>>>> CMAKE_USE_RELATIVE_PATHS         OFF
>>>> CMAKE_VERBOSE_MAKEFILE           OFF
>>>> EXECUTABLE_OUTPUT_PATH
>>>> GAUL_INCLUDE_DIR                 /usr/local/include
>>>> GAUL_LIBRARIES                   /usr/local/lib/libgaul.so
>>>> GAUL_UTIL_LIBRARIES              /usr/local/lib/libgaul_util.so
>>>> LIBRARY_OUTPUT_PATH              /usr/lib64/pgsql
>>>> PGROUTING_CORE_INCLUDE_DIR
>>>> /usr/local/src/pgrouting-1.05-darp/core/src
>>>> POSTGRESQL_EXECUTABLE            /usr/bin/postgres
>>>> POSTGRESQL_INCLUDE_DIR           /usr/include/pgsql/server
>>>> POSTGRESQL_LIBRARIES             /usr/lib64/pgsql
>>>> WITH_CGAL                        ON
>>>> WITH_DARP                        ON
>>>> WITH_DD                          ON
>>>> WITH_GAUL                        ON
>>>> WITH_PostgreSQL                  ON
>>>> WITH_TSP                         ON
>>>> - - -
>>>>
>>>> As far as I know DARP module is only available at this 1.05 darp
>>>> branch. Or should I try to build pgRouting 2 + PostGIS 2.1.3 +
>>>> PostgreSQL 9.x ?
>>>>
>>>> ps.:
>>>> a) CGAL installed is 4.4
>>>> b) GAUL installed is version 0.1849
>>>>
>>>> thanks for any help.
>>>>
>>>> Eduardo Patto Kanegae
>>>> http://www.webmapit.com | @webmapit
>>>> _______________________________________________
>>>> Pgrouting-users mailing list
>>>> Pgrouting-users at lists.osgeo.org
>>>> http://lists.osgeo.org/mailman/listinfo/pgrouting-users
>>>>
>>>
>>> _______________________________________________
>>> Pgrouting-users mailing list
>>> Pgrouting-users at lists.osgeo.org
>>> http://lists.osgeo.org/mailman/listinfo/pgrouting-users
> _______________________________________________
> Pgrouting-users mailing list
> Pgrouting-users at lists.osgeo.org
> http://lists.osgeo.org/mailman/listinfo/pgrouting-users
>



More information about the Pgrouting-users mailing list