Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Error in compile from source code #7085

Open
ssantosb86 opened this issue Dec 12, 2024 · 0 comments
Open

Error in compile from source code #7085

ssantosb86 opened this issue Dec 12, 2024 · 0 comments

Comments

@ssantosb86
Copy link

Issue

I cloned it and followed all the steps but it gives an error when compiling with this command ( cmake --build . )

Steps to reproduce

git clone https://github.com/Project-OSRM/osrm-backend/
cd osrm-backend
mkdir -p build
cmake .. -DCMAKE_BUILD_TYPE=Release
cmake --build .

/root/osrm/osrm-backend/src/partitioner/recursive_bisection.cpp: In constructor ‘osrm::partitioner::RecursiveBisection::RecursiveBisection(osrm::partitioner::BisectionGraph&, std::size_t, double, double, std::size_t, std::size_t)’:
/root/osrm/osrm-backend/src/partitioner/recursive_bisection.cpp:67:25: error: ‘feeder’ in namespace ‘tbb’ does not name a template type
67 | using Feeder = tbb::feeder;
| ^~~~~~
/root/osrm/osrm-backend/src/partitioner/recursive_bisection.cpp:72:82: error: ‘Feeder’ has not been declared
72 | tbb::parallel_for_each(begin(forest), end(forest), [&](const TreeNode &node, Feeder &feeder) {
| ^~~~~~
/root/osrm/osrm-backend/src/partitioner/recursive_bisection.cpp: In lambda function:
/root/osrm/osrm-backend/src/partitioner/recursive_bisection.cpp:89:20: error: request for member ‘add’ in ‘feeder’, which is of non-class type ‘int’
89 | feeder.add(left_node);
| ^~~
/root/osrm/osrm-backend/src/partitioner/recursive_bisection.cpp:95:20: error: request for member ‘add’ in ‘feeder’, which is of non-class type ‘int’
95 | feeder.add(right_node);
| ^~~
In file included from /root/osrm/osrm-backend/src/partitioner/recursive_bisection.cpp:10:
/usr/include/tbb/parallel_for_each.h: In instantiation of ‘void tbb::internal::parallel_for_each_body_for<Function, Iterator>::operator()(tbb::blocked_range) const [with Function = osrm::partitioner::RecursiveBisection::RecursiveBisection(osrm::partitioner::BisectionGraph&, std::size_t, double, double, std::size_t, std::size_t)::<lambda(const osrm::partitioner::RecursiveBisection::RecursiveBisection(osrm::partitioner::BisectionGraph&, std::size_t, double, double, std::size_t, std::size_t)::TreeNode&, int&)>; Iterator = __gnu_cxx::__normal_iterator<osrm::partitioner::RecursiveBisection::RecursiveBisection(osrm::partitioner::BisectionGraph&, std::size_t, double, double, std::size_t, std::size_t)::TreeNode*, std::vector<osrm::partitioner::RecursiveBisection::RecursiveBisection(osrm::partitioner::BisectionGraph&, std::size_t, double, double, std::size_t, std::size_t)::TreeNode> >]’:
/usr/include/tbb/parallel_for.h:115:20: required from ‘void tbb::interface9::internal::start_for<Range, Body, Partitioner>::run_body(Range&) [with Range = tbb::blocked_range<__gnu_cxx::__normal_iterator<osrm::partitioner::RecursiveBisection::RecursiveBisection(osrm::partitioner::BisectionGraph&, std::size_t, double, double, std::size_t, std::size_t)::TreeNode*, std::vector<osrm::partitioner::RecursiveBisection::RecursiveBisection(osrm::partitioner::BisectionGraph&, std::size_t, double, double, std::size_t, std::size_t)::TreeNode> > >; Body = tbb::internal::parallel_for_each_body_for<osrm::partitioner::RecursiveBisection::RecursiveBisection(osrm::partitioner::BisectionGraph&, std::size_t, double, double, std::size_t, std::size_t)::<lambda(const osrm::partitioner::RecursiveBisection::RecursiveBisection(osrm::partitioner::BisectionGraph&, std::size_t, double, double, std::size_t, std::size_t)::TreeNode&, int&)>, __gnu_cxx::__normal_iterator<osrm::partitioner::RecursiveBisection::RecursiveBisection(osrm::partitioner::BisectionGraph&, std::size_t, double, double, std::size_t, std::size_t)::TreeNode*, std::vector<osrm::partitioner::RecursiveBisection::RecursiveBisection(osrm::partitioner::BisectionGraph&, std::size_t, double, double, std::size_t, std::size_t)::TreeNode> > >; Partitioner = const tbb::auto_partitioner]’
/usr/include/tbb/partitioner.h:423:27: required from ‘void tbb::interface9::internal::dynamic_grainsize_mode::work_balance(StartType&, Range&) [with StartType = tbb::interface9::internal::start_for<tbb::blocked_range<__gnu_cxx::__normal_iterator<osrm::partitioner::RecursiveBisection::RecursiveBisection(osrm::partitioner::BisectionGraph&, std::size_t, double, double, std::size_t, std::size_t)::TreeNode*, std::vector<osrm::partitioner::RecursiveBisection::RecursiveBisection(osrm::partitioner::BisectionGraph&, std::size_t, double, double, std::size_t, std::size_t)::TreeNode> > >, tbb::internal::parallel_for_each_body_for<osrm::partitioner::RecursiveBisection::RecursiveBisection(osrm::partitioner::BisectionGraph&, std::size_t, double, double, std::size_t, std::size_t)::<lambda(const osrm::partitioner::RecursiveBisection::RecursiveBisection(osrm::partitioner::BisectionGraph&, std::size_t, double, double, std::size_t, std::size_t)::TreeNode&, int&)>, __gnu_cxx::__normal_iterator<osrm::partitioner::RecursiveBisection::RecursiveBisection(osrm::partitioner::BisectionGraph&, std::size_t, double, double, std::size_t, std::size_t)::TreeNode*, std::vector<osrm::partitioner::RecursiveBisection::RecursiveBisection(osrm::partitioner::BisectionGraph&, std::size_t, double, double, std::size_t, std::size_t)::TreeNode> > >, const tbb::auto_partitioner>; Range = tbb::blocked_range<__gnu_cxx::__normal_iterator<osrm::partitioner::RecursiveBisection::RecursiveBisection(osrm::partitioner::BisectionGraph&, std::size_t, double, double, std::size_t, std::size_t)::TreeNode*, std::vector<osrm::partitioner::RecursiveBisection::RecursiveBisection(osrm::partitioner::BisectionGraph&, std::size_t, double, double, std::size_t, std::size_t)::TreeNode> > >; Mode = tbb::interface9::internal::adaptive_modetbb::interface9::internal::auto_partition_type]’
/usr/include/tbb/partitioner.h:256:28: required from ‘void tbb::interface9::internal::partition_type_base::execute(StartType&, Range&) [with StartType = tbb::interface9::internal::start_for<tbb::blocked_range<__gnu_cxx::__normal_iterator<osrm::partitioner::RecursiveBisection::RecursiveBisection(osrm::partitioner::BisectionGraph&, std::size_t, double, double, std::size_t, std::size_t)::TreeNode*, std::vector<osrm::partitioner::RecursiveBisection::RecursiveBisection(osrm::partitioner::BisectionGraph&, std::size_t, double, double, std::size_t, std::size_t)::TreeNode> > >, tbb::internal::parallel_for_each_body_for<osrm::partitioner::RecursiveBisection::RecursiveBisection(osrm::partitioner::BisectionGraph&, std::size_t, double, double, std::size_t, std::size_t)::<lambda(const osrm::partitioner::RecursiveBisection::RecursiveBisection(osrm::partitioner::BisectionGraph&, std::size_t, double, double, std::size_t, std::size_t)::TreeNode&, int&)>, __gnu_cxx::__normal_iterator<osrm::partitioner::RecursiveBisection::RecursiveBisection(osrm::partitioner::BisectionGraph&, std::size_t, double, double, std::size_t, std::size_t)::TreeNode*, std::vector<osrm::partitioner::RecursiveBisection::RecursiveBisection(osrm::partitioner::BisectionGraph&, std::size_t, double, double, std::size_t, std::size_t)::TreeNode> > >, const tbb::auto_partitioner>; Range = tbb::blocked_range<__gnu_cxx::__normal_iterator<osrm::partitioner::RecursiveBisection::RecursiveBisection(osrm::partitioner::BisectionGraph&, std::size_t, double, double, std::size_t, std::size_t)::TreeNode*, std::vector<osrm::partitioner::RecursiveBisection::RecursiveBisection(osrm::partitioner::BisectionGraph&, std::size_t, double, double, std::size_t, std::size_t)::TreeNode> > >; Partition = tbb::interface9::internal::auto_partition_type]’
/usr/include/tbb/parallel_for.h:142:29: required from ‘tbb::task* tbb::interface9::internal::start_for<Range, Body, Partitioner>::execute() [with Range = tbb::blocked_range<__gnu_cxx::__normal_iterator<osrm::partitioner::RecursiveBisection::RecursiveBisection(osrm::partitioner::BisectionGraph&, std::size_t, double, double, std::size_t, std::size_t)::TreeNode*, std::vector<osrm::partitioner::RecursiveBisection::RecursiveBisection(osrm::partitioner::BisectionGraph&, std::size_t, double, double, std::size_t, std::size_t)::TreeNode> > >; Body = tbb::internal::parallel_for_each_body_for<osrm::partitioner::RecursiveBisection::RecursiveBisection(osrm::partitioner::BisectionGraph&, std::size_t, double, double, std::size_t, std::size_t)::<lambda(const osrm::partitioner::RecursiveBisection::RecursiveBisection(osrm::partitioner::BisectionGraph&, std::size_t, double, double, std::size_t, std::size_t)::TreeNode&, int&)>, __gnu_cxx::__normal_iterator<osrm::partitioner::RecursiveBisection::RecursiveBisection(osrm::partitioner::BisectionGraph&, std::size_t, double, double, std::size_t, std::size_t)::TreeNode*, std::vector<osrm::partitioner::RecursiveBisection::RecursiveBisection(osrm::partitioner::BisectionGraph&, std::size_t, double, double, std::size_t, std::size_t)::TreeNode> > >; Partitioner = const tbb::auto_partitioner]’
/usr/include/tbb/parallel_for.h:140:11: required from here
/usr/include/tbb/parallel_for_each.h:51:24: error: no match for call to ‘(const osrm::partitioner::RecursiveBisection::RecursiveBisection(osrm::partitioner::BisectionGraph&, std::size_t, double, double, std::size_t, std::size_t)::<lambda(const osrm::partitioner::RecursiveBisection::RecursiveBisection(osrm::partitioner::BisectionGraph&, std::size_t, double, double, std::size_t, std::size_t)::TreeNode&, int&)>) (osrm::partitioner::RecursiveBisection::RecursiveBisection(osrm::partitioner::BisectionGraph&, std::size_t, double, double, std::size_t, std::size_t)::TreeNode&)’
51 | my_func(*it);
| ~~~~~~~^~~~~
/root/osrm/osrm-backend/src/partitioner/recursive_bisection.cpp:72:56: note: candidate: ‘osrm::partitioner::RecursiveBisection::RecursiveBisection(osrm::partitioner::BisectionGraph&, std::size_t, double, double, std::size_t, std::size_t)::<lambda(const osrm::partitioner::RecursiveBisection::RecursiveBisection(osrm::partitioner::BisectionGraph&, std::size_t, double, double, std::size_t, std::size_t)::TreeNode&, int&)>’
72 | tbb::parallel_for_each(begin(forest), end(forest), [&](const TreeNode &node, Feeder &feeder) {
| ^
/root/osrm/osrm-backend/src/partitioner/recursive_bisection.cpp:72:56: note: candidate expects 2 arguments, 1 provided
At global scope:
cc1plus: note: unrecognized command-line option ‘-Wno-shorten-64-to-32’ may have been intended to silence earlier diagnostics
cc1plus: note: unrecognized command-line option ‘-Wno-unused-member-function’ may have been intended to silence earlier diagnostics
cc1plus: note: unrecognized command-line option ‘-Wno-implicit-float-conversion’ may have been intended to silence earlier diagnostics
cc1plus: note: unrecognized command-line option ‘-Wno-implicit-int-conversion’ may have been intended to silence earlier diagnostics
cc1plus: note: unrecognized command-line option ‘-Wno-c++17-extensions’ may have been intended to silence earlier diagnostics
make[2]: *** [CMakeFiles/PARTITIONER.dir/build.make:147: CMakeFiles/PARTITIONER.dir/src/partitioner/recursive_bisection.cpp.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:368: CMakeFiles/PARTITIONER.dir/all] Error 2
make: *** [Makefile:171: all] Error 2

Specifications

Please provide details of your development environment.

sudo apt install build-essential git cmake pkg-config \

libbz2-dev libxml2-dev libzip-dev libboost-all-dev \

lua5.2 liblua5.2-dev libtbb-dev

Lendo listas de pacotes... Pronto

Construindo árvore de dependências... Pronto

Lendo informação de estado... Pronto

build-essential já é a versão mais recente (12.9ubuntu3).

libbz2-dev já é a versão mais recente (1.0.8-5build1).

pkg-config já é a versão mais recente (0.29.2-1ubuntu3).

libboost-all-dev já é a versão mais recente (1.74.0.3ubuntu7).

liblua5.2-dev já é a versão mais recente (5.2.4-2).

libtbb-dev já é a versão mais recente (2021.5.0-7ubuntu2).

libzip-dev já é a versão mais recente (1.7.3-1ubuntu2).

lua5.2 já é a versão mais recente (5.2.4-2).

cmake já é a versão mais recente (3.22.1-1ubuntu1.22.04.2).

git já é a versão mais recente (1:2.34.1-1ubuntu1.11).

libxml2-dev já é a versão mais recente (2.9.13+dfsg-1ubuntu0.4).

OS: Ubuntu 22.04.4 LTS x86_64
Host: VirtualBox 1.2
Kernel: 6.5.0-45-generic
Shell: bash 5.1.16
GNOME 42.9
CPU: AMD Ryzen 5 7520U with Radeon Graphics (2) @ 2.794GHz
GPU: 00:02.0 VMware SVGA II Adapter
Memory: 476MiB / 1959MiB

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant