osrm-backend
osrm-backend copied to clipboard
osrm-backend 5.27.1 build issue against boost 1.81.0
Running build issue when regression build 5.27.1 against boost 1.81.0
build issue
[ 86%] Linking CXX executable osrm-datastore
/opt/homebrew/Cellar/cmake/3.25.1/bin/cmake -E cmake_link_script CMakeFiles/osrm-datastore.dir/link.txt --verbose=1
/opt/homebrew/Library/Homebrew/shims/mac/super/clang++ -Wall -Wextra -Wpedantic -Werror -Wstrict-overflow=2 -Wsuggest-override -Wsuggest-destructor-override -Wunused -Wunreachable-code -Wdelete-incomplete -Wdisabled-optimization -Winit-self -Wlogical-not-parentheses -Wmisleading-indentation -Wodr -Wpointer-arith -Wredundant-decls -Wreorder -Wshift-negative-value -Wsizeof-array-argument -Wswitch-bool -Wtautological-compare -Wno-c++17-extensions -Wno-implicit-int-conversion -Wno-implicit-float-conversion -Wno-unused-member-function -Wno-old-style-cast -Wno-non-virtual-dtor -Wno-float-conversion -Wno-sign-conversion -Wno-shorten-64-to-32 -Wno-padded -Wno-missing-noreturn -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -fPIC -fcolor-diagnostics -ftemplate-depth=1024 -std=c++17 -stdlib=libc++ -O3 -DNDEBUG -arch arm64 -isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk -Wl,-search_paths_first -Wl,-headerpad_max_install_names "CMakeFiles/osrm-datastore.dir/src/tools/store.cpp.o" CMakeFiles/MICROTAR.dir/third_party/microtar/src/microtar.c.o CMakeFiles/UTIL.dir/src/util/assert.cpp.o CMakeFiles/UTIL.dir/src/util/conditional_restrictions.cpp.o CMakeFiles/UTIL.dir/src/util/coordinate.cpp.o CMakeFiles/UTIL.dir/src/util/coordinate_calculation.cpp.o CMakeFiles/UTIL.dir/src/util/exception.cpp.o CMakeFiles/UTIL.dir/src/util/fingerprint.cpp.o CMakeFiles/UTIL.dir/src/util/geojson_debug_policies.cpp.o CMakeFiles/UTIL.dir/src/util/guidance/bearing_class.cpp.o CMakeFiles/UTIL.dir/src/util/guidance/entry_class.cpp.o CMakeFiles/UTIL.dir/src/util/guidance/turn_lanes.cpp.o CMakeFiles/UTIL.dir/src/util/log.cpp.o CMakeFiles/UTIL.dir/src/util/opening_hours.cpp.o CMakeFiles/UTIL.dir/src/util/timed_historgram.cpp.o CMakeFiles/UTIL.dir/src/util/timezones.cpp.o -o osrm-datastore -Wl,-rpath,@loader_path libosrm_store.a /opt/homebrew/lib/libboost_program_options-mt.dylib /opt/homebrew/lib/libboost_date_time-mt.dylib /opt/homebrew/lib/libboost_chrono-mt.dylib /opt/homebrew/lib/libboost_filesystem-mt.dylib /opt/homebrew/lib/libboost_atomic-mt.dylib /opt/homebrew/lib/libboost_iostreams-mt.dylib /opt/homebrew/lib/libboost_thread-mt.dylib /opt/homebrew/lib/libboost_system-mt.dylib /opt/homebrew/lib/libtbb.12.8.dylib
duplicate symbol 'boost::phoenix::placeholders::uarg9' in:
CMakeFiles/UTIL.dir/src/util/conditional_restrictions.cpp.o
CMakeFiles/UTIL.dir/src/util/opening_hours.cpp.o
duplicate symbol 'boost::phoenix::placeholders::uarg8' in:
CMakeFiles/UTIL.dir/src/util/conditional_restrictions.cpp.o
CMakeFiles/UTIL.dir/src/util/opening_hours.cpp.o
duplicate symbol 'boost::phoenix::placeholders::uarg7' in:
CMakeFiles/UTIL.dir/src/util/conditional_restrictions.cpp.o
CMakeFiles/UTIL.dir/src/util/opening_hours.cpp.o
duplicate symbol 'boost::phoenix::placeholders::uarg6' in:
CMakeFiles/UTIL.dir/src/util/conditional_restrictions.cpp.o
CMakeFiles/UTIL.dir/src/util/opening_hours.cpp.o
duplicate symbol 'boost::phoenix::placeholders::uarg5' in:
CMakeFiles/UTIL.dir/src/util/conditional_restrictions.cpp.o
CMakeFiles/UTIL.dir/src/util/opening_hours.cpp.o
duplicate symbol 'boost::phoenix::placeholders::uarg4' in:
CMakeFiles/UTIL.dir/src/util/conditional_restrictions.cpp.o
CMakeFiles/UTIL.dir/src/util/opening_hours.cpp.o
duplicate symbol 'boost::phoenix::placeholders::uarg3' in:
CMakeFiles/UTIL.dir/src/util/conditional_restrictions.cpp.o
CMakeFiles/UTIL.dir/src/util/opening_hours.cpp.o
duplicate symbol 'boost::phoenix::placeholders::uarg2' in:
CMakeFiles/UTIL.dir/src/util/conditional_restrictions.cpp.o
CMakeFiles/UTIL.dir/src/util/opening_hours.cpp.o
duplicate symbol 'boost::phoenix::placeholders::uarg1' in:
CMakeFiles/UTIL.dir/src/util/conditional_restrictions.cpp.o
CMakeFiles/UTIL.dir/src/util/opening_hours.cpp.o
duplicate symbol 'boost::phoenix::placeholders::uarg10' in:
CMakeFiles/UTIL.dir/src/util/conditional_restrictions.cpp.o
CMakeFiles/UTIL.dir/src/util/opening_hours.cpp.o
ld: 10 duplicate symbols for architecture arm64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
gmake[2]: *** [CMakeFiles/osrm-datastore.dir/build.make:140: osrm-datastore] Error 1
gmake[2]: Leaving directory '/private/tmp/osrm-backend-20230102-55450-1tdeoyf/osrm-backend-5.27.1/build'
gmake[1]: *** [CMakeFiles/Makefile2:611: CMakeFiles/osrm-datastore.dir/all] Error 2
gmake[1]: *** Waiting for unfinished jobs....
gmake[2]: Leaving directory '/private/tmp/osrm-backend-20230102-55450-1tdeoyf/osrm-backend-5.27.1/build'
[ 86%] Built target SERVER
[ 91%] Linking CXX executable osrm-components
/opt/homebrew/Cellar/cmake/3.25.1/bin/cmake -E cmake_link_script CMakeFiles/osrm-components.dir/link.txt --verbose=1
/opt/homebrew/Library/Homebrew/shims/mac/super/clang++ -Wall -Wextra -Wpedantic -Werror -Wstrict-overflow=2 -Wsuggest-override -Wsuggest-destructor-override -Wunused -Wunreachable-code -Wdelete-incomplete -Wdisabled-optimization -Winit-self -Wlogical-not-parentheses -Wmisleading-indentation -Wodr -Wpointer-arith -Wredundant-decls -Wreorder -Wshift-negative-value -Wsizeof-array-argument -Wswitch-bool -Wtautological-compare -Wno-c++17-extensions -Wno-implicit-int-conversion -Wno-implicit-float-conversion -Wno-unused-member-function -Wno-old-style-cast -Wno-non-virtual-dtor -Wno-float-conversion -Wno-sign-conversion -Wno-shorten-64-to-32 -Wno-padded -Wno-missing-noreturn -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -fPIC -fcolor-diagnostics -ftemplate-depth=1024 -std=c++17 -stdlib=libc++ -O3 -DNDEBUG -arch arm64 -isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk -Wl,-search_paths_first -Wl,-headerpad_max_install_names "CMakeFiles/osrm-components.dir/src/tools/components.cpp.o" CMakeFiles/MICROTAR.dir/third_party/microtar/src/microtar.c.o CMakeFiles/UTIL.dir/src/util/assert.cpp.o CMakeFiles/UTIL.dir/src/util/conditional_restrictions.cpp.o CMakeFiles/UTIL.dir/src/util/coordinate.cpp.o CMakeFiles/UTIL.dir/src/util/coordinate_calculation.cpp.o CMakeFiles/UTIL.dir/src/util/exception.cpp.o CMakeFiles/UTIL.dir/src/util/fingerprint.cpp.o CMakeFiles/UTIL.dir/src/util/geojson_debug_policies.cpp.o CMakeFiles/UTIL.dir/src/util/guidance/bearing_class.cpp.o CMakeFiles/UTIL.dir/src/util/guidance/entry_class.cpp.o CMakeFiles/UTIL.dir/src/util/guidance/turn_lanes.cpp.o CMakeFiles/UTIL.dir/src/util/log.cpp.o CMakeFiles/UTIL.dir/src/util/opening_hours.cpp.o CMakeFiles/UTIL.dir/src/util/timed_historgram.cpp.o CMakeFiles/UTIL.dir/src/util/timezones.cpp.o -o osrm-components -Wl,-rpath,@loader_path /opt/homebrew/lib/libboost_date_time-mt.dylib /opt/homebrew/lib/libboost_chrono-mt.dylib /opt/homebrew/lib/libboost_filesystem-mt.dylib /opt/homebrew/lib/libboost_iostreams-mt.dylib /opt/homebrew/lib/libboost_thread-mt.dylib /opt/homebrew/lib/libboost_system-mt.dylib /opt/homebrew/lib/libtbb.12.8.dylib /Library/Developer/CommandLineTools/SDKs/MacOSX13.sdk/usr/lib/libz.tbd /opt/homebrew/lib/libboost_atomic-mt.dylib
duplicate symbol 'boost::phoenix::placeholders::uarg9' in:
CMakeFiles/UTIL.dir/src/util/conditional_restrictions.cpp.o
CMakeFiles/UTIL.dir/src/util/opening_hours.cpp.o
duplicate symbol 'boost::phoenix::placeholders::uarg8' in:
CMakeFiles/UTIL.dir/src/util/conditional_restrictions.cpp.o
CMakeFiles/UTIL.dir/src/util/opening_hours.cpp.o
duplicate symbol 'boost::phoenix::placeholders::uarg7' in:
CMakeFiles/UTIL.dir/src/util/conditional_restrictions.cpp.o
CMakeFiles/UTIL.dir/src/util/opening_hours.cpp.o
duplicate symbol 'boost::phoenix::placeholders::uarg6' in:
CMakeFiles/UTIL.dir/src/util/conditional_restrictions.cpp.o
CMakeFiles/UTIL.dir/src/util/opening_hours.cpp.o
duplicate symbol 'boost::phoenix::placeholders::uarg5' in:
CMakeFiles/UTIL.dir/src/util/conditional_restrictions.cpp.o
CMakeFiles/UTIL.dir/src/util/opening_hours.cpp.o
duplicate symbol 'boost::phoenix::placeholders::uarg4' in:
CMakeFiles/UTIL.dir/src/util/conditional_restrictions.cpp.o
CMakeFiles/UTIL.dir/src/util/opening_hours.cpp.o
duplicate symbol 'boost::phoenix::placeholders::uarg3' in:
CMakeFiles/UTIL.dir/src/util/conditional_restrictions.cpp.o
CMakeFiles/UTIL.dir/src/util/opening_hours.cpp.o
duplicate symbol 'boost::phoenix::placeholders::uarg2' in:
CMakeFiles/UTIL.dir/src/util/conditional_restrictions.cpp.o
CMakeFiles/UTIL.dir/src/util/opening_hours.cpp.o
duplicate symbol 'boost::phoenix::placeholders::uarg1' in:
CMakeFiles/UTIL.dir/src/util/conditional_restrictions.cpp.o
CMakeFiles/UTIL.dir/src/util/opening_hours.cpp.o
duplicate symbol 'boost::phoenix::placeholders::uarg10' in:
CMakeFiles/UTIL.dir/src/util/conditional_restrictions.cpp.o
CMakeFiles/UTIL.dir/src/util/opening_hours.cpp.o
ld: 10 duplicate symbols for architecture arm64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
gmake[2]: *** [CMakeFiles/osrm-components.dir/build.make:139: osrm-components] Error 1
gmake[2]: Leaving directory '/private/tmp/osrm-backend-20230102-55450-1tdeoyf/osrm-backend-5.27.1/build'
gmake[1]: *** [CMakeFiles/Makefile2:892: CMakeFiles/osrm-components.dir/all] Error 2
gmake[2]: Leaving directory '/private/tmp/osrm-backend-20230102-55450-1tdeoyf/osrm-backend-5.27.1/build'
[ 91%] Built target ENGINE
gmake[2]: Leaving directory '/private/tmp/osrm-backend-20230102-55450-1tdeoyf/osrm-backend-5.27.1/build'
gmake[1]: *** [CMakeFiles/Makefile2:238: CMakeFiles/EXTRACTOR.dir/all] Error 2
gmake[1]: Leaving directory '/private/tmp/osrm-backend-20230102-55450-1tdeoyf/osrm-backend-5.27.1/build'
gmake: *** [Makefile:159: all] Error 2
relates to https://github.com/Homebrew/homebrew-core/pull/119529
Looks like it is a boost bug, https://github.com/boostorg/phoenix/issues/111
new build issue
In file included from /tmp/osrm-backend-20230102-69381-1y45c82/osrm-backend-5.27.1/src/extractor/suffix_table.cpp:1:
/tmp/osrm-backend-20230102-69381-1y45c82/osrm-backend-5.27.1/include/extractor/suffix_table.hpp:38:30: error: implicit instantiation of undefined template 'std::vector<std::string>'
std::vector<std::string> suffixes;
^
/Library/Developer/CommandLineTools/SDKs/MacOSX13.sdk/usr/include/c++/v1/iosfwd:259:28: note: template is declared here
class _LIBCPP_TEMPLATE_VIS vector;
^
This build issue is quite weird. Initially I thought we just don't have all includes(for vector and string), but we have all of them:
https://github.com/Project-OSRM/osrm-backend/blob/95c45239873818ec5d982dd5f7bfb4f66930fec4/include/extractor/suffix_table.hpp#L4
This build issue is quite weird. Initially I thought we just don't have all includes(for
vectorandstring), but we have all of them:https://github.com/Project-OSRM/osrm-backend/blob/95c45239873818ec5d982dd5f7bfb4f66930fec4/include/extractor/suffix_table.hpp#L4
I was thinking about the same, very weird.
you can try adding #include
Guys, is there an (easy) work around in the meantime to solve this issue? Today I've installed the latest versions of both osrm-backend (5.27.1) using git clone, and boost (1.81.0) using Macports, and my the output resembles that of chenrui333.
Any help is appreciated.
@martinvanbuuren I believe you can downgrade to older version of Boost.
@SiarheiFedartsou Downgrading to boost 1.76 did the job.
For others, here some useful commands.
sudo port uninstall boost
sudo port uninstall boost181
brew uninstall boost
brew install [email protected]
brew link [email protected]
https://github.com/Project-OSRM/osrm-backend/pull/6709 resolved issues with Boost 1.8x, so this should be fine now?
This issue seems to be stale. It will be closed in 30 days if no further activity occurs.