Problems installing Time Dependent Routing code

Đang mở
#448 8 bình luận 0 reaction 0 người được giao Xem trên GitHub

Maintainer thường phản hồi trong vòng 3 ngày

Chưa có ai nhận issue này.

Đánh giá

Độ khó
4/5
Thời gian dự kiến
3-5 ngày
Mức phù hợp với người mới
30/100
Loại issue
Lỗi
Độ rõ ràng
Khá rõ ràng
Mức độ hoạt động
Đình trệ
Công nghệ
cmake, postgresql
Lĩnh vực
build-system, databases

Hướng nghiên cứu

The issue is a compilation error in extra/driving_distance/src/boost_drivedist.cpp related to Boost adjacency_list and edge_weight_t. Start by examining the CMake configuration and Boost version compatibility. Check the pgRouting build instructions and the specific Boost graph library usage. The last comment was over 7 years ago, so the codebase and dependencies have likely changed significantly. Look for updated build scripts or similar issues in the repository to understand current build practices.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Mô tả

Functionality Request Needs Funding Proposal

I am following instructions here to installing time dependent routing. When I attempt to compile the code with the Time Dependent Routing in it on Ubuntu 14.04, I get a series of errors:

Building CXX object extra/driving_distance/src/CMakeFiles/routing_dd.dir/boost_drivedist.o In file included from /usr/include/boost/graph/adjacency_list.hpp:246:0, from /home/ubuntu/workspace/pgrouting/extra/driving_distance/src/boost_drivedist.cpp:25: /usr/include/boost/graph/detail/adjacency_list.hpp: In instantiation of ‘struct boost::detail::adj_list_any_edge_pmap::bind_<boost::adjacency_list<boost::listS, boost::vecS, boost::directedS, Vertex, Edge>, Edge, boost::edge_weight_t>’: /usr/include/boost/graph/detail/adjacency_list.hpp:2684:12: required from ‘struct boost::detail::adj_list_choose_edge_pmap<boost::edge_weight_t, boost::adjacency_list<boost::listS, boost::vecS, boost::directedS, Vertex, Edge>, Edge>’ /usr/include/boost/graph/detail/adjacency_list.hpp:2689:14: required from ‘struct boost::detail::adj_list_edge_property_selector::bind_<boost::adjacency_list<boost::listS, boost::vecS, boost::directedS, Vertex, Edge>, Edge, boost::edge_weight_t>’ /usr/include/boost/graph/properties.hpp:208:12: required from ‘struct boost::detail::edge_property_map<boost::adjacency_list<boost::listS, boost::vecS, boost::directedS, Vertex, Edge>, boost::edge_weight_t>’ /usr/include/boost/graph/properties.hpp:228:10: required from ‘struct boost::property_map<boost::adjacency_list<boost::listS, boost::vecS, boost::directedS, Vertex, Edge>, boost::edge_weight_t>’ /home/ubuntu/workspace/pgrouting/extra/driving_distance/src/boost_drivedist.cpp:87:39: required from here /usr/include/boost/graph/detail/adjacency_list.hpp:2652:29: error: forming reference to void typedef value_type& reference; ^ /usr/include/boost/graph/detail/adjacency_list.hpp:2653:35: error: forming reference to void typedef const value_type& const_reference; ^ /usr/include/boost/graph/detail/adjacency_list.hpp:2657:61: error: forming reference to void typename Graph::vertex_descriptor,Property,Tag> type; ^ /usr/include/boost/graph/detail/adjacency_list.hpp:2660:68: error: forming reference to void typename Graph::vertex_descriptor,const Property, Tag> const_type; ^ /home/ubuntu/workspace/pgrouting/extra/driving_distance/src/boost_drivedist.cpp: In function ‘int boost_dijkstra_dist(edge_t*, unsigned int, int, double, bool, bool, path_element_t**, int*, char**)’: /home/ubuntu/workspace/pgrouting/extra/driving_distance/src/boost_drivedist.cpp:88:27: error: no matching function for call to ‘get(boost::edge_weight_t, graph_t&)’ get(edge_weight, graph); ^ /home/ubuntu/workspace/pgrouting/extra/driving_distance/src/boost_drivedist.cpp:88:27: note: candidates are: In file included from /usr/include/boost/graph/adjacency_list.hpp:36:0, from /home/ubuntu/workspace/pgrouting/extra/driving_distance/src/boost_drivedist.cpp:25: /usr/include/boost/property_map/property_map.hpp:179:19: note: template<class T> const T& get(const T*, std::ptrdiff_t) inline const T& get(const T* pa, std::ptrdiff_t k) { return pa[k]; } ^ /usr/include/boost/property_map/property_map.hpp:179:19: note: template argument deduction/substitution failed: /home/ubuntu/workspace/pgrouting/extra/driving_distance/src/boost_drivedist.cpp:88:27: note: mismatched types ‘const T*’ and ‘boost::edge_weight_t’ get(edge_weight, graph);

I wondered if this was due to the boost version (1.54), or the CGAL version (10.0.1). I have tried following the instructions here and using the pgrouting4w fork, but that gave similar errors.

Anyone know how this library can be built? Since it hasn't been updated since 2011, the build systems and all the libraries must have changed so I assume it's something to do with that.

Ngôn ngữ chính
C++
Star
1.4k
Fork
397
Merge trung bình
2 ngày 16 giờ
Pull request đã merge (30 ngày)
8

Chuẩn bị môi trường

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Issue khác của pgRouting/pgrouting

Tất cả issue của pgRouting/pgrouting

Issue tương tự

Thêm issue về C++

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.