From 897c40d1f3cae3540a1484fbe244a879c11adedd Mon Sep 17 00:00:00 2001 From: Jeremiah Lewis <4462211+jeremiahpslewis@users.noreply.github.com> Date: Fri, 14 Jun 2024 10:02:48 +0200 Subject: [PATCH 01/90] Add back OSRM --- O/OSRM/build_tarballs.jl | 127 +++++++++++++++++++++++++++++ O/OSRM/bundled/patches/mingw.patch | 89 ++++++++++++++++++++ 2 files changed, 216 insertions(+) create mode 100644 O/OSRM/build_tarballs.jl create mode 100644 O/OSRM/bundled/patches/mingw.patch diff --git a/O/OSRM/build_tarballs.jl b/O/OSRM/build_tarballs.jl new file mode 100644 index 00000000000..390450aa5dd --- /dev/null +++ b/O/OSRM/build_tarballs.jl @@ -0,0 +1,127 @@ +# Note that this script can accept some limited command-line arguments, run +# `julia build_tarballs.jl --help` to see a usage message. +using BinaryBuilder, Pkg + +name = "OSRM" +version = v"5.28.0" # UNTAGGED / ASK FOR NEW RELEASE TAG + +# Collection of sources required to complete build +sources = [ + GitSource("https://github.com/Project-OSRM/osrm-backend.git", "aa4e6b1cf332db07dbccf3eaaa6529b83842e81f"), + DirectorySource("./bundled"), +] + +# Bash recipe for building across all platforms +script = raw""" +cd $WORKSPACE/srcdir/osrm-backend + +if [[ ${target} == *mingw* ]]; then + # Patch to fix build on MINGW + atomic_patch -p1 ${WORKSPACE}/srcdir/patches/mingw.patch +fi + +CFLAGS="-Wno-error=suggest-override" + +mkdir build && cd build + +CMAKE_FLAGS=() +CMAKE_FLAGS+=(-DCMAKE_INSTALL_PREFIX=${prefix}) +CMAKE_FLAGS+=(-DCMAKE_TOOLCHAIN_FILE=${CMAKE_TARGET_TOOLCHAIN}) +CMAKE_FLAGS+=(-DCMAKE_BUILD_TYPE=Release) +CMAKE_FLAGS+=(-DBUILD_SHARED_LIBS=ON) +CMAKE_FLAGS+=(-DENABLE_CCACHE=OFF) +CMAKE_FLAGS+=(-Wno-dev) +CMAKE_FLAGS+=(-DENABLE_MASON=OFF) +CMAKE_FLAGS+=(-DZLIB_INCLUDE_DIRS=${includedir}) +CMAKE_FLAGS+=(-DZLIB_LIBRARY="${libdir}/libz.${dlext}") +CMAKE_FLAGS+=(-DZLIB_LIBRARIES="${libdir}/libz.${dlext}") + +if [[ ${target} == *mingw* ]]; then + # https://docs.microsoft.com/en-us/windows/win32/api/winbase/nf-winbase-createsemaphoreexa + export CXXFLAGS="-D_WIN32_WINNT=0x0600" + + CMAKE_FLAGS+=(-DLUA_INCLUDE_DIR=${includedir}) + CMAKE_FLAGS+=(-DLUA_LIBRARIES=${libdir}/liblua.${dlext}) +fi + +cmake .. ${CMAKE_FLAGS[@]} +cmake --build . -j${nproc} +cmake --build . -j${nproc} --target install + +cp osrm-* ${bindir} +cp libosrm* ${libdir} + +cp ../profiles/*.lua ${prefix} +cp ../profiles/lib/*.lua ${prefix}/lib +""" + +# These are the platforms we will build for by default, unless further +# platforms are passed in on the command line +# oneTBB_jll isn't available for Windows i686 on Yggdrasil (version 2021.5.0) +# oneTBB_jll isn't available for armv6l, armv7l +# musl builds with lots of TBB errors like 'undefined reference to `getcontext'' +platforms = supported_platforms(; exclude=p -> + # Sys.iswindows(p) || + # Sys.isapple(p) || + (libc(p) == "musl") + ) + +platforms = expand_cxxstring_abis(platforms) + +# The products that we will ensure are always built +products = Product[ + ExecutableProduct("osrm-routed", :osrm_routed) + ExecutableProduct("osrm-partition", :osrm_partition) + ExecutableProduct("osrm-components", :osrm_components) + ExecutableProduct("osrm-contract", :osrm_contract) + ExecutableProduct("osrm-customize", :osrm_customize) + ExecutableProduct("osrm-datastore", :osrm_datastore) + ExecutableProduct("osrm-extract", :osrm_extract) + LibraryProduct("libosrm", :libosrm) + LibraryProduct("libosrm_contract", :libosrm_contract) + LibraryProduct("libosrm_customize", :libosrm_customize) + LibraryProduct("libosrm_extract", :libosrm_extract) + LibraryProduct("libosrm_guidance", :libosrm_guidance) + LibraryProduct("libosrm_partition", :libosrm_partition) + LibraryProduct("libosrm_store", :libosrm_store) + LibraryProduct("libosrm_update", :libosrm_update) + FileProduct("bicycle.lua", :bicycle) + FileProduct("debug_way.lua", :debug_way) + FileProduct("test.lua", :test) + FileProduct("car.lua", :car) + FileProduct("rasterbot.lua", :rasterbot) + FileProduct("testbot.lua", :testbot) + FileProduct("debug_example.lua", :debug_example) + FileProduct("foot.lua", :foot) + FileProduct("rasterbotinterp.lua", :rasterbotinterp) + FileProduct("turnbot.lua", :turnbot) + FileProduct("lib/access.lua", :lib_access) + FileProduct("lib/maxspeed.lua", :lib_maxspeed) + FileProduct("lib/profile_debugger.lua", :lib_profile_debugger) + FileProduct("lib/set.lua", :lib_set) + FileProduct("lib/utils.lua", :lib_utils) + FileProduct("lib/destination.lua", :lib_destination) + FileProduct("lib/measure.lua", :lib_measure) + FileProduct("lib/relations.lua", :lib_relations) + FileProduct("lib/tags.lua", :lib_tags) + FileProduct("lib/way_handlers.lua", :lib_way_handlers) + FileProduct("lib/guidance.lua", :lib_guidance) + FileProduct("lib/pprint.lua", :lib_pprint) + FileProduct("lib/sequence.lua", :lib_sequence) + FileProduct("lib/traffic_signal.lua", :lib_traffic_signal) +] + +# Dependencies that must be installed before this package can be built +dependencies = [ + Dependency("Bzip2_jll"; compat="1.0.8") + Dependency("boost_jll"; compat="=1.76.0") + Dependency("Expat_jll"; compat="2.2.10") + Dependency("XML2_jll") + Dependency("oneTBB_jll"; compat="2021.8.0") + Dependency("Lua_jll"; compat="~5.4.3") + HostBuildDependency("Lua_jll") + Dependency("CompilerSupportLibraries_jll"; platforms=filter(!Sys.isbsd, platforms)) +] + +# Build the tarballs, and possibly a `build.jl` as well. +build_tarballs(ARGS, name, version, sources, script, platforms, products, dependencies; julia_compat="1.6", preferred_gcc_version = v"9") diff --git a/O/OSRM/bundled/patches/mingw.patch b/O/OSRM/bundled/patches/mingw.patch new file mode 100644 index 00000000000..f252279122b --- /dev/null +++ b/O/OSRM/bundled/patches/mingw.patch @@ -0,0 +1,89 @@ +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -1,6 +1,11 @@ + cmake_minimum_required(VERSION 3.18) + +-set(CMAKE_CXX_STANDARD 17) ++if(MINGW) ++ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=gnu++17") ++else() ++ set(CMAKE_CXX_STANDARD 17) ++endif() ++ + set(CMAKE_CXX_STANDARD_REQUIRED ON) + set(CMAKE_CXX_EXTENSIONS OFF) + +@@ -253,6 +258,10 @@ elseif(CMAKE_CXX_COMPILER_ID MATCHES "GNU") + # using GCC + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 ${COLOR_FLAG} -fPIC -ftemplate-depth=1024") + ++ if(MINGW) ++ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -U__STRICT_ANSI__") ++ endif() ++ + if(WIN32) # using mingw + add_dependency_defines(-DWIN32) + set(OPTIONAL_SOCKET_LIBS ws2_32 wsock32) +@@ -374,9 +383,28 @@ if(ENABLE_CONAN) + add_dependency_includes(${CONAN_INCLUDE_DIRS_LUA}) + add_dependency_includes(${CONAN_INCLUDE_DIRS_TBB}) + +- set(Boost_USE_STATIC_LIBS ON) +- find_package(Boost REQUIRED COMPONENTS ${BOOST_COMPONENTS}) +- set(Boost_DATE_TIME_LIBRARY "${Boost_date_time_LIB_TARGETS}") ++ # boost ++ # FROM: https://stackoverflow.com/questions/28887680/linking-boost-library-with-boost-use-static-lib-off-on-windows ++ set(Boost_NO_SYSTEM_PATHS true) ++ set (Boost_USE_STATIC_LIBS OFF CACHE BOOL "use static libraries from Boost") ++ set (Boost_USE_MULTITHREADED ON) ++ find_package(Boost REQUIRED ++ COMPONENTS ++ system program_options thread filesystem ++ date_time chrono timer regex serialization ++ ) ++ include_directories(${Boost_INCLUDE_DIRS}) ++ link_libraries(${Boost_LIBRARIES}) ++ ++ if (WIN32) ++ # disable autolinking in boost ++ add_definitions( -DBOOST_ALL_NO_LIB ) ++ ++ # force all boost libraries to dynamic link (we already disabled ++ # autolinking, so I don't know why we need this, but we do!) ++ add_definitions( -DBOOST_ALL_DYN_LINK ) ++ endif() ++ set(Boost_DATE_TIME_LIBRARY "${Boost_date_time_LIB_TARGETS}") + set(Boost_CHRONO_LIBRARY "${Boost_chrono_LIB_TARGETS}") + set(Boost_PROGRAM_OPTIONS_LIBRARY "${Boost_program_options_LIB_TARGETS}") + set(Boost_FILESYSTEM_LIBRARY "${Boost_filesystem_LIB_TARGETS}") +diff --git a/cmake/warnings.cmake b/cmake/warnings.cmake +index ad9cfb086..6043613f6 100644 +--- a/cmake/warnings.cmake ++++ b/cmake/warnings.cmake +@@ -79,15 +79,19 @@ add_warning(sizeof-array-argument) + add_warning(switch-bool) + add_warning(tautological-compare) + add_warning(trampolines) +-no_warning(c++17-extensions) + # TODO: these warnings are not enabled by default, but we consider them as useful and good to enable in the future +-no_warning(implicit-int-conversion) +-no_warning(implicit-float-conversion) +-no_warning(unused-member-function) + no_warning(old-style-cast) + no_warning(non-virtual-dtor) + no_warning(float-conversion) + no_warning(sign-conversion) +-no_warning(shorten-64-to-32) + no_warning(padded) +-no_warning(missing-noreturn) +\ No newline at end of file ++no_warning(missing-noreturn) ++ ++# These calls are not available on mingw ++if(NOT MINGW) ++ no_warning(shorten-64-to-32) ++ no_warning(implicit-float-conversion) ++ no_warning(unused-member-function) ++ no_warning(implicit-int-conversion) ++ no_warning(c++17-extensions) ++endif() From 2887931c90948d62040725ce55909404ebdd9ed4 Mon Sep 17 00:00:00 2001 From: Jeremiah <4462211+jeremiahpslewis@users.noreply.github.com> Date: Fri, 14 Jun 2024 10:15:15 +0200 Subject: [PATCH 02/90] try gcc 10 --- O/OSRM/build_tarballs.jl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/O/OSRM/build_tarballs.jl b/O/OSRM/build_tarballs.jl index 390450aa5dd..c7c923c2793 100644 --- a/O/OSRM/build_tarballs.jl +++ b/O/OSRM/build_tarballs.jl @@ -124,4 +124,4 @@ dependencies = [ ] # Build the tarballs, and possibly a `build.jl` as well. -build_tarballs(ARGS, name, version, sources, script, platforms, products, dependencies; julia_compat="1.6", preferred_gcc_version = v"9") +build_tarballs(ARGS, name, version, sources, script, platforms, products, dependencies; julia_compat="1.6", preferred_gcc_version = v"10") From b9c0a37d7cdbaa3c7d4ac48f359dd9864665e315 Mon Sep 17 00:00:00 2001 From: Jeremiah <4462211+jeremiahpslewis@users.noreply.github.com> Date: Fri, 14 Jun 2024 10:27:03 +0200 Subject: [PATCH 03/90] Try gcc 13 --- O/OSRM/build_tarballs.jl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/O/OSRM/build_tarballs.jl b/O/OSRM/build_tarballs.jl index c7c923c2793..d5a7afccd07 100644 --- a/O/OSRM/build_tarballs.jl +++ b/O/OSRM/build_tarballs.jl @@ -124,4 +124,4 @@ dependencies = [ ] # Build the tarballs, and possibly a `build.jl` as well. -build_tarballs(ARGS, name, version, sources, script, platforms, products, dependencies; julia_compat="1.6", preferred_gcc_version = v"10") +build_tarballs(ARGS, name, version, sources, script, platforms, products, dependencies; julia_compat="1.6", preferred_gcc_version = v"13") From 5c2c9b8accde5d67be478caeced704bce4860a8b Mon Sep 17 00:00:00 2001 From: Jeremiah <4462211+jeremiahpslewis@users.noreply.github.com> Date: Fri, 14 Jun 2024 10:52:05 +0200 Subject: [PATCH 04/90] Comment out mingw patch --- O/OSRM/build_tarballs.jl | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/O/OSRM/build_tarballs.jl b/O/OSRM/build_tarballs.jl index d5a7afccd07..99cc375b9d1 100644 --- a/O/OSRM/build_tarballs.jl +++ b/O/OSRM/build_tarballs.jl @@ -15,10 +15,10 @@ sources = [ script = raw""" cd $WORKSPACE/srcdir/osrm-backend -if [[ ${target} == *mingw* ]]; then - # Patch to fix build on MINGW - atomic_patch -p1 ${WORKSPACE}/srcdir/patches/mingw.patch -fi +# if [[ ${target} == *mingw* ]]; then +# # Patch to fix build on MINGW +# atomic_patch -p1 ${WORKSPACE}/srcdir/patches/mingw.patch +# fi CFLAGS="-Wno-error=suggest-override" From 9cb97a68f1d7ee855638cc0aa4daf2dc137c985d Mon Sep 17 00:00:00 2001 From: Jeremiah <4462211+jeremiahpslewis@users.noreply.github.com> Date: Fri, 14 Jun 2024 11:00:22 +0200 Subject: [PATCH 05/90] Add c++20 compatible Mac sdk --- O/OSRM/build_tarballs.jl | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/O/OSRM/build_tarballs.jl b/O/OSRM/build_tarballs.jl index 99cc375b9d1..4831b8dec11 100644 --- a/O/OSRM/build_tarballs.jl +++ b/O/OSRM/build_tarballs.jl @@ -9,10 +9,26 @@ version = v"5.28.0" # UNTAGGED / ASK FOR NEW RELEASE TAG sources = [ GitSource("https://github.com/Project-OSRM/osrm-backend.git", "aa4e6b1cf332db07dbccf3eaaa6529b83842e81f"), DirectorySource("./bundled"), + # OSRM requires C++20, which needs a newer SDK + ArchiveSource("https://github.com/realjf/MacOSX-SDKs/releases/download/v0.0.1/MacOSX12.3.sdk.tar.xz", + "a511c1cf1ebfe6fe3b8ec005374b9c05e89ac28b3d4eb468873f59800c02b030"), ] +sdk_update_script = raw""" +if [[ "${target}" == *-apple-darwin* ]]; then + # Install a newer SDK which supports C++20 + pushd $WORKSPACE/srcdir/MacOSX12.*.sdk + rm -rf /opt/${target}/${target}/sys-root/System + rm -rf /opt/${target}/${target}/sys-root/usr/* + cp -ra usr/* "/opt/${target}/${target}/sys-root/usr/." + cp -ra System "/opt/${target}/${target}/sys-root/." + popd + export MACOSX_DEPLOYMENT_TARGET=12.3 +fi +""" + # Bash recipe for building across all platforms -script = raw""" +script = sdk_update_script * raw""" cd $WORKSPACE/srcdir/osrm-backend # if [[ ${target} == *mingw* ]]; then From 9f00d186ed861cb8e303c360906be0e6c9f4beac Mon Sep 17 00:00:00 2001 From: Jeremiah <4462211+jeremiahpslewis@users.noreply.github.com> Date: Fri, 14 Jun 2024 11:06:04 +0200 Subject: [PATCH 06/90] try later version of boost --- O/OSRM/build_tarballs.jl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/O/OSRM/build_tarballs.jl b/O/OSRM/build_tarballs.jl index 4831b8dec11..493cc7ceacd 100644 --- a/O/OSRM/build_tarballs.jl +++ b/O/OSRM/build_tarballs.jl @@ -130,7 +130,7 @@ products = Product[ # Dependencies that must be installed before this package can be built dependencies = [ Dependency("Bzip2_jll"; compat="1.0.8") - Dependency("boost_jll"; compat="=1.76.0") + Dependency("boost_jll"; compat="=1.79.0") # Earlier versions of boost seem uncompatible with C++20 deprecations Dependency("Expat_jll"; compat="2.2.10") Dependency("XML2_jll") Dependency("oneTBB_jll"; compat="2021.8.0") From b051e8c74365295fa3e1f1e916d40f782db51ac4 Mon Sep 17 00:00:00 2001 From: Jeremiah <4462211+jeremiahpslewis@users.noreply.github.com> Date: Fri, 14 Jun 2024 11:11:53 +0200 Subject: [PATCH 07/90] Drop 32 bit systems --- O/OSRM/build_tarballs.jl | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/O/OSRM/build_tarballs.jl b/O/OSRM/build_tarballs.jl index 493cc7ceacd..7de1a3f3881 100644 --- a/O/OSRM/build_tarballs.jl +++ b/O/OSRM/build_tarballs.jl @@ -79,7 +79,8 @@ cp ../profiles/lib/*.lua ${prefix}/lib platforms = supported_platforms(; exclude=p -> # Sys.iswindows(p) || # Sys.isapple(p) || - (libc(p) == "musl") + (libc(p) == "musl") || + (nbits(p) == 32) ) platforms = expand_cxxstring_abis(platforms) From 38a965b71ea1be69a5e42f66b7301ecd97cc7f28 Mon Sep 17 00:00:00 2001 From: Jeremiah <4462211+jeremiahpslewis@users.noreply.github.com> Date: Fri, 14 Jun 2024 11:23:14 +0200 Subject: [PATCH 08/90] use clang for all builds --- O/OSRM/build_tarballs.jl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/O/OSRM/build_tarballs.jl b/O/OSRM/build_tarballs.jl index 7de1a3f3881..39b303bc63d 100644 --- a/O/OSRM/build_tarballs.jl +++ b/O/OSRM/build_tarballs.jl @@ -42,7 +42,7 @@ mkdir build && cd build CMAKE_FLAGS=() CMAKE_FLAGS+=(-DCMAKE_INSTALL_PREFIX=${prefix}) -CMAKE_FLAGS+=(-DCMAKE_TOOLCHAIN_FILE=${CMAKE_TARGET_TOOLCHAIN}) +CMAKE_FLAGS+=(-DCMAKE_TOOLCHAIN_FILE=${CMAKE_TARGET_TOOLCHAIN%.*}_clang.cmake) CMAKE_FLAGS+=(-DCMAKE_BUILD_TYPE=Release) CMAKE_FLAGS+=(-DBUILD_SHARED_LIBS=ON) CMAKE_FLAGS+=(-DENABLE_CCACHE=OFF) From 40a522cd186951d99d61e180bdb538a8e267deec Mon Sep 17 00:00:00 2001 From: Jeremiah <4462211+jeremiahpslewis@users.noreply.github.com> Date: Fri, 14 Jun 2024 11:38:48 +0200 Subject: [PATCH 09/90] Try boost 1.76 again --- O/OSRM/build_tarballs.jl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/O/OSRM/build_tarballs.jl b/O/OSRM/build_tarballs.jl index 39b303bc63d..812387e2699 100644 --- a/O/OSRM/build_tarballs.jl +++ b/O/OSRM/build_tarballs.jl @@ -131,7 +131,7 @@ products = Product[ # Dependencies that must be installed before this package can be built dependencies = [ Dependency("Bzip2_jll"; compat="1.0.8") - Dependency("boost_jll"; compat="=1.79.0") # Earlier versions of boost seem uncompatible with C++20 deprecations + Dependency("boost_jll"; compat="=1.76.0") # 1.79... Earlier versions of boost seem uncompatible with C++20 deprecations Dependency("Expat_jll"; compat="2.2.10") Dependency("XML2_jll") Dependency("oneTBB_jll"; compat="2021.8.0") From 7780ba6d9c5ef13f968687986f6c9f4c061468b4 Mon Sep 17 00:00:00 2001 From: Jeremiah <4462211+jeremiahpslewis@users.noreply.github.com> Date: Fri, 14 Jun 2024 11:40:48 +0200 Subject: [PATCH 10/90] set mingw flag according to onetbb --- O/OSRM/build_tarballs.jl | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/O/OSRM/build_tarballs.jl b/O/OSRM/build_tarballs.jl index 812387e2699..590c6e40857 100644 --- a/O/OSRM/build_tarballs.jl +++ b/O/OSRM/build_tarballs.jl @@ -31,10 +31,11 @@ fi script = sdk_update_script * raw""" cd $WORKSPACE/srcdir/osrm-backend -# if [[ ${target} == *mingw* ]]; then -# # Patch to fix build on MINGW -# atomic_patch -p1 ${WORKSPACE}/srcdir/patches/mingw.patch -# fi +if [[ ${target} == *mingw* ]]; then + # oneTBB requires at least Windows Vista/Server 2008: + # https://docs.microsoft.com/en-us/windows/win32/api/winbase/nf-winbase-createsemaphoreexa + export CXXFLAGS="-D_WIN32_WINNT=0x0600" +fi CFLAGS="-Wno-error=suggest-override" From 40fa3817a3fd222b4a2e8983bb70267c88891572 Mon Sep 17 00:00:00 2001 From: Jeremiah <4462211+jeremiahpslewis@users.noreply.github.com> Date: Fri, 14 Jun 2024 11:46:41 +0200 Subject: [PATCH 11/90] Revert to boost 1.79 --- O/OSRM/build_tarballs.jl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/O/OSRM/build_tarballs.jl b/O/OSRM/build_tarballs.jl index 590c6e40857..959e304a9c1 100644 --- a/O/OSRM/build_tarballs.jl +++ b/O/OSRM/build_tarballs.jl @@ -132,7 +132,7 @@ products = Product[ # Dependencies that must be installed before this package can be built dependencies = [ Dependency("Bzip2_jll"; compat="1.0.8") - Dependency("boost_jll"; compat="=1.76.0") # 1.79... Earlier versions of boost seem uncompatible with C++20 deprecations + Dependency("boost_jll"; compat="=1.79.0") # Earlier versions of boost seem uncompatible with C++20 deprecations Dependency("Expat_jll"; compat="2.2.10") Dependency("XML2_jll") Dependency("oneTBB_jll"; compat="2021.8.0") From ae75969416d2e5ea3bf4015220b4700ba36e63b3 Mon Sep 17 00:00:00 2001 From: Jeremiah <4462211+jeremiahpslewis@users.noreply.github.com> Date: Fri, 14 Jun 2024 12:10:04 +0200 Subject: [PATCH 12/90] better accommodate mingw --- O/OSRM/build_tarballs.jl | 10 ++- O/OSRM/bundled/patches/mingw.patch | 114 +++++++---------------------- 2 files changed, 37 insertions(+), 87 deletions(-) diff --git a/O/OSRM/build_tarballs.jl b/O/OSRM/build_tarballs.jl index 959e304a9c1..7228c8b5ade 100644 --- a/O/OSRM/build_tarballs.jl +++ b/O/OSRM/build_tarballs.jl @@ -32,6 +32,8 @@ script = sdk_update_script * raw""" cd $WORKSPACE/srcdir/osrm-backend if [[ ${target} == *mingw* ]]; then + atomic_patch -p1 "${WORKSPACE}/srcdir/patches/mingw.patch" + # oneTBB requires at least Windows Vista/Server 2008: # https://docs.microsoft.com/en-us/windows/win32/api/winbase/nf-winbase-createsemaphoreexa export CXXFLAGS="-D_WIN32_WINNT=0x0600" @@ -43,7 +45,13 @@ mkdir build && cd build CMAKE_FLAGS=() CMAKE_FLAGS+=(-DCMAKE_INSTALL_PREFIX=${prefix}) -CMAKE_FLAGS+=(-DCMAKE_TOOLCHAIN_FILE=${CMAKE_TARGET_TOOLCHAIN%.*}_clang.cmake) + +if [[ ${target} == *mingw* ]]; then + CMAKE_FLAGS+=(-DCMAKE_TOOLCHAIN_FILE=${CMAKE_TARGET_TOOLCHAIN}) +else + CMAKE_FLAGS+=(-DCMAKE_TOOLCHAIN_FILE=${CMAKE_TARGET_TOOLCHAIN%.*}_clang.cmake) +fi + CMAKE_FLAGS+=(-DCMAKE_BUILD_TYPE=Release) CMAKE_FLAGS+=(-DBUILD_SHARED_LIBS=ON) CMAKE_FLAGS+=(-DENABLE_CCACHE=OFF) diff --git a/O/OSRM/bundled/patches/mingw.patch b/O/OSRM/bundled/patches/mingw.patch index f252279122b..00ee0d65e0c 100644 --- a/O/OSRM/bundled/patches/mingw.patch +++ b/O/OSRM/bundled/patches/mingw.patch @@ -1,89 +1,31 @@ ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -1,6 +1,11 @@ - cmake_minimum_required(VERSION 3.18) +--- a/cmake/compilers/GNU.cmake ++++ b/cmake/compilers/GNU.cmake +@@ -50,7 +50,6 @@ + if (NOT ${CMAKE_CXX_COMPILER_ID} STREQUAL Intel) + # gcc 6.0 and later have -flifetime-dse option that controls elimination of stores done outside the object lifetime + set(TBB_DSE_FLAG $<$>:-flifetime-dse=1>) +- set(TBB_COMMON_COMPILE_FLAGS ${TBB_COMMON_COMPILE_FLAGS} $<$>:-fstack-clash-protection>) + endif() --set(CMAKE_CXX_STANDARD 17) -+if(MINGW) -+ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=gnu++17") -+else() -+ set(CMAKE_CXX_STANDARD 17) -+endif() -+ - set(CMAKE_CXX_STANDARD_REQUIRED ON) - set(CMAKE_CXX_EXTENSIONS OFF) + # Workaround for heavy tests and too many symbols in debug (rellocation truncated to fit: R_MIPS_CALL16) +@@ -63,6 +63,9 @@ endif() + set(TBB_IPO_COMPILE_FLAGS $<$>:-flto>) + set(TBB_IPO_LINK_FLAGS $<$>:-flto>) -@@ -253,6 +258,10 @@ elseif(CMAKE_CXX_COMPILER_ID MATCHES "GNU") - # using GCC - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 ${COLOR_FLAG} -fPIC -ftemplate-depth=1024") ++if (MINGW) ++ list(APPEND TBB_COMMON_COMPILE_FLAGS -U__STRICT_ANSI__) ++ endif() -+ if(MINGW) -+ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -U__STRICT_ANSI__") -+ endif() -+ - if(WIN32) # using mingw - add_dependency_defines(-DWIN32) - set(OPTIONAL_SOCKET_LIBS ws2_32 wsock32) -@@ -374,9 +383,28 @@ if(ENABLE_CONAN) - add_dependency_includes(${CONAN_INCLUDE_DIRS_LUA}) - add_dependency_includes(${CONAN_INCLUDE_DIRS_TBB}) - -- set(Boost_USE_STATIC_LIBS ON) -- find_package(Boost REQUIRED COMPONENTS ${BOOST_COMPONENTS}) -- set(Boost_DATE_TIME_LIBRARY "${Boost_date_time_LIB_TARGETS}") -+ # boost -+ # FROM: https://stackoverflow.com/questions/28887680/linking-boost-library-with-boost-use-static-lib-off-on-windows -+ set(Boost_NO_SYSTEM_PATHS true) -+ set (Boost_USE_STATIC_LIBS OFF CACHE BOOL "use static libraries from Boost") -+ set (Boost_USE_MULTITHREADED ON) -+ find_package(Boost REQUIRED -+ COMPONENTS -+ system program_options thread filesystem -+ date_time chrono timer regex serialization -+ ) -+ include_directories(${Boost_INCLUDE_DIRS}) -+ link_libraries(${Boost_LIBRARIES}) -+ -+ if (WIN32) -+ # disable autolinking in boost -+ add_definitions( -DBOOST_ALL_NO_LIB ) -+ -+ # force all boost libraries to dynamic link (we already disabled -+ # autolinking, so I don't know why we need this, but we do!) -+ add_definitions( -DBOOST_ALL_DYN_LINK ) -+ endif() -+ set(Boost_DATE_TIME_LIBRARY "${Boost_date_time_LIB_TARGETS}") - set(Boost_CHRONO_LIBRARY "${Boost_chrono_LIB_TARGETS}") - set(Boost_PROGRAM_OPTIONS_LIBRARY "${Boost_program_options_LIB_TARGETS}") - set(Boost_FILESYSTEM_LIBRARY "${Boost_filesystem_LIB_TARGETS}") -diff --git a/cmake/warnings.cmake b/cmake/warnings.cmake -index ad9cfb086..6043613f6 100644 ---- a/cmake/warnings.cmake -+++ b/cmake/warnings.cmake -@@ -79,15 +79,19 @@ add_warning(sizeof-array-argument) - add_warning(switch-bool) - add_warning(tautological-compare) - add_warning(trampolines) --no_warning(c++17-extensions) - # TODO: these warnings are not enabled by default, but we consider them as useful and good to enable in the future --no_warning(implicit-int-conversion) --no_warning(implicit-float-conversion) --no_warning(unused-member-function) - no_warning(old-style-cast) - no_warning(non-virtual-dtor) - no_warning(float-conversion) - no_warning(sign-conversion) --no_warning(shorten-64-to-32) - no_warning(padded) --no_warning(missing-noreturn) -\ No newline at end of file -+no_warning(missing-noreturn) -+ -+# These calls are not available on mingw -+if(NOT MINGW) -+ no_warning(shorten-64-to-32) -+ no_warning(implicit-float-conversion) -+ no_warning(unused-member-function) -+ no_warning(implicit-int-conversion) -+ no_warning(c++17-extensions) -+endif() + if (MINGW AND CMAKE_SYSTEM_PROCESSOR MATCHES "i.86") + list (APPEND TBB_COMMON_COMPILE_FLAGS -msse2) +--- a/src/tbb/tools_api/ittnotify_config.h ++++ b/src/tbb/tools_api/ittnotify_config.h +@@ -284,7 +284,7 @@ + #define __itt_unload_lib(handle) FreeLibrary(handle) + #define __itt_system_error() (int)GetLastError() + #define __itt_fstrcmp(s1, s2) lstrcmpA(s1, s2) +-#define __itt_fstrnlen(s, l) strnlen_s(s, l) ++#define __itt_fstrnlen(s, l) strnlen(s, l) + #define __itt_fstrcpyn(s1, b, s2, l) strncpy_s(s1, b, s2, l) + #define __itt_thread_id() GetCurrentThreadId() + #define __itt_thread_yield() SwitchToThread() \ No newline at end of file From ed4073c88323b70b89d248dda5097ace6f91a711 Mon Sep 17 00:00:00 2001 From: Jeremiah Lewis <4462211+jeremiahpslewis@users.noreply.github.com> Date: Fri, 14 Jun 2024 11:34:38 +0000 Subject: [PATCH 13/90] Fix mingw patch --- O/OSRM/bundled/patches/mingw.patch | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/O/OSRM/bundled/patches/mingw.patch b/O/OSRM/bundled/patches/mingw.patch index 00ee0d65e0c..8ce5f0fa6a2 100644 --- a/O/OSRM/bundled/patches/mingw.patch +++ b/O/OSRM/bundled/patches/mingw.patch @@ -28,4 +28,4 @@ +#define __itt_fstrnlen(s, l) strnlen(s, l) #define __itt_fstrcpyn(s1, b, s2, l) strncpy_s(s1, b, s2, l) #define __itt_thread_id() GetCurrentThreadId() - #define __itt_thread_yield() SwitchToThread() \ No newline at end of file + #define __itt_thread_yield() SwitchToThread() From 86c71a7b1c7fbb681b25436a196276921b0803e2 Mon Sep 17 00:00:00 2001 From: Jeremiah Lewis <4462211+jeremiahpslewis@users.noreply.github.com> Date: Fri, 14 Jun 2024 11:35:00 +0000 Subject: [PATCH 14/90] Add missing image line to devcontainer.json --- .devcontainer/devcontainer.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json index a15fb46c223..f235c9c46fe 100644 --- a/.devcontainer/devcontainer.json +++ b/.devcontainer/devcontainer.json @@ -1,4 +1,5 @@ { + "image": "mcr.microsoft.com/devcontainers/base:debian", "features": { "ghcr.io/julialang/devcontainer-features/julia:1": { "channel": "1.7" @@ -11,5 +12,5 @@ "gpu": "optional" }, "privileged": true, - "onCreateCommand": "julia -e 'using Pkg; Pkg.precompile();'" + "onCreateCommand": "julia -e 'using Pkg; Pkg.precompile();'", } From 3ad0b1131d99ce1015118780a7c36195a252c8ce Mon Sep 17 00:00:00 2001 From: Jeremiah Lewis <4462211+jeremiahpslewis@users.noreply.github.com> Date: Fri, 14 Jun 2024 11:38:19 +0000 Subject: [PATCH 15/90] Drop unnecessary part of patch --- O/OSRM/bundled/patches/mingw.patch | 11 ----------- 1 file changed, 11 deletions(-) diff --git a/O/OSRM/bundled/patches/mingw.patch b/O/OSRM/bundled/patches/mingw.patch index 8ce5f0fa6a2..ca31ade3060 100644 --- a/O/OSRM/bundled/patches/mingw.patch +++ b/O/OSRM/bundled/patches/mingw.patch @@ -18,14 +18,3 @@ if (MINGW AND CMAKE_SYSTEM_PROCESSOR MATCHES "i.86") list (APPEND TBB_COMMON_COMPILE_FLAGS -msse2) ---- a/src/tbb/tools_api/ittnotify_config.h -+++ b/src/tbb/tools_api/ittnotify_config.h -@@ -284,7 +284,7 @@ - #define __itt_unload_lib(handle) FreeLibrary(handle) - #define __itt_system_error() (int)GetLastError() - #define __itt_fstrcmp(s1, s2) lstrcmpA(s1, s2) --#define __itt_fstrnlen(s, l) strnlen_s(s, l) -+#define __itt_fstrnlen(s, l) strnlen(s, l) - #define __itt_fstrcpyn(s1, b, s2, l) strncpy_s(s1, b, s2, l) - #define __itt_thread_id() GetCurrentThreadId() - #define __itt_thread_yield() SwitchToThread() From 95916f4983b700f5747efaaae31f8ba58b17090e Mon Sep 17 00:00:00 2001 From: Jeremiah Lewis <4462211+jeremiahpslewis@users.noreply.github.com> Date: Fri, 14 Jun 2024 11:44:28 +0000 Subject: [PATCH 16/90] update patch --- O/OSRM/bundled/patches/mingw.patch | 35 +++++++++++++----------------- 1 file changed, 15 insertions(+), 20 deletions(-) diff --git a/O/OSRM/bundled/patches/mingw.patch b/O/OSRM/bundled/patches/mingw.patch index ca31ade3060..e9af896f6b5 100644 --- a/O/OSRM/bundled/patches/mingw.patch +++ b/O/OSRM/bundled/patches/mingw.patch @@ -1,20 +1,15 @@ ---- a/cmake/compilers/GNU.cmake -+++ b/cmake/compilers/GNU.cmake -@@ -50,7 +50,6 @@ - if (NOT ${CMAKE_CXX_COMPILER_ID} STREQUAL Intel) - # gcc 6.0 and later have -flifetime-dse option that controls elimination of stores done outside the object lifetime - set(TBB_DSE_FLAG $<$>:-flifetime-dse=1>) -- set(TBB_COMMON_COMPILE_FLAGS ${TBB_COMMON_COMPILE_FLAGS} $<$>:-fstack-clash-protection>) - endif() - - # Workaround for heavy tests and too many symbols in debug (rellocation truncated to fit: R_MIPS_CALL16) -@@ -63,6 +63,9 @@ endif() - set(TBB_IPO_COMPILE_FLAGS $<$>:-flto>) - set(TBB_IPO_LINK_FLAGS $<$>:-flto>) - -+if (MINGW) -+ list(APPEND TBB_COMMON_COMPILE_FLAGS -U__STRICT_ANSI__) -+ endif() - - if (MINGW AND CMAKE_SYSTEM_PROCESSOR MATCHES "i.86") - list (APPEND TBB_COMMON_COMPILE_FLAGS -msse2) +index 1876d6b85..baf7f7238 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -256,6 +256,11 @@ elseif(CMAKE_CXX_COMPILER_ID MATCHES "GNU") + add_dependency_defines(-DWIN32) + set(OPTIONAL_SOCKET_LIBS ws2_32 wsock32) + endif() ++ ++ if (MINGW) ++ list(APPEND TBB_COMMON_COMPILE_FLAGS -U__STRICT_ANSI__) ++ endif() ++ + elseif(CMAKE_CXX_COMPILER_ID MATCHES "Intel") + # using Intel C++ + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -static-intel -wd10237 -Wall -ipo -fPIC") From 2142a39ae850bf456255bb12c77582a7011e2015 Mon Sep 17 00:00:00 2001 From: Jeremiah Lewis <4462211+jeremiahpslewis@users.noreply.github.com> Date: Fri, 14 Jun 2024 13:15:54 +0000 Subject: [PATCH 17/90] gcc 12 confirmed as lower bound --- O/OSRM/build_tarballs.jl | 13 ++++--------- 1 file changed, 4 insertions(+), 9 deletions(-) diff --git a/O/OSRM/build_tarballs.jl b/O/OSRM/build_tarballs.jl index 7228c8b5ade..da8c6f7ef17 100644 --- a/O/OSRM/build_tarballs.jl +++ b/O/OSRM/build_tarballs.jl @@ -46,11 +46,7 @@ mkdir build && cd build CMAKE_FLAGS=() CMAKE_FLAGS+=(-DCMAKE_INSTALL_PREFIX=${prefix}) -if [[ ${target} == *mingw* ]]; then - CMAKE_FLAGS+=(-DCMAKE_TOOLCHAIN_FILE=${CMAKE_TARGET_TOOLCHAIN}) -else - CMAKE_FLAGS+=(-DCMAKE_TOOLCHAIN_FILE=${CMAKE_TARGET_TOOLCHAIN%.*}_clang.cmake) -fi +CMAKE_FLAGS+=(-DCMAKE_TOOLCHAIN_FILE=${CMAKE_TARGET_TOOLCHAIN%.*}_clang.cmake) CMAKE_FLAGS+=(-DCMAKE_BUILD_TYPE=Release) CMAKE_FLAGS+=(-DBUILD_SHARED_LIBS=ON) @@ -62,9 +58,6 @@ CMAKE_FLAGS+=(-DZLIB_LIBRARY="${libdir}/libz.${dlext}") CMAKE_FLAGS+=(-DZLIB_LIBRARIES="${libdir}/libz.${dlext}") if [[ ${target} == *mingw* ]]; then - # https://docs.microsoft.com/en-us/windows/win32/api/winbase/nf-winbase-createsemaphoreexa - export CXXFLAGS="-D_WIN32_WINNT=0x0600" - CMAKE_FLAGS+=(-DLUA_INCLUDE_DIR=${includedir}) CMAKE_FLAGS+=(-DLUA_LIBRARIES=${libdir}/liblua.${dlext}) fi @@ -78,6 +71,8 @@ cp libosrm* ${libdir} cp ../profiles/*.lua ${prefix} cp ../profiles/lib/*.lua ${prefix}/lib + +install_license ../LICENSE.TXT """ # These are the platforms we will build for by default, unless further @@ -150,4 +145,4 @@ dependencies = [ ] # Build the tarballs, and possibly a `build.jl` as well. -build_tarballs(ARGS, name, version, sources, script, platforms, products, dependencies; julia_compat="1.6", preferred_gcc_version = v"13") +build_tarballs(ARGS, name, version, sources, script, platforms, products, dependencies; julia_compat="1.6", preferred_gcc_version = v"12") From 191a720d9d82fecc1315df4983844f4b5dc11fde Mon Sep 17 00:00:00 2001 From: Jeremiah <4462211+jeremiahpslewis@users.noreply.github.com> Date: Fri, 14 Jun 2024 15:31:27 +0200 Subject: [PATCH 18/90] Augment mingw patch --- O/OSRM/bundled/patches/mingw.patch | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/O/OSRM/bundled/patches/mingw.patch b/O/OSRM/bundled/patches/mingw.patch index e9af896f6b5..c8690fb1093 100644 --- a/O/OSRM/bundled/patches/mingw.patch +++ b/O/OSRM/bundled/patches/mingw.patch @@ -7,7 +7,10 @@ index 1876d6b85..baf7f7238 100644 endif() + + if (MINGW) -+ list(APPEND TBB_COMMON_COMPILE_FLAGS -U__STRICT_ANSI__) ++ set(MINGW_FLAGS "-U__STRICT_ANSI__") ++ set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${MINGW_FLAGS}") ++ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${MINGW_FLAGS}") ++ set(OSRM_CXXFLAGS "${OSRM_CXXFLAGS} ${MINGW_FLAGS}") + endif() + elseif(CMAKE_CXX_COMPILER_ID MATCHES "Intel") From f3256499b6773528c2ba2b921123e8f520537332 Mon Sep 17 00:00:00 2001 From: Jeremiah Lewis <4462211+jeremiahpslewis@users.noreply.github.com> Date: Fri, 14 Jun 2024 19:36:51 +0000 Subject: [PATCH 19/90] Better mingw patch --- O/OSRM/bundled/patches/mingw.patch | 31 ++++++++++++++++++++++-------- 1 file changed, 23 insertions(+), 8 deletions(-) diff --git a/O/OSRM/bundled/patches/mingw.patch b/O/OSRM/bundled/patches/mingw.patch index c8690fb1093..6e36374fac9 100644 --- a/O/OSRM/bundled/patches/mingw.patch +++ b/O/OSRM/bundled/patches/mingw.patch @@ -1,18 +1,33 @@ -index 1876d6b85..baf7f7238 100644 +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 1876d6b85..37f842368 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -256,6 +256,11 @@ elseif(CMAKE_CXX_COMPILER_ID MATCHES "GNU") +@@ -256,6 +256,15 @@ elseif(CMAKE_CXX_COMPILER_ID MATCHES "GNU") add_dependency_defines(-DWIN32) set(OPTIONAL_SOCKET_LIBS ws2_32 wsock32) endif() + -+ if (MINGW) -+ set(MINGW_FLAGS "-U__STRICT_ANSI__") -+ set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${MINGW_FLAGS}") -+ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${MINGW_FLAGS}") -+ set(OSRM_CXXFLAGS "${OSRM_CXXFLAGS} ${MINGW_FLAGS}") -+ endif() ++ if (MINGW) ++ set(MINGW_FLAGS "-U__STRICT_ANSI__") ++ set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${MINGW_FLAGS}") ++ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${MINGW_FLAGS}") ++ set(OSRM_CXXFLAGS "${OSRM_CXXFLAGS} ${MINGW_FLAGS}") ++ endif() ++ + elseif(CMAKE_CXX_COMPILER_ID MATCHES "Intel") # using Intel C++ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -static-intel -wd10237 -Wall -ipo -fPIC") +diff --git a/include/util/isatty.hpp b/include/util/isatty.hpp +index 05fbd5aaf..a449356e8 100644 +--- a/include/util/isatty.hpp ++++ b/include/util/isatty.hpp +@@ -5,7 +5,7 @@ + #if defined(__unix__) || (defined(__APPLE__) && defined(__MACH__)) + #include + #else +-#ifdef WIN32 ++#if defined(__MINGW32__) || defined(__CYGWIN__) + #include + #define isatty _isatty + #define fileno _fileno From fc080a6d48aed6057c560745840348539d1163b1 Mon Sep 17 00:00:00 2001 From: Jeremiah Lewis <4462211+jeremiahpslewis@users.noreply.github.com> Date: Sat, 15 Jun 2024 07:11:10 +0000 Subject: [PATCH 20/90] tweak mingw patch --- O/OSRM/bundled/patches/mingw.patch | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/O/OSRM/bundled/patches/mingw.patch b/O/OSRM/bundled/patches/mingw.patch index 6e36374fac9..7502940040a 100644 --- a/O/OSRM/bundled/patches/mingw.patch +++ b/O/OSRM/bundled/patches/mingw.patch @@ -1,8 +1,8 @@ diff --git a/CMakeLists.txt b/CMakeLists.txt -index 1876d6b85..37f842368 100644 +index 1876d6b85..dfe60dc7d 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -256,6 +256,15 @@ elseif(CMAKE_CXX_COMPILER_ID MATCHES "GNU") +@@ -256,6 +256,16 @@ elseif(CMAKE_CXX_COMPILER_ID MATCHES "GNU") add_dependency_defines(-DWIN32) set(OPTIONAL_SOCKET_LIBS ws2_32 wsock32) endif() @@ -12,6 +12,7 @@ index 1876d6b85..37f842368 100644 + set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${MINGW_FLAGS}") + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${MINGW_FLAGS}") + set(OSRM_CXXFLAGS "${OSRM_CXXFLAGS} ${MINGW_FLAGS}") ++ add_dependency_defines(-U__STRICT_ANSI__) + endif() + + From b2e4911b197b52a55b670b62ab1b61979811ca3f Mon Sep 17 00:00:00 2001 From: Jeremiah Lewis <4462211+jeremiahpslewis@users.noreply.github.com> Date: Sat, 15 Jun 2024 07:27:04 +0000 Subject: [PATCH 21/90] Try earlier gcc --- O/OSRM/build_tarballs.jl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/O/OSRM/build_tarballs.jl b/O/OSRM/build_tarballs.jl index da8c6f7ef17..8d6cb2cf9e3 100644 --- a/O/OSRM/build_tarballs.jl +++ b/O/OSRM/build_tarballs.jl @@ -145,4 +145,4 @@ dependencies = [ ] # Build the tarballs, and possibly a `build.jl` as well. -build_tarballs(ARGS, name, version, sources, script, platforms, products, dependencies; julia_compat="1.6", preferred_gcc_version = v"12") +build_tarballs(ARGS, name, version, sources, script, platforms, products, dependencies; julia_compat="1.6", preferred_gcc_version = v"11") From 84324c498f19b1d0388382bc68b75871b434d48f Mon Sep 17 00:00:00 2001 From: Jeremiah Lewis <4462211+jeremiahpslewis@users.noreply.github.com> Date: Sat, 15 Jun 2024 07:53:32 +0000 Subject: [PATCH 22/90] Revert to gcc12 --- O/OSRM/build_tarballs.jl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/O/OSRM/build_tarballs.jl b/O/OSRM/build_tarballs.jl index 8d6cb2cf9e3..da8c6f7ef17 100644 --- a/O/OSRM/build_tarballs.jl +++ b/O/OSRM/build_tarballs.jl @@ -145,4 +145,4 @@ dependencies = [ ] # Build the tarballs, and possibly a `build.jl` as well. -build_tarballs(ARGS, name, version, sources, script, platforms, products, dependencies; julia_compat="1.6", preferred_gcc_version = v"11") +build_tarballs(ARGS, name, version, sources, script, platforms, products, dependencies; julia_compat="1.6", preferred_gcc_version = v"12") From 985b35a11a5305b41e5d922dee6d64a5fdb7ea86 Mon Sep 17 00:00:00 2001 From: Jeremiah Lewis <4462211+jeremiahpslewis@users.noreply.github.com> Date: Sat, 15 Jun 2024 08:50:14 +0000 Subject: [PATCH 23/90] Tweak mingw patch --- O/OSRM/bundled/patches/mingw.patch | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/O/OSRM/bundled/patches/mingw.patch b/O/OSRM/bundled/patches/mingw.patch index 7502940040a..644c71c30a6 100644 --- a/O/OSRM/bundled/patches/mingw.patch +++ b/O/OSRM/bundled/patches/mingw.patch @@ -14,11 +14,26 @@ index 1876d6b85..dfe60dc7d 100644 + set(OSRM_CXXFLAGS "${OSRM_CXXFLAGS} ${MINGW_FLAGS}") + add_dependency_defines(-U__STRICT_ANSI__) + endif() ++ set(MINGW_FLAGS "-U__STRICT_ANSI__") ++ set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${MINGW_FLAGS}") ++ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${MINGW_FLAGS}") ++ set(OSRM_CXXFLAGS "${OSRM_CXXFLAGS} ${MINGW_FLAGS}") ++ add_dependency_defines(-U__STRICT_ANSI__) ++ endif() + + elseif(CMAKE_CXX_COMPILER_ID MATCHES "Intel") # using Intel C++ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -static-intel -wd10237 -Wall -ipo -fPIC") +@@ -266,7 +276,7 @@ elseif(CMAKE_CXX_COMPILER_ID MATCHES "MSVC") + add_dependency_defines(-DBOOST_LIB_DIAGNOSTIC) + add_dependency_defines(-D_CRT_SECURE_NO_WARNINGS) + add_dependency_defines(-DNOMINMAX) # avoid min and max macros that can break compilation +- add_dependency_defines(-D_WIN32_WINNT=0x0501) ++# add_dependency_defines(-D_WIN32_WINNT=0x0501) + add_dependency_defines(-DXML_STATIC) + find_library(ws2_32_LIBRARY_PATH ws2_32) + target_link_libraries(osrm-extract wsock32 ws2_32) diff --git a/include/util/isatty.hpp b/include/util/isatty.hpp index 05fbd5aaf..a449356e8 100644 --- a/include/util/isatty.hpp From 673d301489bfb19f64ba018c5d627afd1ca8657e Mon Sep 17 00:00:00 2001 From: Jeremiah Lewis <4462211+jeremiahpslewis@users.noreply.github.com> Date: Sat, 15 Jun 2024 08:55:14 +0000 Subject: [PATCH 24/90] fix patch --- O/OSRM/bundled/patches/mingw.patch | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/O/OSRM/bundled/patches/mingw.patch b/O/OSRM/bundled/patches/mingw.patch index 644c71c30a6..d362c6e93d8 100644 --- a/O/OSRM/bundled/patches/mingw.patch +++ b/O/OSRM/bundled/patches/mingw.patch @@ -1,5 +1,5 @@ diff --git a/CMakeLists.txt b/CMakeLists.txt -index 1876d6b85..dfe60dc7d 100644 +index 1876d6b85..d9dd4e9dd 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -256,6 +256,16 @@ elseif(CMAKE_CXX_COMPILER_ID MATCHES "GNU") @@ -14,12 +14,6 @@ index 1876d6b85..dfe60dc7d 100644 + set(OSRM_CXXFLAGS "${OSRM_CXXFLAGS} ${MINGW_FLAGS}") + add_dependency_defines(-U__STRICT_ANSI__) + endif() -+ set(MINGW_FLAGS "-U__STRICT_ANSI__") -+ set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${MINGW_FLAGS}") -+ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${MINGW_FLAGS}") -+ set(OSRM_CXXFLAGS "${OSRM_CXXFLAGS} ${MINGW_FLAGS}") -+ add_dependency_defines(-U__STRICT_ANSI__) -+ endif() + + elseif(CMAKE_CXX_COMPILER_ID MATCHES "Intel") From 9933996a1ed303b0129b58d59b04f2a195fbac61 Mon Sep 17 00:00:00 2001 From: Jeremiah Lewis <4462211+jeremiahpslewis@users.noreply.github.com> Date: Sat, 15 Jun 2024 09:02:38 +0000 Subject: [PATCH 25/90] update patch --- O/OSRM/bundled/patches/mingw.patch | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/O/OSRM/bundled/patches/mingw.patch b/O/OSRM/bundled/patches/mingw.patch index d362c6e93d8..c26c338c2db 100644 --- a/O/OSRM/bundled/patches/mingw.patch +++ b/O/OSRM/bundled/patches/mingw.patch @@ -1,5 +1,5 @@ diff --git a/CMakeLists.txt b/CMakeLists.txt -index 1876d6b85..d9dd4e9dd 100644 +index 1876d6b85..d9e326a0d 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -256,6 +256,16 @@ elseif(CMAKE_CXX_COMPILER_ID MATCHES "GNU") @@ -24,7 +24,7 @@ index 1876d6b85..d9dd4e9dd 100644 add_dependency_defines(-D_CRT_SECURE_NO_WARNINGS) add_dependency_defines(-DNOMINMAX) # avoid min and max macros that can break compilation - add_dependency_defines(-D_WIN32_WINNT=0x0501) -+# add_dependency_defines(-D_WIN32_WINNT=0x0501) ++ add_dependency_defines(-D_WIN32_WINNT=0x0600) add_dependency_defines(-DXML_STATIC) find_library(ws2_32_LIBRARY_PATH ws2_32) target_link_libraries(osrm-extract wsock32 ws2_32) From b1f4443a4dd42a5e3f12dedfa0238892a79d0596 Mon Sep 17 00:00:00 2001 From: Jeremiah Lewis <4462211+jeremiahpslewis@users.noreply.github.com> Date: Sat, 15 Jun 2024 09:10:49 +0000 Subject: [PATCH 26/90] attempt more extreme cmake patch --- O/OSRM/bundled/patches/mingw.patch | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/O/OSRM/bundled/patches/mingw.patch b/O/OSRM/bundled/patches/mingw.patch index c26c338c2db..ba47c2259f1 100644 --- a/O/OSRM/bundled/patches/mingw.patch +++ b/O/OSRM/bundled/patches/mingw.patch @@ -1,8 +1,8 @@ diff --git a/CMakeLists.txt b/CMakeLists.txt -index 1876d6b85..d9e326a0d 100644 +index 1876d6b85..fd793de08 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -256,6 +256,16 @@ elseif(CMAKE_CXX_COMPILER_ID MATCHES "GNU") +@@ -256,6 +256,18 @@ elseif(CMAKE_CXX_COMPILER_ID MATCHES "GNU") add_dependency_defines(-DWIN32) set(OPTIONAL_SOCKET_LIBS ws2_32 wsock32) endif() @@ -13,13 +13,15 @@ index 1876d6b85..d9e326a0d 100644 + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${MINGW_FLAGS}") + set(OSRM_CXXFLAGS "${OSRM_CXXFLAGS} ${MINGW_FLAGS}") + add_dependency_defines(-U__STRICT_ANSI__) ++ add_compile_definitions(-U__STRICT_ANSI__) ++ add_compile_definitions(-D_WIN32_WINNT=0x0600) + endif() + + elseif(CMAKE_CXX_COMPILER_ID MATCHES "Intel") # using Intel C++ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -static-intel -wd10237 -Wall -ipo -fPIC") -@@ -266,7 +276,7 @@ elseif(CMAKE_CXX_COMPILER_ID MATCHES "MSVC") +@@ -266,7 +278,7 @@ elseif(CMAKE_CXX_COMPILER_ID MATCHES "MSVC") add_dependency_defines(-DBOOST_LIB_DIAGNOSTIC) add_dependency_defines(-D_CRT_SECURE_NO_WARNINGS) add_dependency_defines(-DNOMINMAX) # avoid min and max macros that can break compilation From d4b7e84e16a4ccd2bc65be9e00d7e339cd340f88 Mon Sep 17 00:00:00 2001 From: Jeremiah Lewis <4462211+jeremiahpslewis@users.noreply.github.com> Date: Sat, 15 Jun 2024 20:30:12 +0000 Subject: [PATCH 27/90] Incorporate tweak from @mattwigway --- O/OSRM/bundled/patches/mingw.patch | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/O/OSRM/bundled/patches/mingw.patch b/O/OSRM/bundled/patches/mingw.patch index ba47c2259f1..7657893d842 100644 --- a/O/OSRM/bundled/patches/mingw.patch +++ b/O/OSRM/bundled/patches/mingw.patch @@ -1,8 +1,15 @@ diff --git a/CMakeLists.txt b/CMakeLists.txt -index 1876d6b85..fd793de08 100644 +index 1876d6b85..40eb80443 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -256,6 +256,18 @@ elseif(CMAKE_CXX_COMPILER_ID MATCHES "GNU") +@@ -250,12 +250,24 @@ elseif(CMAKE_CXX_COMPILER_ID MATCHES "GNU") + set(COLOR_FLAG "") + endif() + # using GCC +- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 ${COLOR_FLAG} -fPIC -ftemplate-depth=1024") ++ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 ${COLOR_FLAG} -fPIC -ftemplate-depth=1024 -Wno-array-bounds") + + if(WIN32) # using mingw add_dependency_defines(-DWIN32) set(OPTIONAL_SOCKET_LIBS ws2_32 wsock32) endif() From 6cd51b4b76fa6de29112d3fcb619263366b5ebfc Mon Sep 17 00:00:00 2001 From: Jeremiah Lewis <4462211+jeremiahpslewis@users.noreply.github.com> Date: Sat, 15 Jun 2024 20:30:51 +0000 Subject: [PATCH 28/90] Try using gcc again... --- O/OSRM/build_tarballs.jl | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/O/OSRM/build_tarballs.jl b/O/OSRM/build_tarballs.jl index da8c6f7ef17..699c6d017bf 100644 --- a/O/OSRM/build_tarballs.jl +++ b/O/OSRM/build_tarballs.jl @@ -46,7 +46,9 @@ mkdir build && cd build CMAKE_FLAGS=() CMAKE_FLAGS+=(-DCMAKE_INSTALL_PREFIX=${prefix}) -CMAKE_FLAGS+=(-DCMAKE_TOOLCHAIN_FILE=${CMAKE_TARGET_TOOLCHAIN%.*}_clang.cmake) +# CMAKE_FLAGS+=(-DCMAKE_TOOLCHAIN_FILE=${CMAKE_TARGET_TOOLCHAIN%.*}_clang.cmake) + +CMAKE_FLAGS+=(-DCMAKE_TOOLCHAIN_FILE=${CMAKE_TARGET_TOOLCHAIN}) CMAKE_FLAGS+=(-DCMAKE_BUILD_TYPE=Release) CMAKE_FLAGS+=(-DBUILD_SHARED_LIBS=ON) From 198f8157881d446f5d10d45c21edd49b4000dfa7 Mon Sep 17 00:00:00 2001 From: Jeremiah <4462211+jeremiahpslewis@users.noreply.github.com> Date: Sat, 15 Jun 2024 22:42:09 +0200 Subject: [PATCH 29/90] Revert back to clang --- O/OSRM/build_tarballs.jl | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/O/OSRM/build_tarballs.jl b/O/OSRM/build_tarballs.jl index 699c6d017bf..da8c6f7ef17 100644 --- a/O/OSRM/build_tarballs.jl +++ b/O/OSRM/build_tarballs.jl @@ -46,9 +46,7 @@ mkdir build && cd build CMAKE_FLAGS=() CMAKE_FLAGS+=(-DCMAKE_INSTALL_PREFIX=${prefix}) -# CMAKE_FLAGS+=(-DCMAKE_TOOLCHAIN_FILE=${CMAKE_TARGET_TOOLCHAIN%.*}_clang.cmake) - -CMAKE_FLAGS+=(-DCMAKE_TOOLCHAIN_FILE=${CMAKE_TARGET_TOOLCHAIN}) +CMAKE_FLAGS+=(-DCMAKE_TOOLCHAIN_FILE=${CMAKE_TARGET_TOOLCHAIN%.*}_clang.cmake) CMAKE_FLAGS+=(-DCMAKE_BUILD_TYPE=Release) CMAKE_FLAGS+=(-DBUILD_SHARED_LIBS=ON) From 551b7ad23ee13c76adea1babb8ee43447d6a1485 Mon Sep 17 00:00:00 2001 From: Jeremiah <4462211+jeremiahpslewis@users.noreply.github.com> Date: Sat, 15 Jun 2024 22:54:56 +0200 Subject: [PATCH 30/90] Try clang lld fix --- O/OSRM/build_tarballs.jl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/O/OSRM/build_tarballs.jl b/O/OSRM/build_tarballs.jl index da8c6f7ef17..eb4fbe2970f 100644 --- a/O/OSRM/build_tarballs.jl +++ b/O/OSRM/build_tarballs.jl @@ -145,4 +145,4 @@ dependencies = [ ] # Build the tarballs, and possibly a `build.jl` as well. -build_tarballs(ARGS, name, version, sources, script, platforms, products, dependencies; julia_compat="1.6", preferred_gcc_version = v"12") +build_tarballs(ARGS, name, version, sources, script, platforms, products, dependencies; julia_compat="1.6", preferred_gcc_version = v"12", clang_use_lld=false) From a6c629acb748781948adcc476ca917ffd697aaef Mon Sep 17 00:00:00 2001 From: Jeremiah Lewis <4462211+jeremiahpslewis@users.noreply.github.com> Date: Sat, 15 Jun 2024 20:55:59 +0000 Subject: [PATCH 31/90] Drop windows for now --- O/OSRM/build_tarballs.jl | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/O/OSRM/build_tarballs.jl b/O/OSRM/build_tarballs.jl index eb4fbe2970f..370c5dc3e37 100644 --- a/O/OSRM/build_tarballs.jl +++ b/O/OSRM/build_tarballs.jl @@ -84,7 +84,8 @@ platforms = supported_platforms(; exclude=p -> # Sys.iswindows(p) || # Sys.isapple(p) || (libc(p) == "musl") || - (nbits(p) == 32) + (nbits(p) == 32) || + Sys.iswindows(p) # Mingw verison compatibility issues ) platforms = expand_cxxstring_abis(platforms) From 9a071220f283f49bbbf36d6131c02dfe0ee118a1 Mon Sep 17 00:00:00 2001 From: Jeremiah Lewis <4462211+jeremiahpslewis@users.noreply.github.com> Date: Sat, 15 Jun 2024 21:13:19 +0000 Subject: [PATCH 32/90] Add zlib dependency --- O/OSRM/build_tarballs.jl | 1 + 1 file changed, 1 insertion(+) diff --git a/O/OSRM/build_tarballs.jl b/O/OSRM/build_tarballs.jl index 370c5dc3e37..b695e14e24e 100644 --- a/O/OSRM/build_tarballs.jl +++ b/O/OSRM/build_tarballs.jl @@ -141,6 +141,7 @@ dependencies = [ Dependency("XML2_jll") Dependency("oneTBB_jll"; compat="2021.8.0") Dependency("Lua_jll"; compat="~5.4.3") + Dependency("Zlib_jll") HostBuildDependency("Lua_jll") Dependency("CompilerSupportLibraries_jll"; platforms=filter(!Sys.isbsd, platforms)) ] From f9c584edff264ede0e76d896fbc5bfd59963e1a5 Mon Sep 17 00:00:00 2001 From: Jeremiah Lewis <4462211+jeremiahpslewis@users.noreply.github.com> Date: Sat, 15 Jun 2024 21:14:45 +0000 Subject: [PATCH 33/90] Fix zlib? --- O/OSRM/build_tarballs.jl | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/O/OSRM/build_tarballs.jl b/O/OSRM/build_tarballs.jl index b695e14e24e..81098a5d974 100644 --- a/O/OSRM/build_tarballs.jl +++ b/O/OSRM/build_tarballs.jl @@ -54,8 +54,7 @@ CMAKE_FLAGS+=(-DENABLE_CCACHE=OFF) CMAKE_FLAGS+=(-Wno-dev) CMAKE_FLAGS+=(-DENABLE_MASON=OFF) CMAKE_FLAGS+=(-DZLIB_INCLUDE_DIRS=${includedir}) -CMAKE_FLAGS+=(-DZLIB_LIBRARY="${libdir}/libz.${dlext}") -CMAKE_FLAGS+=(-DZLIB_LIBRARIES="${libdir}/libz.${dlext}") +CMAKE_FLAGS+=(-DZLIB_LIBRARY=${libdir}/libz.${dlext}) if [[ ${target} == *mingw* ]]; then CMAKE_FLAGS+=(-DLUA_INCLUDE_DIR=${includedir}) From c927929f05360e7a141d804d18766250c14f9a6c Mon Sep 17 00:00:00 2001 From: Jeremiah <4462211+jeremiahpslewis@users.noreply.github.com> Date: Sat, 15 Jun 2024 23:21:18 +0200 Subject: [PATCH 34/90] Go back to gcc 10 --- O/OSRM/build_tarballs.jl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/O/OSRM/build_tarballs.jl b/O/OSRM/build_tarballs.jl index 81098a5d974..a30cff091d8 100644 --- a/O/OSRM/build_tarballs.jl +++ b/O/OSRM/build_tarballs.jl @@ -146,4 +146,4 @@ dependencies = [ ] # Build the tarballs, and possibly a `build.jl` as well. -build_tarballs(ARGS, name, version, sources, script, platforms, products, dependencies; julia_compat="1.6", preferred_gcc_version = v"12", clang_use_lld=false) +build_tarballs(ARGS, name, version, sources, script, platforms, products, dependencies; julia_compat="1.6", preferred_gcc_version = v"10", clang_use_lld=false) From 74e1ec321eead9cb5699a0f02a8e071998d3bd98 Mon Sep 17 00:00:00 2001 From: Jeremiah Lewis <4462211+jeremiahpslewis@users.noreply.github.com> Date: Sat, 15 Jun 2024 21:32:04 +0000 Subject: [PATCH 35/90] Try julia compat = 1.8 and gcc 12 --- O/OSRM/build_tarballs.jl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/O/OSRM/build_tarballs.jl b/O/OSRM/build_tarballs.jl index a30cff091d8..24955a63f95 100644 --- a/O/OSRM/build_tarballs.jl +++ b/O/OSRM/build_tarballs.jl @@ -146,4 +146,4 @@ dependencies = [ ] # Build the tarballs, and possibly a `build.jl` as well. -build_tarballs(ARGS, name, version, sources, script, platforms, products, dependencies; julia_compat="1.6", preferred_gcc_version = v"10", clang_use_lld=false) +build_tarballs(ARGS, name, version, sources, script, platforms, products, dependencies; julia_compat="1.8", preferred_gcc_version = v"12") From aedc22542e4504b2a3058b3bb2c668909bc60dfe Mon Sep 17 00:00:00 2001 From: Jeremiah <4462211+jeremiahpslewis@users.noreply.github.com> Date: Sat, 15 Jun 2024 23:37:46 +0200 Subject: [PATCH 36/90] Tweak params --- O/OSRM/build_tarballs.jl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/O/OSRM/build_tarballs.jl b/O/OSRM/build_tarballs.jl index 24955a63f95..0c72ef4cd27 100644 --- a/O/OSRM/build_tarballs.jl +++ b/O/OSRM/build_tarballs.jl @@ -146,4 +146,4 @@ dependencies = [ ] # Build the tarballs, and possibly a `build.jl` as well. -build_tarballs(ARGS, name, version, sources, script, platforms, products, dependencies; julia_compat="1.8", preferred_gcc_version = v"12") +build_tarballs(ARGS, name, version, sources, script, platforms, products, dependencies; julia_compat="1.8", preferred_gcc_version = v"12", clang_use_lld=false) From 4ed8af50550cc8ffc9f12660dbe3c70322d4dd0a Mon Sep 17 00:00:00 2001 From: Jeremiah <4462211+jeremiahpslewis@users.noreply.github.com> Date: Mon, 17 Jun 2024 22:13:25 +0200 Subject: [PATCH 37/90] Add osmium as dependency --- O/OSRM/build_tarballs.jl | 2 ++ 1 file changed, 2 insertions(+) diff --git a/O/OSRM/build_tarballs.jl b/O/OSRM/build_tarballs.jl index 0c72ef4cd27..b8f506a3976 100644 --- a/O/OSRM/build_tarballs.jl +++ b/O/OSRM/build_tarballs.jl @@ -54,6 +54,7 @@ CMAKE_FLAGS+=(-DENABLE_CCACHE=OFF) CMAKE_FLAGS+=(-Wno-dev) CMAKE_FLAGS+=(-DENABLE_MASON=OFF) CMAKE_FLAGS+=(-DZLIB_INCLUDE_DIRS=${includedir}) +CMAKE_FLAGS+=(-DOSMIUM_INCLUDE_DIR=${includedir}) CMAKE_FLAGS+=(-DZLIB_LIBRARY=${libdir}/libz.${dlext}) if [[ ${target} == *mingw* ]]; then @@ -142,6 +143,7 @@ dependencies = [ Dependency("Lua_jll"; compat="~5.4.3") Dependency("Zlib_jll") HostBuildDependency("Lua_jll") + Dependency("osmium_jll") Dependency("CompilerSupportLibraries_jll"; platforms=filter(!Sys.isbsd, platforms)) ] From 09d6ac197dc5ebb4c9698b8add331f86b998647c Mon Sep 17 00:00:00 2001 From: Jeremiah <4462211+jeremiahpslewis@users.noreply.github.com> Date: Mon, 17 Jun 2024 22:27:39 +0200 Subject: [PATCH 38/90] Try boost 1.76 for libosmium compat --- O/OSRM/build_tarballs.jl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/O/OSRM/build_tarballs.jl b/O/OSRM/build_tarballs.jl index b8f506a3976..d4b113fa505 100644 --- a/O/OSRM/build_tarballs.jl +++ b/O/OSRM/build_tarballs.jl @@ -136,7 +136,7 @@ products = Product[ # Dependencies that must be installed before this package can be built dependencies = [ Dependency("Bzip2_jll"; compat="1.0.8") - Dependency("boost_jll"; compat="=1.79.0") # Earlier versions of boost seem uncompatible with C++20 deprecations + Dependency("boost_jll"; compat="=1.76.0") # Earlier versions of boost seem uncompatible with C++20 deprecations Dependency("Expat_jll"; compat="2.2.10") Dependency("XML2_jll") Dependency("oneTBB_jll"; compat="2021.8.0") From 0816ba09a33aebd960c230fc5c82cdd1aee19951 Mon Sep 17 00:00:00 2001 From: Matt Bhagat-Conway Date: Mon, 17 Jun 2024 18:52:35 -0400 Subject: [PATCH 39/90] [OSRM] use libosmium dependency --- O/OSRM/build_tarballs.jl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/O/OSRM/build_tarballs.jl b/O/OSRM/build_tarballs.jl index d4b113fa505..cb829e6abbc 100644 --- a/O/OSRM/build_tarballs.jl +++ b/O/OSRM/build_tarballs.jl @@ -143,7 +143,7 @@ dependencies = [ Dependency("Lua_jll"; compat="~5.4.3") Dependency("Zlib_jll") HostBuildDependency("Lua_jll") - Dependency("osmium_jll") + Dependency("libosmium_jll") Dependency("CompilerSupportLibraries_jll"; platforms=filter(!Sys.isbsd, platforms)) ] From cc089efaafa0521e20607379e020371636d84c8b Mon Sep 17 00:00:00 2001 From: Matt Bhagat-Conway Date: Mon, 17 Jun 2024 18:54:56 -0400 Subject: [PATCH 40/90] [OSRM] fix mac build --- O/OSRM/build_tarballs.jl | 10 ++++++++++ O/OSRM/bundled/patches/guidance_link.patch | 23 ++++++++++++++++++++++ 2 files changed, 33 insertions(+) create mode 100644 O/OSRM/bundled/patches/guidance_link.patch diff --git a/O/OSRM/build_tarballs.jl b/O/OSRM/build_tarballs.jl index cb829e6abbc..14e98f5cdb6 100644 --- a/O/OSRM/build_tarballs.jl +++ b/O/OSRM/build_tarballs.jl @@ -39,6 +39,16 @@ if [[ ${target} == *mingw* ]]; then export CXXFLAGS="-D_WIN32_WINNT=0x0600" fi +if [[ ${target} == *apple* ]]; then + # Fix undefined symbols in linking. On Linux it just assumes undefined symbols will be available at + # runtime, but not so on macOS. This patch 1) ensures osrm_guidance is linked against the correct + # external dependencies, and 2) tells the linker that the osrm::guidance functions used in osrm_extract + # will be available at runtime. + + # This is OSRM PR #6955 + atomic_patch -p1 "${WORKSPACE}/srcdir/patches/guidance_link.patch" +fi + CFLAGS="-Wno-error=suggest-override" mkdir build && cd build diff --git a/O/OSRM/bundled/patches/guidance_link.patch b/O/OSRM/bundled/patches/guidance_link.patch new file mode 100644 index 00000000000..fcbbaf76dea --- /dev/null +++ b/O/OSRM/bundled/patches/guidance_link.patch @@ -0,0 +1,23 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 1876d6b85..cb0df27d6 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -566,7 +566,17 @@ set(UTIL_LIBRARIES + target_link_libraries(osrm ${ENGINE_LIBRARIES}) + target_link_libraries(osrm_update ${UPDATER_LIBRARIES}) + target_link_libraries(osrm_contract ${CONTRACTOR_LIBRARIES} osrm_update osrm_store) +-target_link_libraries(osrm_extract osrm_guidance ${EXTRACTOR_LIBRARIES}) ++ ++# There is a circular dependency between osrm_extract and osrm_guidance. Tell the linker to trust us ++# that the two osrm::guidance functions used in osrm_extract will be available at runtime. ++# We don't need to do this for osrm_guidance, as osrm_extract will already be built when that gets ++# built and symbols can be looked up in osrm_extract directly. ++# https://stackoverflow.com/questions/25421479/ ++target_link_libraries(osrm_extract ++ "-Wl,-U,__ZN4osrm8guidance13annotateTurnsERKNS_4util12DynamicGraphINS1_17NodeBasedEdgeDataEEERKNS_9extractor6detail30EdgeBasedNodeDataContainerImplILNS_7storage9OwnershipE0EEERKNSt3__16vectorINS1_10CoordinateENSF_9allocatorISH_EEEERKNS7_23CompressedEdgeContainerERKNSF_13unordered_setIjNSF_4hashIjEENSF_8equal_toIjEENSI_IjEEEERKNS7_18NodeRestrictionMapINS7_17UnconditionalOnlyEEERKNS7_17WayRestrictionMapERKNS8_13NameTableImplILSB_0EEERKNS7_11SuffixTableERKNSF_5tupleIJNSG_IjSV_EENSG_ItNSI_ItEEEEEEERNS1_15ConcurrentIDMapIS1H_tNSR_IS1H_EEEERNS1L_INS1_8guidance15LaneTupleIdPairEtNSR_IS1Q_EEEERNS0_6detail21TurnDataContainerImplILSB_2EEERS1F_RNS1L_INS1P_12BearingClassEjNSR_IS1Z_EEEERNS1L_INS1P_10EntryClassEtNSR_IS23_EEEERj" ++ "-Wl,-U,__ZN4osrm8guidance19findSegregatedNodesERKNS_9extractor21NodeBasedGraphFactoryERKNS1_6detail13NameTableImplILNS_7storage9OwnershipE0EEE" ++ ${EXTRACTOR_LIBRARIES}) ++target_link_libraries(osrm_guidance ${GUIDANCE_LIBRARIES} osrm_extract) + target_link_libraries(osrm_partition ${PARTITIONER_LIBRARIES}) + target_link_libraries(osrm_customize ${CUSTOMIZER_LIBRARIES} osrm_update osrm_store) + target_link_libraries(osrm_store ${STORAGE_LIBRARIES}) From 1e72189c9769db7e421a89821ec4b8e2aa2a7fd9 Mon Sep 17 00:00:00 2001 From: Jeremiah <4462211+jeremiahpslewis@users.noreply.github.com> Date: Tue, 18 Jun 2024 12:14:39 +0200 Subject: [PATCH 41/90] Cleanup script --- O/OSRM/build_tarballs.jl | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/O/OSRM/build_tarballs.jl b/O/OSRM/build_tarballs.jl index 14e98f5cdb6..da339cb7d8e 100644 --- a/O/OSRM/build_tarballs.jl +++ b/O/OSRM/build_tarballs.jl @@ -91,11 +91,9 @@ install_license ../LICENSE.TXT # oneTBB_jll isn't available for armv6l, armv7l # musl builds with lots of TBB errors like 'undefined reference to `getcontext'' platforms = supported_platforms(; exclude=p -> - # Sys.iswindows(p) || - # Sys.isapple(p) || (libc(p) == "musl") || (nbits(p) == 32) || - Sys.iswindows(p) # Mingw verison compatibility issues + Sys.iswindows(p) # Mingw version compatibility issues ) platforms = expand_cxxstring_abis(platforms) From 87e70aaf1f3344830d1d300dcac947f2ce47d21f Mon Sep 17 00:00:00 2001 From: Jeremiah <4462211+jeremiahpslewis@users.noreply.github.com> Date: Tue, 18 Jun 2024 12:18:27 +0200 Subject: [PATCH 42/90] Drop libosmium so we can use boost 1.79 --- O/OSRM/build_tarballs.jl | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/O/OSRM/build_tarballs.jl b/O/OSRM/build_tarballs.jl index da339cb7d8e..5a8890fb148 100644 --- a/O/OSRM/build_tarballs.jl +++ b/O/OSRM/build_tarballs.jl @@ -64,7 +64,7 @@ CMAKE_FLAGS+=(-DENABLE_CCACHE=OFF) CMAKE_FLAGS+=(-Wno-dev) CMAKE_FLAGS+=(-DENABLE_MASON=OFF) CMAKE_FLAGS+=(-DZLIB_INCLUDE_DIRS=${includedir}) -CMAKE_FLAGS+=(-DOSMIUM_INCLUDE_DIR=${includedir}) +# CMAKE_FLAGS+=(-DOSMIUM_INCLUDE_DIR=${includedir}) CMAKE_FLAGS+=(-DZLIB_LIBRARY=${libdir}/libz.${dlext}) if [[ ${target} == *mingw* ]]; then @@ -144,14 +144,14 @@ products = Product[ # Dependencies that must be installed before this package can be built dependencies = [ Dependency("Bzip2_jll"; compat="1.0.8") - Dependency("boost_jll"; compat="=1.76.0") # Earlier versions of boost seem uncompatible with C++20 deprecations + Dependency("boost_jll"; compat="=1.79.0") # Earlier versions of boost seem uncompatible with C++20 deprecations Dependency("Expat_jll"; compat="2.2.10") Dependency("XML2_jll") Dependency("oneTBB_jll"; compat="2021.8.0") Dependency("Lua_jll"; compat="~5.4.3") Dependency("Zlib_jll") HostBuildDependency("Lua_jll") - Dependency("libosmium_jll") + # Dependency("libosmium_jll") Dependency("CompilerSupportLibraries_jll"; platforms=filter(!Sys.isbsd, platforms)) ] From ad333e22786293901d29ba148c2dc684745415d8 Mon Sep 17 00:00:00 2001 From: Matt Bhagat-Conway Date: Tue, 18 Jun 2024 09:13:14 -0400 Subject: [PATCH 43/90] update guidance build patch so that osrm-extract binary works --- O/OSRM/bundled/patches/guidance_link.patch | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/O/OSRM/bundled/patches/guidance_link.patch b/O/OSRM/bundled/patches/guidance_link.patch index fcbbaf76dea..fb152ccd39a 100644 --- a/O/OSRM/bundled/patches/guidance_link.patch +++ b/O/OSRM/bundled/patches/guidance_link.patch @@ -1,7 +1,16 @@ diff --git a/CMakeLists.txt b/CMakeLists.txt -index 1876d6b85..cb0df27d6 100644 +index 1876d6b85c..7692d06c21 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt +@@ -490,7 +490,7 @@ set(BOOST_ENGINE_LIBRARIES + + # Binaries + target_link_libraries(osrm-datastore osrm_store ${Boost_PROGRAM_OPTIONS_LIBRARY}) +-target_link_libraries(osrm-extract osrm_extract ${Boost_PROGRAM_OPTIONS_LIBRARY}) ++target_link_libraries(osrm-extract osrm_extract osrm_guidance ${Boost_PROGRAM_OPTIONS_LIBRARY}) + target_link_libraries(osrm-partition osrm_partition ${Boost_PROGRAM_OPTIONS_LIBRARY}) + target_link_libraries(osrm-customize osrm_customize ${Boost_PROGRAM_OPTIONS_LIBRARY}) + target_link_libraries(osrm-contract osrm_contract ${Boost_PROGRAM_OPTIONS_LIBRARY}) @@ -566,7 +566,17 @@ set(UTIL_LIBRARIES target_link_libraries(osrm ${ENGINE_LIBRARIES}) target_link_libraries(osrm_update ${UPDATER_LIBRARIES}) @@ -20,4 +29,4 @@ index 1876d6b85..cb0df27d6 100644 +target_link_libraries(osrm_guidance ${GUIDANCE_LIBRARIES} osrm_extract) target_link_libraries(osrm_partition ${PARTITIONER_LIBRARIES}) target_link_libraries(osrm_customize ${CUSTOMIZER_LIBRARIES} osrm_update osrm_store) - target_link_libraries(osrm_store ${STORAGE_LIBRARIES}) + target_link_libraries(osrm_store ${STORAGE_LIBRARIES}) \ No newline at end of file From 381a2ca1a202a65c5d27f4433c7c22996e1d8b0c Mon Sep 17 00:00:00 2001 From: Matt Bhagat-Conway Date: Tue, 18 Jun 2024 10:01:04 -0400 Subject: [PATCH 44/90] [OSRM] try monolithic libosrm fork --- O/OSRM/build_tarballs.jl | 12 +------- O/OSRM/bundled/patches/guidance_link.patch | 32 ---------------------- 2 files changed, 1 insertion(+), 43 deletions(-) delete mode 100644 O/OSRM/bundled/patches/guidance_link.patch diff --git a/O/OSRM/build_tarballs.jl b/O/OSRM/build_tarballs.jl index 5a8890fb148..c72b1be81b3 100644 --- a/O/OSRM/build_tarballs.jl +++ b/O/OSRM/build_tarballs.jl @@ -7,7 +7,7 @@ version = v"5.28.0" # UNTAGGED / ASK FOR NEW RELEASE TAG # Collection of sources required to complete build sources = [ - GitSource("https://github.com/Project-OSRM/osrm-backend.git", "aa4e6b1cf332db07dbccf3eaaa6529b83842e81f"), + GitSource("https://github.com/mattwigway/osrm-backend.git", "f16983e668724d4fea1f248cb3e36509e1b5962e"), DirectorySource("./bundled"), # OSRM requires C++20, which needs a newer SDK ArchiveSource("https://github.com/realjf/MacOSX-SDKs/releases/download/v0.0.1/MacOSX12.3.sdk.tar.xz", @@ -39,16 +39,6 @@ if [[ ${target} == *mingw* ]]; then export CXXFLAGS="-D_WIN32_WINNT=0x0600" fi -if [[ ${target} == *apple* ]]; then - # Fix undefined symbols in linking. On Linux it just assumes undefined symbols will be available at - # runtime, but not so on macOS. This patch 1) ensures osrm_guidance is linked against the correct - # external dependencies, and 2) tells the linker that the osrm::guidance functions used in osrm_extract - # will be available at runtime. - - # This is OSRM PR #6955 - atomic_patch -p1 "${WORKSPACE}/srcdir/patches/guidance_link.patch" -fi - CFLAGS="-Wno-error=suggest-override" mkdir build && cd build diff --git a/O/OSRM/bundled/patches/guidance_link.patch b/O/OSRM/bundled/patches/guidance_link.patch deleted file mode 100644 index fb152ccd39a..00000000000 --- a/O/OSRM/bundled/patches/guidance_link.patch +++ /dev/null @@ -1,32 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 1876d6b85c..7692d06c21 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -490,7 +490,7 @@ set(BOOST_ENGINE_LIBRARIES - - # Binaries - target_link_libraries(osrm-datastore osrm_store ${Boost_PROGRAM_OPTIONS_LIBRARY}) --target_link_libraries(osrm-extract osrm_extract ${Boost_PROGRAM_OPTIONS_LIBRARY}) -+target_link_libraries(osrm-extract osrm_extract osrm_guidance ${Boost_PROGRAM_OPTIONS_LIBRARY}) - target_link_libraries(osrm-partition osrm_partition ${Boost_PROGRAM_OPTIONS_LIBRARY}) - target_link_libraries(osrm-customize osrm_customize ${Boost_PROGRAM_OPTIONS_LIBRARY}) - target_link_libraries(osrm-contract osrm_contract ${Boost_PROGRAM_OPTIONS_LIBRARY}) -@@ -566,7 +566,17 @@ set(UTIL_LIBRARIES - target_link_libraries(osrm ${ENGINE_LIBRARIES}) - target_link_libraries(osrm_update ${UPDATER_LIBRARIES}) - target_link_libraries(osrm_contract ${CONTRACTOR_LIBRARIES} osrm_update osrm_store) --target_link_libraries(osrm_extract osrm_guidance ${EXTRACTOR_LIBRARIES}) -+ -+# There is a circular dependency between osrm_extract and osrm_guidance. Tell the linker to trust us -+# that the two osrm::guidance functions used in osrm_extract will be available at runtime. -+# We don't need to do this for osrm_guidance, as osrm_extract will already be built when that gets -+# built and symbols can be looked up in osrm_extract directly. -+# https://stackoverflow.com/questions/25421479/ -+target_link_libraries(osrm_extract -+ "-Wl,-U,__ZN4osrm8guidance13annotateTurnsERKNS_4util12DynamicGraphINS1_17NodeBasedEdgeDataEEERKNS_9extractor6detail30EdgeBasedNodeDataContainerImplILNS_7storage9OwnershipE0EEERKNSt3__16vectorINS1_10CoordinateENSF_9allocatorISH_EEEERKNS7_23CompressedEdgeContainerERKNSF_13unordered_setIjNSF_4hashIjEENSF_8equal_toIjEENSI_IjEEEERKNS7_18NodeRestrictionMapINS7_17UnconditionalOnlyEEERKNS7_17WayRestrictionMapERKNS8_13NameTableImplILSB_0EEERKNS7_11SuffixTableERKNSF_5tupleIJNSG_IjSV_EENSG_ItNSI_ItEEEEEEERNS1_15ConcurrentIDMapIS1H_tNSR_IS1H_EEEERNS1L_INS1_8guidance15LaneTupleIdPairEtNSR_IS1Q_EEEERNS0_6detail21TurnDataContainerImplILSB_2EEERS1F_RNS1L_INS1P_12BearingClassEjNSR_IS1Z_EEEERNS1L_INS1P_10EntryClassEtNSR_IS23_EEEERj" -+ "-Wl,-U,__ZN4osrm8guidance19findSegregatedNodesERKNS_9extractor21NodeBasedGraphFactoryERKNS1_6detail13NameTableImplILNS_7storage9OwnershipE0EEE" -+ ${EXTRACTOR_LIBRARIES}) -+target_link_libraries(osrm_guidance ${GUIDANCE_LIBRARIES} osrm_extract) - target_link_libraries(osrm_partition ${PARTITIONER_LIBRARIES}) - target_link_libraries(osrm_customize ${CUSTOMIZER_LIBRARIES} osrm_update osrm_store) - target_link_libraries(osrm_store ${STORAGE_LIBRARIES}) \ No newline at end of file From bf842b6e82a117c3089952794deadb6a1c8cf53e Mon Sep 17 00:00:00 2001 From: Matt Bhagat-Conway Date: Tue, 18 Jun 2024 10:08:22 -0400 Subject: [PATCH 45/90] [OSRM] set libraryproducts correctly for monolithic libosrm --- O/OSRM/build_tarballs.jl | 7 ------- 1 file changed, 7 deletions(-) diff --git a/O/OSRM/build_tarballs.jl b/O/OSRM/build_tarballs.jl index c72b1be81b3..6a9f590ccb1 100644 --- a/O/OSRM/build_tarballs.jl +++ b/O/OSRM/build_tarballs.jl @@ -98,13 +98,6 @@ products = Product[ ExecutableProduct("osrm-datastore", :osrm_datastore) ExecutableProduct("osrm-extract", :osrm_extract) LibraryProduct("libosrm", :libosrm) - LibraryProduct("libosrm_contract", :libosrm_contract) - LibraryProduct("libosrm_customize", :libosrm_customize) - LibraryProduct("libosrm_extract", :libosrm_extract) - LibraryProduct("libosrm_guidance", :libosrm_guidance) - LibraryProduct("libosrm_partition", :libosrm_partition) - LibraryProduct("libosrm_store", :libosrm_store) - LibraryProduct("libosrm_update", :libosrm_update) FileProduct("bicycle.lua", :bicycle) FileProduct("debug_way.lua", :debug_way) FileProduct("test.lua", :test) From 44fdc5add7ed67d849ffc5cb4903365b93dafe6c Mon Sep 17 00:00:00 2001 From: Matt Bhagat-Conway Date: Tue, 18 Jun 2024 11:57:56 -0400 Subject: [PATCH 46/90] [OSRM] don't dlopen libosrm.so it is not supported with Julia 1.7 used during build, but it does work with julia 1.8+ specified in our compat entry. --- O/OSRM/build_tarballs.jl | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/O/OSRM/build_tarballs.jl b/O/OSRM/build_tarballs.jl index 6a9f590ccb1..2c79d02afbf 100644 --- a/O/OSRM/build_tarballs.jl +++ b/O/OSRM/build_tarballs.jl @@ -97,7 +97,10 @@ products = Product[ ExecutableProduct("osrm-customize", :osrm_customize) ExecutableProduct("osrm-datastore", :osrm_datastore) ExecutableProduct("osrm-extract", :osrm_extract) - LibraryProduct("libosrm", :libosrm) + # We are not dlopening because the build images use Julia 1.7, which can't dlopen SOs built + # with GCC 12, which is required for OSRM. However, Julia 1.8+ can dlopen them (tested), + # and that is what our compat entry says, so the dlopen failure can safely be ignored. + LibraryProduct("libosrm", :libosrm, dont_dlopen=true) FileProduct("bicycle.lua", :bicycle) FileProduct("debug_way.lua", :debug_way) FileProduct("test.lua", :test) From 3a46e11e08b861193714a2accecd9cf7a91cde39 Mon Sep 17 00:00:00 2001 From: Jeremiah <4462211+jeremiahpslewis@users.noreply.github.com> Date: Thu, 30 Jan 2025 14:21:55 +0100 Subject: [PATCH 47/90] try updated boost --- O/OSRM/build_tarballs.jl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/O/OSRM/build_tarballs.jl b/O/OSRM/build_tarballs.jl index 2c79d02afbf..5105862fc59 100644 --- a/O/OSRM/build_tarballs.jl +++ b/O/OSRM/build_tarballs.jl @@ -130,7 +130,7 @@ products = Product[ # Dependencies that must be installed before this package can be built dependencies = [ Dependency("Bzip2_jll"; compat="1.0.8") - Dependency("boost_jll"; compat="=1.79.0") # Earlier versions of boost seem uncompatible with C++20 deprecations + Dependency("boost_jll"; compat="=1.87.0") # Earlier versions of boost seem uncompatible with C++20 deprecations Dependency("Expat_jll"; compat="2.2.10") Dependency("XML2_jll") Dependency("oneTBB_jll"; compat="2021.8.0") From bd13a9eb4182f25cb77b965e77796aa5bdcbb079 Mon Sep 17 00:00:00 2001 From: Jeremiah <4462211+jeremiahpslewis@users.noreply.github.com> Date: Sat, 1 Feb 2025 22:50:54 +0100 Subject: [PATCH 48/90] Update build_tarballs.jl --- O/OSRM/build_tarballs.jl | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/O/OSRM/build_tarballs.jl b/O/OSRM/build_tarballs.jl index 5105862fc59..2beb09cd03e 100644 --- a/O/OSRM/build_tarballs.jl +++ b/O/OSRM/build_tarballs.jl @@ -129,9 +129,9 @@ products = Product[ # Dependencies that must be installed before this package can be built dependencies = [ - Dependency("Bzip2_jll"; compat="1.0.8") + Dependency("Bzip2_jll"; compat="1.0.9") Dependency("boost_jll"; compat="=1.87.0") # Earlier versions of boost seem uncompatible with C++20 deprecations - Dependency("Expat_jll"; compat="2.2.10") + Dependency("Expat_jll"; compat="2.6.5") Dependency("XML2_jll") Dependency("oneTBB_jll"; compat="2021.8.0") Dependency("Lua_jll"; compat="~5.4.3") From 4cc9c792b9de33e1d5b8f4cb4fc5182483072030 Mon Sep 17 00:00:00 2001 From: Jeremiah <4462211+jeremiahpslewis@users.noreply.github.com> Date: Sat, 1 Feb 2025 23:01:22 +0100 Subject: [PATCH 49/90] add cflag -Wno-deprecated-declarations --- O/OSRM/build_tarballs.jl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/O/OSRM/build_tarballs.jl b/O/OSRM/build_tarballs.jl index 2beb09cd03e..c24da202adc 100644 --- a/O/OSRM/build_tarballs.jl +++ b/O/OSRM/build_tarballs.jl @@ -39,7 +39,7 @@ if [[ ${target} == *mingw* ]]; then export CXXFLAGS="-D_WIN32_WINNT=0x0600" fi -CFLAGS="-Wno-error=suggest-override" +CFLAGS="-Wno-error=suggest-override -Wno-deprecated-declarations" mkdir build && cd build From 27531ffd25f5a38fd48c85c0a5250702c2f95224 Mon Sep 17 00:00:00 2001 From: Jeremiah <4462211+jeremiahpslewis@users.noreply.github.com> Date: Wed, 12 Feb 2025 16:43:15 +0100 Subject: [PATCH 50/90] switch back to upstream --- O/OSRM/build_tarballs.jl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/O/OSRM/build_tarballs.jl b/O/OSRM/build_tarballs.jl index c24da202adc..3595038d7b4 100644 --- a/O/OSRM/build_tarballs.jl +++ b/O/OSRM/build_tarballs.jl @@ -7,7 +7,7 @@ version = v"5.28.0" # UNTAGGED / ASK FOR NEW RELEASE TAG # Collection of sources required to complete build sources = [ - GitSource("https://github.com/mattwigway/osrm-backend.git", "f16983e668724d4fea1f248cb3e36509e1b5962e"), + GitSource("https://github.com/Project-OSRM/osrm-backend.git", "c59ad69d6a081fb0c8fca9fe7bf798d4150ea8d2"), DirectorySource("./bundled"), # OSRM requires C++20, which needs a newer SDK ArchiveSource("https://github.com/realjf/MacOSX-SDKs/releases/download/v0.0.1/MacOSX12.3.sdk.tar.xz", From 416f4019eb8b143e8d3e90f34d736e1ee13f361b Mon Sep 17 00:00:00 2001 From: Jeremiah <4462211+jeremiahpslewis@users.noreply.github.com> Date: Wed, 12 Feb 2025 16:49:51 +0100 Subject: [PATCH 51/90] add patch for newer boost --- O/OSRM/build_tarballs.jl | 3 +++ O/OSRM/bundled/patches/boost_1_87.patch | 16 ++++++++++++++++ 2 files changed, 19 insertions(+) create mode 100644 O/OSRM/bundled/patches/boost_1_87.patch diff --git a/O/OSRM/build_tarballs.jl b/O/OSRM/build_tarballs.jl index 3595038d7b4..8bed67a91c2 100644 --- a/O/OSRM/build_tarballs.jl +++ b/O/OSRM/build_tarballs.jl @@ -31,6 +31,9 @@ fi script = sdk_update_script * raw""" cd $WORKSPACE/srcdir/osrm-backend +# Use boost patch, drop once https://github.com/Project-OSRM/osrm-backend/pull/7073 is merged +atomic_patch -p1 "${WORKSPACE}/srcdir/patches/boost_1_87.patch" + if [[ ${target} == *mingw* ]]; then atomic_patch -p1 "${WORKSPACE}/srcdir/patches/mingw.patch" diff --git a/O/OSRM/bundled/patches/boost_1_87.patch b/O/OSRM/bundled/patches/boost_1_87.patch new file mode 100644 index 00000000000..87699e39ed9 --- /dev/null +++ b/O/OSRM/bundled/patches/boost_1_87.patch @@ -0,0 +1,16 @@ +# Source: https://github.com/Project-OSRM/osrm-backend/pull/7073 +diff --git a/include/server/server.hpp b/include/server/server.hpp +index 34b8982e6..02b0dda05 100644 +--- a/include/server/server.hpp ++++ b/include/server/server.hpp +@@ -53,8 +53,7 @@ class Server + const auto port_string = std::to_string(port); + + boost::asio::ip::tcp::resolver resolver(io_context); +- boost::asio::ip::tcp::resolver::query query(address, port_string); +- boost::asio::ip::tcp::endpoint endpoint = *resolver.resolve(query); ++ boost::asio::ip::tcp::endpoint endpoint = *resolver.resolve(address, port_string).begin(); + + acceptor.open(endpoint.protocol()); + #ifdef SO_REUSEPORT + From 853a2cd7512b926c927cdc30b49da414e795be53 Mon Sep 17 00:00:00 2001 From: Jeremiah <4462211+jeremiahpslewis@users.noreply.github.com> Date: Wed, 12 Feb 2025 17:11:07 +0100 Subject: [PATCH 52/90] add cmake patch --- O/OSRM/build_tarballs.jl | 3 + O/OSRM/bundled/patches/cmake_fixes.patch | 171 +++++++++++++++++++++++ 2 files changed, 174 insertions(+) create mode 100644 O/OSRM/bundled/patches/cmake_fixes.patch diff --git a/O/OSRM/build_tarballs.jl b/O/OSRM/build_tarballs.jl index 8bed67a91c2..31b9873f9a8 100644 --- a/O/OSRM/build_tarballs.jl +++ b/O/OSRM/build_tarballs.jl @@ -34,6 +34,9 @@ cd $WORKSPACE/srcdir/osrm-backend # Use boost patch, drop once https://github.com/Project-OSRM/osrm-backend/pull/7073 is merged atomic_patch -p1 "${WORKSPACE}/srcdir/patches/boost_1_87.patch" +# Patch CMakeLists.txt +atomic_patch -p1 "${WORKSPACE}/srcdir/patches/cmake_fixes.patch" + if [[ ${target} == *mingw* ]]; then atomic_patch -p1 "${WORKSPACE}/srcdir/patches/mingw.patch" diff --git a/O/OSRM/bundled/patches/cmake_fixes.patch b/O/OSRM/bundled/patches/cmake_fixes.patch new file mode 100644 index 00000000000..a8854339be8 --- /dev/null +++ b/O/OSRM/bundled/patches/cmake_fixes.patch @@ -0,0 +1,171 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index a8388b7db..ffdf31d6d 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -147,7 +147,7 @@ configure_file( + ) + file(GLOB UtilGlob src/util/*.cpp src/util/*/*.cpp) + file(GLOB ExtractorGlob src/extractor/*.cpp src/extractor/*/*.cpp) +-file(GLOB GuidanceGlob src/guidance/*.cpp src/extractor/intersection/*.cpp) ++file(GLOB GuidanceGlob src/guidance/*.cpp) + file(GLOB PartitionerGlob src/partitioner/*.cpp) + file(GLOB CustomizerGlob src/customize/*.cpp) + file(GLOB ContractorGlob src/contractor/*.cpp) +@@ -155,7 +155,7 @@ file(GLOB UpdaterGlob src/updater/*.cpp) + file(GLOB StorageGlob src/storage/*.cpp) + file(GLOB ServerGlob src/server/*.cpp src/server/**/*.cpp) + file(GLOB EngineGlob src/engine/*.cpp src/engine/**/*.cpp) +-file(GLOB ErrorcodesGlob src/osrm/errorcodes.cpp) ++file(GLOB OSRMGlob src/osrm/*.cpp) + + add_library(UTIL OBJECT ${UtilGlob}) + add_library(EXTRACTOR OBJECT ${ExtractorGlob}) +@@ -179,14 +179,20 @@ add_executable(osrm-partition src/tools/partition.cpp) + add_executable(osrm-customize src/tools/customize.cpp) + add_executable(osrm-contract src/tools/contract.cpp) + add_executable(osrm-datastore src/tools/store.cpp $ $) +-add_library(osrm src/osrm/osrm.cpp $ $ $ $) +-add_library(osrm_contract src/osrm/contractor.cpp $ $) +-add_library(osrm_extract src/osrm/extractor.cpp $ $ $) +-add_library(osrm_guidance $ $) +-add_library(osrm_partition src/osrm/partitioner.cpp $ $ $) +-add_library(osrm_customize src/osrm/customizer.cpp $ $ $) +-add_library(osrm_update $ $ $) +-add_library(osrm_store $ $ $) ++add_library(osrm ++ ${OSRMGlob} ++ $ ++ $ ++ $ ++ $ ++ $ ++ $ ++ $ ++ $ ++ $ ++ $ ++ ) ++ + + # Explicitly set the build type to Release if no other type is specified + # on the command line. Without this, cmake defaults to an unoptimized, +@@ -478,86 +484,29 @@ set(BOOST_ENGINE_LIBRARIES + ${BOOST_BASE_LIBRARIES}) + + # Binaries +-target_link_libraries(osrm-datastore osrm_store ${Boost_PROGRAM_OPTIONS_LIBRARY}) +-target_link_libraries(osrm-extract osrm_extract ${Boost_PROGRAM_OPTIONS_LIBRARY}) +-target_link_libraries(osrm-partition osrm_partition ${Boost_PROGRAM_OPTIONS_LIBRARY}) +-target_link_libraries(osrm-customize osrm_customize ${Boost_PROGRAM_OPTIONS_LIBRARY}) +-target_link_libraries(osrm-contract osrm_contract ${Boost_PROGRAM_OPTIONS_LIBRARY}) ++target_link_libraries(osrm-datastore osrm ${Boost_PROGRAM_OPTIONS_LIBRARY}) ++target_link_libraries(osrm-extract osrm ${Boost_PROGRAM_OPTIONS_LIBRARY}) ++target_link_libraries(osrm-partition osrm ${Boost_PROGRAM_OPTIONS_LIBRARY}) ++target_link_libraries(osrm-customize osrm ${Boost_PROGRAM_OPTIONS_LIBRARY}) ++target_link_libraries(osrm-contract osrm ${Boost_PROGRAM_OPTIONS_LIBRARY}) + if (BUILD_ROUTED) + target_link_libraries(osrm-routed osrm ${Boost_PROGRAM_OPTIONS_LIBRARY} ${OPTIONAL_SOCKET_LIBS} ${ZLIB_LIBRARY}) + endif() + +-set(EXTRACTOR_LIBRARIES +- ${BZIP2_LIBRARIES} +- ${BOOST_BASE_LIBRARIES} +- ${CMAKE_THREAD_LIBS_INIT} +- ${EXPAT_LIBRARIES} +- ${LUA_LIBRARIES} +- ${OSMIUM_LIBRARIES} +- ${TBB_LIBRARIES} +- ${ZLIB_LIBRARY} +- ${MAYBE_COVERAGE_LIBRARIES}) +-set(GUIDANCE_LIBRARIES +- ${BOOST_BASE_LIBRARIES} +- ${CMAKE_THREAD_LIBS_INIT} +- ${LUA_LIBRARIES} +- ${TBB_LIBRARIES} +- ${MAYBE_COVERAGE_LIBRARIES}) +-set(PARTITIONER_LIBRARIES +- ${BOOST_ENGINE_LIBRARIES} +- ${CMAKE_THREAD_LIBS_INIT} +- ${TBB_LIBRARIES} +- ${MAYBE_RT_LIBRARY} +- ${MAYBE_COVERAGE_LIBRARIES} +- ${ZLIB_LIBRARY}) +-set(CUSTOMIZER_LIBRARIES +- ${BOOST_ENGINE_LIBRARIES} +- ${CMAKE_THREAD_LIBS_INIT} +- ${TBB_LIBRARIES} +- ${MAYBE_RT_LIBRARY} +- ${MAYBE_COVERAGE_LIBRARIES}) +-set(UPDATER_LIBRARIES +- ${BOOST_BASE_LIBRARIES} +- ${CMAKE_THREAD_LIBS_INIT} +- ${TBB_LIBRARIES} +- ${MAYBE_RT_LIBRARY} +- ${MAYBE_COVERAGE_LIBRARIES} +- ${ZLIB_LIBRARY}) +-set(CONTRACTOR_LIBRARIES +- ${BOOST_BASE_LIBRARIES} +- ${CMAKE_THREAD_LIBS_INIT} +- ${LUA_LIBRARIES} +- ${TBB_LIBRARIES} +- ${MAYBE_RT_LIBRARY} +- ${MAYBE_COVERAGE_LIBRARIES}) +-set(ENGINE_LIBRARIES +- ${BOOST_ENGINE_LIBRARIES} +- ${CMAKE_THREAD_LIBS_INIT} +- ${TBB_LIBRARIES} +- ${MAYBE_RT_LIBRARY} +- ${MAYBE_COVERAGE_LIBRARIES} +- ${ZLIB_LIBRARY}) +-set(STORAGE_LIBRARIES +- ${BOOST_BASE_LIBRARIES} +- ${CMAKE_THREAD_LIBS_INIT} +- ${TBB_LIBRARIES} +- ${MAYBE_RT_LIBRARY} +- ${MAYBE_COVERAGE_LIBRARIES}) +-set(UTIL_LIBRARIES +- ${BOOST_BASE_LIBRARIES} +- ${CMAKE_THREAD_LIBS_INIT} +- ${TBB_LIBRARIES} +- ${MAYBE_COVERAGE_LIBRARIES} +- ${ZLIB_LIBRARY}) +- + # Libraries +-target_link_libraries(osrm ${ENGINE_LIBRARIES}) +-target_link_libraries(osrm_update ${UPDATER_LIBRARIES}) +-target_link_libraries(osrm_contract ${CONTRACTOR_LIBRARIES} osrm_update osrm_store) +-target_link_libraries(osrm_extract osrm_guidance ${EXTRACTOR_LIBRARIES}) +-target_link_libraries(osrm_partition ${PARTITIONER_LIBRARIES}) +-target_link_libraries(osrm_customize ${CUSTOMIZER_LIBRARIES} osrm_update osrm_store) +-target_link_libraries(osrm_store ${STORAGE_LIBRARIES}) ++target_link_libraries(osrm ++ ${BZIP2_LIBRARIES} ++ ${Boost_REGEX_LIBRARY} ++ ${BOOST_BASE_LIBRARIES} ++ ${BOOST_ENGINE_LIBRARIES} ++ ${CMAKE_THREAD_LIBS_INIT} ++ ${EXPAT_LIBRARIES} ++ ${LUA_LIBRARIES} ++ ${OSMIUM_LIBRARIES} ++ ${TBB_LIBRARIES} ++ ${MAYBE_RT_LIBRARY} ++ ${ZLIB_LIBRARY} ++ ${MAYBE_COVERAGE_LIBRARIES}) + + # BUILD_COMPONENTS + add_executable(osrm-components src/tools/components.cpp $ $) +@@ -622,14 +571,6 @@ if (BUILD_ROUTED) + install(TARGETS osrm-routed DESTINATION bin) + endif() + install(TARGETS osrm DESTINATION lib) +-install(TARGETS osrm_extract DESTINATION lib) +-install(TARGETS osrm_partition DESTINATION lib) +-install(TARGETS osrm_customize DESTINATION lib) +-install(TARGETS osrm_update DESTINATION lib) +-install(TARGETS osrm_contract DESTINATION lib) +-install(TARGETS osrm_store DESTINATION lib) +-install(TARGETS osrm_guidance DESTINATION lib) +- + + # Install profiles and support library to /usr/local/share/osrm/profiles by default + set(DefaultProfilesDir profiles) From 3f5c310a981decb34a6ca59c29af53d0dc7e99e1 Mon Sep 17 00:00:00 2001 From: Jeremiah <4462211+jeremiahpslewis@users.noreply.github.com> Date: Wed, 12 Feb 2025 17:22:16 +0100 Subject: [PATCH 53/90] add missing build var --- O/OSRM/build_tarballs.jl | 2 ++ 1 file changed, 2 insertions(+) diff --git a/O/OSRM/build_tarballs.jl b/O/OSRM/build_tarballs.jl index 31b9873f9a8..50603b90bd9 100644 --- a/O/OSRM/build_tarballs.jl +++ b/O/OSRM/build_tarballs.jl @@ -49,6 +49,8 @@ CFLAGS="-Wno-error=suggest-override -Wno-deprecated-declarations" mkdir build && cd build +export AR=$HOSTAR + CMAKE_FLAGS=() CMAKE_FLAGS+=(-DCMAKE_INSTALL_PREFIX=${prefix}) From 14394130fc65b93b2d80e239a0cc728024e59972 Mon Sep 17 00:00:00 2001 From: Jeremiah <4462211+jeremiahpslewis@users.noreply.github.com> Date: Wed, 12 Feb 2025 17:31:55 +0100 Subject: [PATCH 54/90] help cmake find AR --- O/OSRM/build_tarballs.jl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/O/OSRM/build_tarballs.jl b/O/OSRM/build_tarballs.jl index 50603b90bd9..205f5556428 100644 --- a/O/OSRM/build_tarballs.jl +++ b/O/OSRM/build_tarballs.jl @@ -62,7 +62,7 @@ CMAKE_FLAGS+=(-DENABLE_CCACHE=OFF) CMAKE_FLAGS+=(-Wno-dev) CMAKE_FLAGS+=(-DENABLE_MASON=OFF) CMAKE_FLAGS+=(-DZLIB_INCLUDE_DIRS=${includedir}) -# CMAKE_FLAGS+=(-DOSMIUM_INCLUDE_DIR=${includedir}) +CMAKE_FLAGS+=(-DCMAKE_AR=$HOSTAR) CMAKE_FLAGS+=(-DZLIB_LIBRARY=${libdir}/libz.${dlext}) if [[ ${target} == *mingw* ]]; then From ceed7f458b082a386d0f79b5109a20c426605967 Mon Sep 17 00:00:00 2001 From: Jeremiah <4462211+jeremiahpslewis@users.noreply.github.com> Date: Wed, 12 Feb 2025 22:05:08 +0000 Subject: [PATCH 55/90] drop lto --- O/OSRM/build_tarballs.jl | 1 + 1 file changed, 1 insertion(+) diff --git a/O/OSRM/build_tarballs.jl b/O/OSRM/build_tarballs.jl index 205f5556428..fe2cc71849f 100644 --- a/O/OSRM/build_tarballs.jl +++ b/O/OSRM/build_tarballs.jl @@ -64,6 +64,7 @@ CMAKE_FLAGS+=(-DENABLE_MASON=OFF) CMAKE_FLAGS+=(-DZLIB_INCLUDE_DIRS=${includedir}) CMAKE_FLAGS+=(-DCMAKE_AR=$HOSTAR) CMAKE_FLAGS+=(-DZLIB_LIBRARY=${libdir}/libz.${dlext}) +CMAKE_FLAGS+=(-DENABLE_LTO=OFF) if [[ ${target} == *mingw* ]]; then CMAKE_FLAGS+=(-DLUA_INCLUDE_DIR=${includedir}) From 6d1fb2a3f6455957a8ea8d17bb53da9ea9e97126 Mon Sep 17 00:00:00 2001 From: Jeremiah <4462211+jeremiahpslewis@users.noreply.github.com> Date: Wed, 12 Feb 2025 22:07:43 +0000 Subject: [PATCH 56/90] try building for more platforms --- O/OSRM/build_tarballs.jl | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/O/OSRM/build_tarballs.jl b/O/OSRM/build_tarballs.jl index fe2cc71849f..0f4c74cf673 100644 --- a/O/OSRM/build_tarballs.jl +++ b/O/OSRM/build_tarballs.jl @@ -89,12 +89,7 @@ install_license ../LICENSE.TXT # oneTBB_jll isn't available for Windows i686 on Yggdrasil (version 2021.5.0) # oneTBB_jll isn't available for armv6l, armv7l # musl builds with lots of TBB errors like 'undefined reference to `getcontext'' -platforms = supported_platforms(; exclude=p -> - (libc(p) == "musl") || - (nbits(p) == 32) || - Sys.iswindows(p) # Mingw version compatibility issues - ) - +platforms = supported_platforms() platforms = expand_cxxstring_abis(platforms) # The products that we will ensure are always built @@ -142,7 +137,7 @@ dependencies = [ Dependency("boost_jll"; compat="=1.87.0") # Earlier versions of boost seem uncompatible with C++20 deprecations Dependency("Expat_jll"; compat="2.6.5") Dependency("XML2_jll") - Dependency("oneTBB_jll"; compat="2021.8.0") + Dependency("oneTBB_jll"; compat="2021.12.0") Dependency("Lua_jll"; compat="~5.4.3") Dependency("Zlib_jll") HostBuildDependency("Lua_jll") From 20a1829a57443c643a87f0de76b3698a7ec8cab5 Mon Sep 17 00:00:00 2001 From: Jeremiah <4462211+jeremiahpslewis@users.noreply.github.com> Date: Wed, 12 Feb 2025 23:48:09 +0100 Subject: [PATCH 57/90] drop 32 bits which aren't supported --- O/OSRM/build_tarballs.jl | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/O/OSRM/build_tarballs.jl b/O/OSRM/build_tarballs.jl index 0f4c74cf673..46f99cddac7 100644 --- a/O/OSRM/build_tarballs.jl +++ b/O/OSRM/build_tarballs.jl @@ -65,6 +65,8 @@ CMAKE_FLAGS+=(-DZLIB_INCLUDE_DIRS=${includedir}) CMAKE_FLAGS+=(-DCMAKE_AR=$HOSTAR) CMAKE_FLAGS+=(-DZLIB_LIBRARY=${libdir}/libz.${dlext}) CMAKE_FLAGS+=(-DENABLE_LTO=OFF) +CMAKE_FLAGS+=(-DCMAKE_WARN_DEPRECATED=OFF) + if [[ ${target} == *mingw* ]]; then CMAKE_FLAGS+=(-DLUA_INCLUDE_DIR=${includedir}) @@ -86,10 +88,11 @@ install_license ../LICENSE.TXT # These are the platforms we will build for by default, unless further # platforms are passed in on the command line +# 32 bit platforms are not supported # oneTBB_jll isn't available for Windows i686 on Yggdrasil (version 2021.5.0) # oneTBB_jll isn't available for armv6l, armv7l # musl builds with lots of TBB errors like 'undefined reference to `getcontext'' -platforms = supported_platforms() +platforms = supported_platforms(; exclude=p -> (nbits(p) == 32)) platforms = expand_cxxstring_abis(platforms) # The products that we will ensure are always built From fa76a7b1cef3f0fecca3c9f8078264971fa0e1b8 Mon Sep 17 00:00:00 2001 From: Jeremiah <4462211+jeremiahpslewis@users.noreply.github.com> Date: Wed, 12 Feb 2025 23:51:22 +0100 Subject: [PATCH 58/90] try using tbb override? --- O/OSRM/build_tarballs.jl | 1 + 1 file changed, 1 insertion(+) diff --git a/O/OSRM/build_tarballs.jl b/O/OSRM/build_tarballs.jl index 46f99cddac7..289656048ed 100644 --- a/O/OSRM/build_tarballs.jl +++ b/O/OSRM/build_tarballs.jl @@ -71,6 +71,7 @@ CMAKE_FLAGS+=(-DCMAKE_WARN_DEPRECATED=OFF) if [[ ${target} == *mingw* ]]; then CMAKE_FLAGS+=(-DLUA_INCLUDE_DIR=${includedir}) CMAKE_FLAGS+=(-DLUA_LIBRARIES=${libdir}/liblua.${dlext}) + CMAKE_FLAGS+=(-D__TBB_USE_FENV=0) fi cmake .. ${CMAKE_FLAGS[@]} From b300c1e48d6c53f7c67b4677251bbaa2c71e7211 Mon Sep 17 00:00:00 2001 From: Jeremiah <4462211+jeremiahpslewis@users.noreply.github.com> Date: Wed, 12 Feb 2025 23:53:38 +0100 Subject: [PATCH 59/90] try gcc --- O/OSRM/build_tarballs.jl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/O/OSRM/build_tarballs.jl b/O/OSRM/build_tarballs.jl index 289656048ed..0284be1ea9f 100644 --- a/O/OSRM/build_tarballs.jl +++ b/O/OSRM/build_tarballs.jl @@ -54,7 +54,7 @@ export AR=$HOSTAR CMAKE_FLAGS=() CMAKE_FLAGS+=(-DCMAKE_INSTALL_PREFIX=${prefix}) -CMAKE_FLAGS+=(-DCMAKE_TOOLCHAIN_FILE=${CMAKE_TARGET_TOOLCHAIN%.*}_clang.cmake) +CMAKE_FLAGS+=(-DCMAKE_TOOLCHAIN_FILE=${CMAKE_TARGET_TOOLCHAIN}) CMAKE_FLAGS+=(-DCMAKE_BUILD_TYPE=Release) CMAKE_FLAGS+=(-DBUILD_SHARED_LIBS=ON) From 7b119a9b052a685273ee7ef5a431c8f8e303e3eb Mon Sep 17 00:00:00 2001 From: Jeremiah <4462211+jeremiahpslewis@users.noreply.github.com> Date: Thu, 13 Feb 2025 00:08:22 +0100 Subject: [PATCH 60/90] go back to clang --- O/OSRM/build_tarballs.jl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/O/OSRM/build_tarballs.jl b/O/OSRM/build_tarballs.jl index 0284be1ea9f..289656048ed 100644 --- a/O/OSRM/build_tarballs.jl +++ b/O/OSRM/build_tarballs.jl @@ -54,7 +54,7 @@ export AR=$HOSTAR CMAKE_FLAGS=() CMAKE_FLAGS+=(-DCMAKE_INSTALL_PREFIX=${prefix}) -CMAKE_FLAGS+=(-DCMAKE_TOOLCHAIN_FILE=${CMAKE_TARGET_TOOLCHAIN}) +CMAKE_FLAGS+=(-DCMAKE_TOOLCHAIN_FILE=${CMAKE_TARGET_TOOLCHAIN%.*}_clang.cmake) CMAKE_FLAGS+=(-DCMAKE_BUILD_TYPE=Release) CMAKE_FLAGS+=(-DBUILD_SHARED_LIBS=ON) From 416f6f89553c3c43bebf689481b263f45ca5b4dc Mon Sep 17 00:00:00 2001 From: Jeremiah <4462211+jeremiahpslewis@users.noreply.github.com> Date: Thu, 13 Feb 2025 00:20:20 +0100 Subject: [PATCH 61/90] try ignoring deprecations --- O/OSRM/build_tarballs.jl | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/O/OSRM/build_tarballs.jl b/O/OSRM/build_tarballs.jl index 289656048ed..1df0a9682f1 100644 --- a/O/OSRM/build_tarballs.jl +++ b/O/OSRM/build_tarballs.jl @@ -46,7 +46,6 @@ if [[ ${target} == *mingw* ]]; then fi CFLAGS="-Wno-error=suggest-override -Wno-deprecated-declarations" - mkdir build && cd build export AR=$HOSTAR @@ -65,7 +64,7 @@ CMAKE_FLAGS+=(-DZLIB_INCLUDE_DIRS=${includedir}) CMAKE_FLAGS+=(-DCMAKE_AR=$HOSTAR) CMAKE_FLAGS+=(-DZLIB_LIBRARY=${libdir}/libz.${dlext}) CMAKE_FLAGS+=(-DENABLE_LTO=OFF) -CMAKE_FLAGS+=(-DCMAKE_WARN_DEPRECATED=OFF) +CMAKE_FLAGS+=(-DCMAKE_CXX_FLAGS="-Wno-deprecated-declarations) if [[ ${target} == *mingw* ]]; then From fdb19464a3a7351f99903f15b431e84193cd5338 Mon Sep 17 00:00:00 2001 From: Jeremiah <4462211+jeremiahpslewis@users.noreply.github.com> Date: Thu, 13 Feb 2025 00:43:06 +0100 Subject: [PATCH 62/90] fix quote --- O/OSRM/build_tarballs.jl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/O/OSRM/build_tarballs.jl b/O/OSRM/build_tarballs.jl index 1df0a9682f1..1d29bf612ba 100644 --- a/O/OSRM/build_tarballs.jl +++ b/O/OSRM/build_tarballs.jl @@ -64,7 +64,7 @@ CMAKE_FLAGS+=(-DZLIB_INCLUDE_DIRS=${includedir}) CMAKE_FLAGS+=(-DCMAKE_AR=$HOSTAR) CMAKE_FLAGS+=(-DZLIB_LIBRARY=${libdir}/libz.${dlext}) CMAKE_FLAGS+=(-DENABLE_LTO=OFF) -CMAKE_FLAGS+=(-DCMAKE_CXX_FLAGS="-Wno-deprecated-declarations) +CMAKE_FLAGS+=(-DCMAKE_CXX_FLAGS="-Wno-deprecated-declarations") if [[ ${target} == *mingw* ]]; then From 6d6b0ab269b723cbf6e73650cd99f526ce28698b Mon Sep 17 00:00:00 2001 From: Jeremiah <4462211+jeremiahpslewis@users.noreply.github.com> Date: Thu, 13 Feb 2025 00:54:07 +0100 Subject: [PATCH 63/90] try gcc again --- O/OSRM/build_tarballs.jl | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/O/OSRM/build_tarballs.jl b/O/OSRM/build_tarballs.jl index 1d29bf612ba..7b1838b5fd3 100644 --- a/O/OSRM/build_tarballs.jl +++ b/O/OSRM/build_tarballs.jl @@ -45,7 +45,7 @@ if [[ ${target} == *mingw* ]]; then export CXXFLAGS="-D_WIN32_WINNT=0x0600" fi -CFLAGS="-Wno-error=suggest-override -Wno-deprecated-declarations" +CFLAGS="-Wno-error=suggest-override -Wno-deprecated-declarations -Wno-error=stringop-overflow -Wno-error=uninitialized -Wno-error=array-bounds" mkdir build && cd build export AR=$HOSTAR @@ -53,7 +53,7 @@ export AR=$HOSTAR CMAKE_FLAGS=() CMAKE_FLAGS+=(-DCMAKE_INSTALL_PREFIX=${prefix}) -CMAKE_FLAGS+=(-DCMAKE_TOOLCHAIN_FILE=${CMAKE_TARGET_TOOLCHAIN%.*}_clang.cmake) +CMAKE_FLAGS+=(-DCMAKE_TOOLCHAIN_FILE=${CMAKE_TARGET_TOOLCHAIN}) CMAKE_FLAGS+=(-DCMAKE_BUILD_TYPE=Release) CMAKE_FLAGS+=(-DBUILD_SHARED_LIBS=ON) @@ -64,7 +64,7 @@ CMAKE_FLAGS+=(-DZLIB_INCLUDE_DIRS=${includedir}) CMAKE_FLAGS+=(-DCMAKE_AR=$HOSTAR) CMAKE_FLAGS+=(-DZLIB_LIBRARY=${libdir}/libz.${dlext}) CMAKE_FLAGS+=(-DENABLE_LTO=OFF) -CMAKE_FLAGS+=(-DCMAKE_CXX_FLAGS="-Wno-deprecated-declarations") +CMAKE_FLAGS+=(-DCMAKE_CXX_FLAGS="-Wno-error=suggest-override -Wno-deprecated-declarations -Wno-error=stringop-overflow -Wno-error=uninitialized -Wno-error=array-bounds") if [[ ${target} == *mingw* ]]; then @@ -149,4 +149,4 @@ dependencies = [ ] # Build the tarballs, and possibly a `build.jl` as well. -build_tarballs(ARGS, name, version, sources, script, platforms, products, dependencies; julia_compat="1.8", preferred_gcc_version = v"12", clang_use_lld=false) +build_tarballs(ARGS, name, version, sources, script, platforms, products, dependencies; julia_compat="1.8", preferred_gcc_version=v"12", clang_use_lld=false) From 2031f2c7076f88188ab8480a293071d51cff38c2 Mon Sep 17 00:00:00 2001 From: Jeremiah <4462211+jeremiahpslewis@users.noreply.github.com> Date: Thu, 13 Feb 2025 09:25:19 +0100 Subject: [PATCH 64/90] Update build_tarballs.jl --- O/OSRM/build_tarballs.jl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/O/OSRM/build_tarballs.jl b/O/OSRM/build_tarballs.jl index 7b1838b5fd3..b0ffd413008 100644 --- a/O/OSRM/build_tarballs.jl +++ b/O/OSRM/build_tarballs.jl @@ -149,4 +149,4 @@ dependencies = [ ] # Build the tarballs, and possibly a `build.jl` as well. -build_tarballs(ARGS, name, version, sources, script, platforms, products, dependencies; julia_compat="1.8", preferred_gcc_version=v"12", clang_use_lld=false) +build_tarballs(ARGS, name, version, sources, script, platforms, products, dependencies; julia_compat="1.8", preferred_gcc_version=v"13", clang_use_lld=false) From 871da322f5ba7dfc4d782ae141b4a622f3d087ff Mon Sep 17 00:00:00 2001 From: Jeremiah <4462211+jeremiahpslewis@users.noreply.github.com> Date: Thu, 13 Feb 2025 10:01:55 +0100 Subject: [PATCH 65/90] Update build_tarballs.jl --- O/OSRM/build_tarballs.jl | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/O/OSRM/build_tarballs.jl b/O/OSRM/build_tarballs.jl index b0ffd413008..25674cbc52d 100644 --- a/O/OSRM/build_tarballs.jl +++ b/O/OSRM/build_tarballs.jl @@ -45,7 +45,7 @@ if [[ ${target} == *mingw* ]]; then export CXXFLAGS="-D_WIN32_WINNT=0x0600" fi -CFLAGS="-Wno-error=suggest-override -Wno-deprecated-declarations -Wno-error=stringop-overflow -Wno-error=uninitialized -Wno-error=array-bounds" +CFLAGS="-Wno-error=suggest-override -Wno-error=deprecated-declarations -Wno-error=stringop-overflow -Wno-error=uninitialized -Wno-error=array-bounds" mkdir build && cd build export AR=$HOSTAR @@ -64,7 +64,7 @@ CMAKE_FLAGS+=(-DZLIB_INCLUDE_DIRS=${includedir}) CMAKE_FLAGS+=(-DCMAKE_AR=$HOSTAR) CMAKE_FLAGS+=(-DZLIB_LIBRARY=${libdir}/libz.${dlext}) CMAKE_FLAGS+=(-DENABLE_LTO=OFF) -CMAKE_FLAGS+=(-DCMAKE_CXX_FLAGS="-Wno-error=suggest-override -Wno-deprecated-declarations -Wno-error=stringop-overflow -Wno-error=uninitialized -Wno-error=array-bounds") +CMAKE_FLAGS+=(-DCMAKE_CXX_FLAGS="-Wno-error=suggest-override -Wno-error=deprecated-declarations -Wno-error=stringop-overflow -Wno-error=uninitialized -Wno-error=array-bounds") if [[ ${target} == *mingw* ]]; then From 57f8c93f6b21c516293a9cb1669f577b8b02624e Mon Sep 17 00:00:00 2001 From: Jeremiah <4462211+jeremiahpslewis@users.noreply.github.com> Date: Thu, 13 Feb 2025 10:40:57 +0100 Subject: [PATCH 66/90] try adding flag --- O/OSRM/build_tarballs.jl | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/O/OSRM/build_tarballs.jl b/O/OSRM/build_tarballs.jl index 25674cbc52d..b6556878bc8 100644 --- a/O/OSRM/build_tarballs.jl +++ b/O/OSRM/build_tarballs.jl @@ -45,7 +45,7 @@ if [[ ${target} == *mingw* ]]; then export CXXFLAGS="-D_WIN32_WINNT=0x0600" fi -CFLAGS="-Wno-error=suggest-override -Wno-error=deprecated-declarations -Wno-error=stringop-overflow -Wno-error=uninitialized -Wno-error=array-bounds" +CFLAGS="-Wno-array-bounds -Wno-error=suggest-override -Wno-error=deprecated-declarations -Wno-error=stringop-overflow -Wno-error=uninitialized -Wno-error=array-bounds" mkdir build && cd build export AR=$HOSTAR @@ -64,7 +64,7 @@ CMAKE_FLAGS+=(-DZLIB_INCLUDE_DIRS=${includedir}) CMAKE_FLAGS+=(-DCMAKE_AR=$HOSTAR) CMAKE_FLAGS+=(-DZLIB_LIBRARY=${libdir}/libz.${dlext}) CMAKE_FLAGS+=(-DENABLE_LTO=OFF) -CMAKE_FLAGS+=(-DCMAKE_CXX_FLAGS="-Wno-error=suggest-override -Wno-error=deprecated-declarations -Wno-error=stringop-overflow -Wno-error=uninitialized -Wno-error=array-bounds") +CMAKE_FLAGS+=(-DCMAKE_CXX_FLAGS="-Wno-array-bounds -Wno-error=suggest-override -Wno-error=deprecated-declarations -Wno-error=stringop-overflow -Wno-error=uninitialized -Wno-error=array-bounds") if [[ ${target} == *mingw* ]]; then From 7cc716beaa0d670c5cab7cd0e436836eb3db2d2f Mon Sep 17 00:00:00 2001 From: Jeremiah <4462211+jeremiahpslewis@users.noreply.github.com> Date: Thu, 13 Feb 2025 11:42:24 +0100 Subject: [PATCH 67/90] add -fext-numeric-literals flag --- O/OSRM/build_tarballs.jl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/O/OSRM/build_tarballs.jl b/O/OSRM/build_tarballs.jl index b6556878bc8..ed95c37ca95 100644 --- a/O/OSRM/build_tarballs.jl +++ b/O/OSRM/build_tarballs.jl @@ -64,7 +64,7 @@ CMAKE_FLAGS+=(-DZLIB_INCLUDE_DIRS=${includedir}) CMAKE_FLAGS+=(-DCMAKE_AR=$HOSTAR) CMAKE_FLAGS+=(-DZLIB_LIBRARY=${libdir}/libz.${dlext}) CMAKE_FLAGS+=(-DENABLE_LTO=OFF) -CMAKE_FLAGS+=(-DCMAKE_CXX_FLAGS="-Wno-array-bounds -Wno-error=suggest-override -Wno-error=deprecated-declarations -Wno-error=stringop-overflow -Wno-error=uninitialized -Wno-error=array-bounds") +CMAKE_FLAGS+=(-DCMAKE_CXX_FLAGS="-fext-numeric-literals -Wno-array-bounds -Wno-error=suggest-override -Wno-error=deprecated-declarations -Wno-error=stringop-overflow -Wno-error=uninitialized -Wno-error=array-bounds") if [[ ${target} == *mingw* ]]; then From c9f7250917f99387a69fa516317902f14f02bc51 Mon Sep 17 00:00:00 2001 From: Jeremiah <4462211+jeremiahpslewis@users.noreply.github.com> Date: Thu, 13 Feb 2025 12:08:31 +0100 Subject: [PATCH 68/90] special case mingw build flags --- O/OSRM/build_tarballs.jl | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/O/OSRM/build_tarballs.jl b/O/OSRM/build_tarballs.jl index ed95c37ca95..cd312b6702d 100644 --- a/O/OSRM/build_tarballs.jl +++ b/O/OSRM/build_tarballs.jl @@ -64,13 +64,14 @@ CMAKE_FLAGS+=(-DZLIB_INCLUDE_DIRS=${includedir}) CMAKE_FLAGS+=(-DCMAKE_AR=$HOSTAR) CMAKE_FLAGS+=(-DZLIB_LIBRARY=${libdir}/libz.${dlext}) CMAKE_FLAGS+=(-DENABLE_LTO=OFF) -CMAKE_FLAGS+=(-DCMAKE_CXX_FLAGS="-fext-numeric-literals -Wno-array-bounds -Wno-error=suggest-override -Wno-error=deprecated-declarations -Wno-error=stringop-overflow -Wno-error=uninitialized -Wno-error=array-bounds") - if [[ ${target} == *mingw* ]]; then CMAKE_FLAGS+=(-DLUA_INCLUDE_DIR=${includedir}) CMAKE_FLAGS+=(-DLUA_LIBRARIES=${libdir}/liblua.${dlext}) CMAKE_FLAGS+=(-D__TBB_USE_FENV=0) + CMAKE_FLAGS+=(-DCMAKE_CXX_FLAGS="-fext-numeric-literals -Wno-array-bounds -Wno-error=suggest-override -Wno-error=deprecated-declarations -Wno-error=stringop-overflow -Wno-error=uninitialized -Wno-error=array-bounds") +else + CMAKE_FLAGS+=(-DCMAKE_CXX_FLAGS="-Wno-array-bounds -Wno-error=suggest-override -Wno-error=deprecated-declarations -Wno-error=stringop-overflow -Wno-error=uninitialized -Wno-error=array-bounds") fi cmake .. ${CMAKE_FLAGS[@]} From ce814dcb141bcf7b9f7f35d789e22162524438d8 Mon Sep 17 00:00:00 2001 From: Jeremiah <4462211+jeremiahpslewis@users.noreply.github.com> Date: Thu, 13 Feb 2025 12:10:34 +0100 Subject: [PATCH 69/90] cleanup bash syntax --- O/OSRM/build_tarballs.jl | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/O/OSRM/build_tarballs.jl b/O/OSRM/build_tarballs.jl index cd312b6702d..9237030f994 100644 --- a/O/OSRM/build_tarballs.jl +++ b/O/OSRM/build_tarballs.jl @@ -65,15 +65,17 @@ CMAKE_FLAGS+=(-DCMAKE_AR=$HOSTAR) CMAKE_FLAGS+=(-DZLIB_LIBRARY=${libdir}/libz.${dlext}) CMAKE_FLAGS+=(-DENABLE_LTO=OFF) +cxx_common_flags="-Wno-array-bounds -Wno-error=suggest-override -Wno-error=deprecated-declarations -Wno-error=stringop-overflow -Wno-error=uninitialized -Wno-error=array-bounds" + if [[ ${target} == *mingw* ]]; then CMAKE_FLAGS+=(-DLUA_INCLUDE_DIR=${includedir}) CMAKE_FLAGS+=(-DLUA_LIBRARIES=${libdir}/liblua.${dlext}) CMAKE_FLAGS+=(-D__TBB_USE_FENV=0) - CMAKE_FLAGS+=(-DCMAKE_CXX_FLAGS="-fext-numeric-literals -Wno-array-bounds -Wno-error=suggest-override -Wno-error=deprecated-declarations -Wno-error=stringop-overflow -Wno-error=uninitialized -Wno-error=array-bounds") -else - CMAKE_FLAGS+=(-DCMAKE_CXX_FLAGS="-Wno-array-bounds -Wno-error=suggest-override -Wno-error=deprecated-declarations -Wno-error=stringop-overflow -Wno-error=uninitialized -Wno-error=array-bounds") + cxx_common_flags="-fext-numeric-literals ${common_flags}" fi +CMAKE_FLAGS+=(-DCMAKE_CXX_FLAGS="${common_flags}") + cmake .. ${CMAKE_FLAGS[@]} cmake --build . -j${nproc} cmake --build . -j${nproc} --target install From 586dc1c6e098eadd1a7691ca7578f8897217ed70 Mon Sep 17 00:00:00 2001 From: Jeremiah <4462211+jeremiahpslewis@users.noreply.github.com> Date: Thu, 13 Feb 2025 12:11:42 +0100 Subject: [PATCH 70/90] clean up bash --- O/OSRM/build_tarballs.jl | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/O/OSRM/build_tarballs.jl b/O/OSRM/build_tarballs.jl index 9237030f994..c527172e3b0 100644 --- a/O/OSRM/build_tarballs.jl +++ b/O/OSRM/build_tarballs.jl @@ -65,16 +65,16 @@ CMAKE_FLAGS+=(-DCMAKE_AR=$HOSTAR) CMAKE_FLAGS+=(-DZLIB_LIBRARY=${libdir}/libz.${dlext}) CMAKE_FLAGS+=(-DENABLE_LTO=OFF) -cxx_common_flags="-Wno-array-bounds -Wno-error=suggest-override -Wno-error=deprecated-declarations -Wno-error=stringop-overflow -Wno-error=uninitialized -Wno-error=array-bounds" +cmake_cxx_flags="-Wno-array-bounds -Wno-error=suggest-override -Wno-error=deprecated-declarations -Wno-error=stringop-overflow -Wno-error=uninitialized -Wno-error=array-bounds" if [[ ${target} == *mingw* ]]; then CMAKE_FLAGS+=(-DLUA_INCLUDE_DIR=${includedir}) CMAKE_FLAGS+=(-DLUA_LIBRARIES=${libdir}/liblua.${dlext}) CMAKE_FLAGS+=(-D__TBB_USE_FENV=0) - cxx_common_flags="-fext-numeric-literals ${common_flags}" + cmake_cxx_flags="-fext-numeric-literals ${cmake_cxx_flags}" fi -CMAKE_FLAGS+=(-DCMAKE_CXX_FLAGS="${common_flags}") +CMAKE_FLAGS+=(-DCMAKE_CXX_FLAGS="${cmake_cxx_flags}") cmake .. ${CMAKE_FLAGS[@]} cmake --build . -j${nproc} From 1c3f52b9764f97da48447d39d8de8645a65ab0d1 Mon Sep 17 00:00:00 2001 From: Jeremiah <4462211+jeremiahpslewis@users.noreply.github.com> Date: Thu, 13 Feb 2025 14:00:24 +0100 Subject: [PATCH 71/90] use shared fmt lib --- O/OSRM/build_tarballs.jl | 1 + 1 file changed, 1 insertion(+) diff --git a/O/OSRM/build_tarballs.jl b/O/OSRM/build_tarballs.jl index c527172e3b0..0c003625f71 100644 --- a/O/OSRM/build_tarballs.jl +++ b/O/OSRM/build_tarballs.jl @@ -146,6 +146,7 @@ dependencies = [ Dependency("oneTBB_jll"; compat="2021.12.0") Dependency("Lua_jll"; compat="~5.4.3") Dependency("Zlib_jll") + Dependency("fmt_jll") HostBuildDependency("Lua_jll") # Dependency("libosmium_jll") Dependency("CompilerSupportLibraries_jll"; platforms=filter(!Sys.isbsd, platforms)) From 98367e4e298f51968a12449ce744aa67c2311801 Mon Sep 17 00:00:00 2001 From: Jeremiah <4462211+jeremiahpslewis@users.noreply.github.com> Date: Thu, 13 Feb 2025 14:00:43 +0100 Subject: [PATCH 72/90] use shared fmt lib... --- O/OSRM/bundled/patches/cmake_fixes.patch | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/O/OSRM/bundled/patches/cmake_fixes.patch b/O/OSRM/bundled/patches/cmake_fixes.patch index a8854339be8..2a30a12e248 100644 --- a/O/OSRM/bundled/patches/cmake_fixes.patch +++ b/O/OSRM/bundled/patches/cmake_fixes.patch @@ -1,5 +1,5 @@ diff --git a/CMakeLists.txt b/CMakeLists.txt -index a8388b7db..ffdf31d6d 100644 +index a8388b7db..e23c014cf 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -147,7 +147,7 @@ configure_file( @@ -49,7 +49,18 @@ index a8388b7db..ffdf31d6d 100644 # Explicitly set the build type to Release if no other type is specified # on the command line. Without this, cmake defaults to an unoptimized, -@@ -478,86 +484,29 @@ set(BOOST_ENGINE_LIBRARIES +@@ -314,9 +320,7 @@ add_subdirectory(${FLATBUFFERS_SRC_DIR} + ${CMAKE_CURRENT_BINARY_DIR}/flatbuffers-build + EXCLUDE_FROM_ALL) + +-set(FMT_INCLUDE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/third_party/fmt/include") +-add_compile_definitions(FMT_HEADER_ONLY) +-include_directories(SYSTEM ${FMT_INCLUDE_DIR}) ++find_package(fmt REQUIRED) + + + # see https://stackoverflow.com/questions/70898030/boost-link-error-using-conan-find-package +@@ -478,86 +482,30 @@ set(BOOST_ENGINE_LIBRARIES ${BOOST_BASE_LIBRARIES}) # Binaries @@ -150,11 +161,12 @@ index a8388b7db..ffdf31d6d 100644 + ${TBB_LIBRARIES} + ${MAYBE_RT_LIBRARY} + ${ZLIB_LIBRARY} ++ fmt::fmt + ${MAYBE_COVERAGE_LIBRARIES}) # BUILD_COMPONENTS add_executable(osrm-components src/tools/components.cpp $ $) -@@ -622,14 +571,6 @@ if (BUILD_ROUTED) +@@ -622,14 +570,6 @@ if (BUILD_ROUTED) install(TARGETS osrm-routed DESTINATION bin) endif() install(TARGETS osrm DESTINATION lib) From 5e11d9e7ca343bedb8340487fd600c681efce25e Mon Sep 17 00:00:00 2001 From: Jeremiah <4462211+jeremiahpslewis@users.noreply.github.com> Date: Thu, 13 Feb 2025 14:15:23 +0100 Subject: [PATCH 73/90] capitalization... --- O/OSRM/build_tarballs.jl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/O/OSRM/build_tarballs.jl b/O/OSRM/build_tarballs.jl index 0c003625f71..d8f4e2b0190 100644 --- a/O/OSRM/build_tarballs.jl +++ b/O/OSRM/build_tarballs.jl @@ -146,7 +146,7 @@ dependencies = [ Dependency("oneTBB_jll"; compat="2021.12.0") Dependency("Lua_jll"; compat="~5.4.3") Dependency("Zlib_jll") - Dependency("fmt_jll") + Dependency("Fmt_jll") HostBuildDependency("Lua_jll") # Dependency("libosmium_jll") Dependency("CompilerSupportLibraries_jll"; platforms=filter(!Sys.isbsd, platforms)) From 7a4ed8bd576c1a4558c8bf63c911d9a3345b3ff4 Mon Sep 17 00:00:00 2001 From: Jeremiah <4462211+jeremiahpslewis@users.noreply.github.com> Date: Thu, 13 Feb 2025 14:31:34 +0100 Subject: [PATCH 74/90] Update cmake_fixes.patch --- O/OSRM/bundled/patches/cmake_fixes.patch | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/O/OSRM/bundled/patches/cmake_fixes.patch b/O/OSRM/bundled/patches/cmake_fixes.patch index 2a30a12e248..5ef2dd516e0 100644 --- a/O/OSRM/bundled/patches/cmake_fixes.patch +++ b/O/OSRM/bundled/patches/cmake_fixes.patch @@ -1,5 +1,5 @@ diff --git a/CMakeLists.txt b/CMakeLists.txt -index a8388b7db..e23c014cf 100644 +index a8388b7db..472ceb48e 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -147,7 +147,7 @@ configure_file( @@ -150,6 +150,7 @@ index a8388b7db..e23c014cf 100644 -target_link_libraries(osrm_customize ${CUSTOMIZER_LIBRARIES} osrm_update osrm_store) -target_link_libraries(osrm_store ${STORAGE_LIBRARIES}) +target_link_libraries(osrm ++ fmt::fmt + ${BZIP2_LIBRARIES} + ${Boost_REGEX_LIBRARY} + ${BOOST_BASE_LIBRARIES} @@ -161,7 +162,6 @@ index a8388b7db..e23c014cf 100644 + ${TBB_LIBRARIES} + ${MAYBE_RT_LIBRARY} + ${ZLIB_LIBRARY} -+ fmt::fmt + ${MAYBE_COVERAGE_LIBRARIES}) # BUILD_COMPONENTS From c2185264464bf2baf8c505a57a4f47c75439792f Mon Sep 17 00:00:00 2001 From: Jeremiah <4462211+jeremiahpslewis@users.noreply.github.com> Date: Thu, 13 Feb 2025 15:18:07 +0100 Subject: [PATCH 75/90] revert... --- O/OSRM/bundled/patches/cmake_fixes.patch | 18 +++--------------- 1 file changed, 3 insertions(+), 15 deletions(-) diff --git a/O/OSRM/bundled/patches/cmake_fixes.patch b/O/OSRM/bundled/patches/cmake_fixes.patch index 5ef2dd516e0..a8854339be8 100644 --- a/O/OSRM/bundled/patches/cmake_fixes.patch +++ b/O/OSRM/bundled/patches/cmake_fixes.patch @@ -1,5 +1,5 @@ diff --git a/CMakeLists.txt b/CMakeLists.txt -index a8388b7db..472ceb48e 100644 +index a8388b7db..ffdf31d6d 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -147,7 +147,7 @@ configure_file( @@ -49,18 +49,7 @@ index a8388b7db..472ceb48e 100644 # Explicitly set the build type to Release if no other type is specified # on the command line. Without this, cmake defaults to an unoptimized, -@@ -314,9 +320,7 @@ add_subdirectory(${FLATBUFFERS_SRC_DIR} - ${CMAKE_CURRENT_BINARY_DIR}/flatbuffers-build - EXCLUDE_FROM_ALL) - --set(FMT_INCLUDE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/third_party/fmt/include") --add_compile_definitions(FMT_HEADER_ONLY) --include_directories(SYSTEM ${FMT_INCLUDE_DIR}) -+find_package(fmt REQUIRED) - - - # see https://stackoverflow.com/questions/70898030/boost-link-error-using-conan-find-package -@@ -478,86 +482,30 @@ set(BOOST_ENGINE_LIBRARIES +@@ -478,86 +484,29 @@ set(BOOST_ENGINE_LIBRARIES ${BOOST_BASE_LIBRARIES}) # Binaries @@ -150,7 +139,6 @@ index a8388b7db..472ceb48e 100644 -target_link_libraries(osrm_customize ${CUSTOMIZER_LIBRARIES} osrm_update osrm_store) -target_link_libraries(osrm_store ${STORAGE_LIBRARIES}) +target_link_libraries(osrm -+ fmt::fmt + ${BZIP2_LIBRARIES} + ${Boost_REGEX_LIBRARY} + ${BOOST_BASE_LIBRARIES} @@ -166,7 +154,7 @@ index a8388b7db..472ceb48e 100644 # BUILD_COMPONENTS add_executable(osrm-components src/tools/components.cpp $ $) -@@ -622,14 +570,6 @@ if (BUILD_ROUTED) +@@ -622,14 +571,6 @@ if (BUILD_ROUTED) install(TARGETS osrm-routed DESTINATION bin) endif() install(TARGETS osrm DESTINATION lib) From 27e9202b366f52238b5186c81682842ddfaeadfd Mon Sep 17 00:00:00 2001 From: Jeremiah <4462211+jeremiahpslewis@users.noreply.github.com> Date: Thu, 13 Feb 2025 16:16:30 +0100 Subject: [PATCH 76/90] try clang on mingw --- O/OSRM/build_tarballs.jl | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/O/OSRM/build_tarballs.jl b/O/OSRM/build_tarballs.jl index d8f4e2b0190..a7df65f941e 100644 --- a/O/OSRM/build_tarballs.jl +++ b/O/OSRM/build_tarballs.jl @@ -2,7 +2,7 @@ # `julia build_tarballs.jl --help` to see a usage message. using BinaryBuilder, Pkg -name = "OSRM" +name = "OpenSourceRoutingMachine" version = v"5.28.0" # UNTAGGED / ASK FOR NEW RELEASE TAG # Collection of sources required to complete build @@ -52,9 +52,6 @@ export AR=$HOSTAR CMAKE_FLAGS=() CMAKE_FLAGS+=(-DCMAKE_INSTALL_PREFIX=${prefix}) - -CMAKE_FLAGS+=(-DCMAKE_TOOLCHAIN_FILE=${CMAKE_TARGET_TOOLCHAIN}) - CMAKE_FLAGS+=(-DCMAKE_BUILD_TYPE=Release) CMAKE_FLAGS+=(-DBUILD_SHARED_LIBS=ON) CMAKE_FLAGS+=(-DENABLE_CCACHE=OFF) @@ -72,6 +69,9 @@ if [[ ${target} == *mingw* ]]; then CMAKE_FLAGS+=(-DLUA_LIBRARIES=${libdir}/liblua.${dlext}) CMAKE_FLAGS+=(-D__TBB_USE_FENV=0) cmake_cxx_flags="-fext-numeric-literals ${cmake_cxx_flags}" + CMAKE_FLAGS+=(-DCMAKE_TOOLCHAIN_FILE=${CMAKE_TARGET_TOOLCHAIN%.*}_clang.cmake) +else + CMAKE_FLAGS+=(-DCMAKE_TOOLCHAIN_FILE=${CMAKE_TARGET_TOOLCHAIN}) fi CMAKE_FLAGS+=(-DCMAKE_CXX_FLAGS="${cmake_cxx_flags}") From ede529429e2a8c6e3194fb4f688c17299b9752f1 Mon Sep 17 00:00:00 2001 From: Jeremiah <4462211+jeremiahpslewis@users.noreply.github.com> Date: Thu, 13 Feb 2025 16:32:16 +0100 Subject: [PATCH 77/90] revert use of clang on mingw --- O/OSRM/build_tarballs.jl | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/O/OSRM/build_tarballs.jl b/O/OSRM/build_tarballs.jl index a7df65f941e..cc2f73f5e0f 100644 --- a/O/OSRM/build_tarballs.jl +++ b/O/OSRM/build_tarballs.jl @@ -52,6 +52,7 @@ export AR=$HOSTAR CMAKE_FLAGS=() CMAKE_FLAGS+=(-DCMAKE_INSTALL_PREFIX=${prefix}) +CMAKE_FLAGS+=(-DCMAKE_TOOLCHAIN_FILE=${CMAKE_TARGET_TOOLCHAIN}) CMAKE_FLAGS+=(-DCMAKE_BUILD_TYPE=Release) CMAKE_FLAGS+=(-DBUILD_SHARED_LIBS=ON) CMAKE_FLAGS+=(-DENABLE_CCACHE=OFF) @@ -69,9 +70,7 @@ if [[ ${target} == *mingw* ]]; then CMAKE_FLAGS+=(-DLUA_LIBRARIES=${libdir}/liblua.${dlext}) CMAKE_FLAGS+=(-D__TBB_USE_FENV=0) cmake_cxx_flags="-fext-numeric-literals ${cmake_cxx_flags}" - CMAKE_FLAGS+=(-DCMAKE_TOOLCHAIN_FILE=${CMAKE_TARGET_TOOLCHAIN%.*}_clang.cmake) -else - CMAKE_FLAGS+=(-DCMAKE_TOOLCHAIN_FILE=${CMAKE_TARGET_TOOLCHAIN}) + CMAKE_FLAGS+=(-DCMAKE_TOOLCHAIN_FILE=${CMAKE_TARGET_TOOLCHAIN%.*}_clang.cmake) fi CMAKE_FLAGS+=(-DCMAKE_CXX_FLAGS="${cmake_cxx_flags}") From 74e7229ea3bcd16818c0b0379cda4eca6e1ef973 Mon Sep 17 00:00:00 2001 From: Jeremiah <4462211+jeremiahpslewis@users.noreply.github.com> Date: Thu, 13 Feb 2025 16:34:27 +0100 Subject: [PATCH 78/90] fix folder name --- .../bundled/patches/boost_1_87.patch | 0 .../bundled/patches/cmake_fixes.patch | 0 .../bundled/patches/mingw.patch | 0 O/OpenSourceRoutingMachine/build_tarballs.jl | 155 ++++++++++++++++++ 4 files changed, 155 insertions(+) rename O/{OSRM => CMAKE_FLAGS+=(-DCMAKE_TOOLCHAIN_FILE=${CMAKE_TARGET_TOOLCHAIN})}/bundled/patches/boost_1_87.patch (100%) rename O/{OSRM => CMAKE_FLAGS+=(-DCMAKE_TOOLCHAIN_FILE=${CMAKE_TARGET_TOOLCHAIN})}/bundled/patches/cmake_fixes.patch (100%) rename O/{OSRM => CMAKE_FLAGS+=(-DCMAKE_TOOLCHAIN_FILE=${CMAKE_TARGET_TOOLCHAIN})}/bundled/patches/mingw.patch (100%) create mode 100644 O/OpenSourceRoutingMachine/build_tarballs.jl diff --git a/O/OSRM/bundled/patches/boost_1_87.patch b/O/CMAKE_FLAGS+=(-DCMAKE_TOOLCHAIN_FILE=${CMAKE_TARGET_TOOLCHAIN})/bundled/patches/boost_1_87.patch similarity index 100% rename from O/OSRM/bundled/patches/boost_1_87.patch rename to O/CMAKE_FLAGS+=(-DCMAKE_TOOLCHAIN_FILE=${CMAKE_TARGET_TOOLCHAIN})/bundled/patches/boost_1_87.patch diff --git a/O/OSRM/bundled/patches/cmake_fixes.patch b/O/CMAKE_FLAGS+=(-DCMAKE_TOOLCHAIN_FILE=${CMAKE_TARGET_TOOLCHAIN})/bundled/patches/cmake_fixes.patch similarity index 100% rename from O/OSRM/bundled/patches/cmake_fixes.patch rename to O/CMAKE_FLAGS+=(-DCMAKE_TOOLCHAIN_FILE=${CMAKE_TARGET_TOOLCHAIN})/bundled/patches/cmake_fixes.patch diff --git a/O/OSRM/bundled/patches/mingw.patch b/O/CMAKE_FLAGS+=(-DCMAKE_TOOLCHAIN_FILE=${CMAKE_TARGET_TOOLCHAIN})/bundled/patches/mingw.patch similarity index 100% rename from O/OSRM/bundled/patches/mingw.patch rename to O/CMAKE_FLAGS+=(-DCMAKE_TOOLCHAIN_FILE=${CMAKE_TARGET_TOOLCHAIN})/bundled/patches/mingw.patch diff --git a/O/OpenSourceRoutingMachine/build_tarballs.jl b/O/OpenSourceRoutingMachine/build_tarballs.jl new file mode 100644 index 00000000000..b9453e3002f --- /dev/null +++ b/O/OpenSourceRoutingMachine/build_tarballs.jl @@ -0,0 +1,155 @@ +# Note that this script can accept some limited command-line arguments, run +# `julia build_tarballs.jl --help` to see a usage message. +using BinaryBuilder, Pkg + +name = "nc" +version = v"5.28.0" # UNTAGGED / ASK FOR NEW RELEASE TAG + +# Collection of sources required to complete build +sources = [ + GitSource("https://github.com/Project-OSRM/osrm-backend.git", "c59ad69d6a081fb0c8fca9fe7bf798d4150ea8d2"), + DirectorySource("./bundled"), + # OSRM requires C++20, which needs a newer SDK + ArchiveSource("https://github.com/realjf/MacOSX-SDKs/releases/download/v0.0.1/MacOSX12.3.sdk.tar.xz", + "a511c1cf1ebfe6fe3b8ec005374b9c05e89ac28b3d4eb468873f59800c02b030"), +] + +sdk_update_script = raw""" +if [[ "${target}" == *-apple-darwin* ]]; then + # Install a newer SDK which supports C++20 + pushd $WORKSPACE/srcdir/MacOSX12.*.sdk + rm -rf /opt/${target}/${target}/sys-root/System + rm -rf /opt/${target}/${target}/sys-root/usr/* + cp -ra usr/* "/opt/${target}/${target}/sys-root/usr/." + cp -ra System "/opt/${target}/${target}/sys-root/." + popd + export MACOSX_DEPLOYMENT_TARGET=12.3 +fi +""" + +# Bash recipe for building across all platforms +script = sdk_update_script * raw""" +cd $WORKSPACE/srcdir/osrm-backend + +# Use boost patch, drop once https://github.com/Project-OSRM/osrm-backend/pull/7073 is merged +atomic_patch -p1 "${WORKSPACE}/srcdir/patches/boost_1_87.patch" + +# Patch CMakeLists.txt +atomic_patch -p1 "${WORKSPACE}/srcdir/patches/cmake_fixes.patch" + +if [[ ${target} == *mingw* ]]; then + atomic_patch -p1 "${WORKSPACE}/srcdir/patches/mingw.patch" + + # oneTBB requires at least Windows Vista/Server 2008: + # https://docs.microsoft.com/en-us/windows/win32/api/winbase/nf-winbase-createsemaphoreexa + export CXXFLAGS="-D_WIN32_WINNT=0x0600" +fi + +CFLAGS="-Wno-array-bounds -Wno-error=suggest-override -Wno-error=deprecated-declarations -Wno-error=stringop-overflow -Wno-error=uninitialized -Wno-error=array-bounds" +mkdir build && cd build + +export AR=$HOSTAR + +CMAKE_FLAGS=() +CMAKE_FLAGS+=(-DCMAKE_INSTALL_PREFIX=${prefix}) +CMAKE_FLAGS+=(-DCMAKE_TOOLCHAIN_FILE=${CMAKE_TARGET_TOOLCHAIN}) +CMAKE_FLAGS+=(-DCMAKE_BUILD_TYPE=Release) +CMAKE_FLAGS+=(-DBUILD_SHARED_LIBS=ON) +CMAKE_FLAGS+=(-DENABLE_CCACHE=OFF) +CMAKE_FLAGS+=(-Wno-dev) +CMAKE_FLAGS+=(-DENABLE_MASON=OFF) +CMAKE_FLAGS+=(-DZLIB_INCLUDE_DIRS=${includedir}) +CMAKE_FLAGS+=(-DCMAKE_AR=$HOSTAR) +CMAKE_FLAGS+=(-DZLIB_LIBRARY=${libdir}/libz.${dlext}) +CMAKE_FLAGS+=(-DENABLE_LTO=OFF) + +cmake_cxx_flags="-Wno-array-bounds -Wno-error=suggest-override -Wno-error=deprecated-declarations -Wno-error=stringop-overflow -Wno-error=uninitialized -Wno-error=array-bounds" + +if [[ ${target} == *mingw* ]]; then + CMAKE_FLAGS+=(-DLUA_INCLUDE_DIR=${includedir}) + CMAKE_FLAGS+=(-DLUA_LIBRARIES=${libdir}/liblua.${dlext}) + CMAKE_FLAGS+=(-D__TBB_USE_FENV=0) + cmake_cxx_flags="-fext-numeric-literals ${cmake_cxx_flags}" + CMAKE_FLAGS+=(-DCMAKE_TOOLCHAIN_FILE=${CMAKE_TARGET_TOOLCHAIN%.*}_clang.cmake) +fi + +CMAKE_FLAGS+=(-DCMAKE_CXX_FLAGS="${cmake_cxx_flags}") + +cmake .. ${CMAKE_FLAGS[@]} +cmake --build . -j${nproc} +cmake --build . -j${nproc} --target install + +cp osrm-* ${bindir} +cp libosrm* ${libdir} + +cp ../profiles/*.lua ${prefix} +cp ../profiles/lib/*.lua ${prefix}/lib + +install_license ../LICENSE.TXT +""" + +# These are the platforms we will build for by default, unless further +# platforms are passed in on the command line +# 32 bit platforms are not supported +# oneTBB_jll isn't available for Windows i686 on Yggdrasil (version 2021.5.0) +# oneTBB_jll isn't available for armv6l, armv7l +# musl builds with lots of TBB errors like 'undefined reference to `getcontext'' +platforms = supported_platforms(; exclude=p -> (nbits(p) == 32)) +platforms = expand_cxxstring_abis(platforms) + +# The products that we will ensure are always built +products = Product[ + ExecutableProduct("osrm-routed", :osrm_routed) + ExecutableProduct("osrm-partition", :osrm_partition) + ExecutableProduct("osrm-components", :osrm_components) + ExecutableProduct("osrm-contract", :osrm_contract) + ExecutableProduct("osrm-customize", :osrm_customize) + ExecutableProduct("osrm-datastore", :osrm_datastore) + ExecutableProduct("osrm-extract", :osrm_extract) + # We are not dlopening because the build images use Julia 1.7, which can't dlopen SOs built + # with GCC 12, which is required for OSRM. However, Julia 1.8+ can dlopen them (tested), + # and that is what our compat entry says, so the dlopen failure can safely be ignored. + LibraryProduct("libosrm", :libosrm, dont_dlopen=true) + FileProduct("bicycle.lua", :bicycle) + FileProduct("debug_way.lua", :debug_way) + FileProduct("test.lua", :test) + FileProduct("car.lua", :car) + FileProduct("rasterbot.lua", :rasterbot) + FileProduct("testbot.lua", :testbot) + FileProduct("debug_example.lua", :debug_example) + FileProduct("foot.lua", :foot) + FileProduct("rasterbotinterp.lua", :rasterbotinterp) + FileProduct("turnbot.lua", :turnbot) + FileProduct("lib/access.lua", :lib_access) + FileProduct("lib/maxspeed.lua", :lib_maxspeed) + FileProduct("lib/profile_debugger.lua", :lib_profile_debugger) + FileProduct("lib/set.lua", :lib_set) + FileProduct("lib/utils.lua", :lib_utils) + FileProduct("lib/destination.lua", :lib_destination) + FileProduct("lib/measure.lua", :lib_measure) + FileProduct("lib/relations.lua", :lib_relations) + FileProduct("lib/tags.lua", :lib_tags) + FileProduct("lib/way_handlers.lua", :lib_way_handlers) + FileProduct("lib/guidance.lua", :lib_guidance) + FileProduct("lib/pprint.lua", :lib_pprint) + FileProduct("lib/sequence.lua", :lib_sequence) + FileProduct("lib/traffic_signal.lua", :lib_traffic_signal) +] + +# Dependencies that must be installed before this package can be built +dependencies = [ + Dependency("Bzip2_jll"; compat="1.0.9") + Dependency("boost_jll"; compat="=1.87.0") # Earlier versions of boost seem uncompatible with C++20 deprecations + Dependency("Expat_jll"; compat="2.6.5") + Dependency("XML2_jll") + Dependency("oneTBB_jll"; compat="2021.12.0") + Dependency("Lua_jll"; compat="~5.4.3") + Dependency("Zlib_jll") + Dependency("Fmt_jll") + HostBuildDependency("Lua_jll") + # Dependency("libosmium_jll") + Dependency("CompilerSupportLibraries_jll"; platforms=filter(!Sys.isbsd, platforms)) +] + +# Build the tarballs, and possibly a `build.jl` as well. +build_tarballs(ARGS, name, version, sources, script, platforms, products, dependencies; julia_compat="1.8", preferred_gcc_version=v"13", clang_use_lld=false) From 74b511994f457f5d5d907f2b53be8824a217ee03 Mon Sep 17 00:00:00 2001 From: Jeremiah <4462211+jeremiahpslewis@users.noreply.github.com> Date: Thu, 13 Feb 2025 16:48:16 +0100 Subject: [PATCH 79/90] argh! --- .../bundled/patches/boost_1_87.patch | 0 .../bundled/patches/cmake_fixes.patch | 0 .../bundled/patches/mingw.patch | 0 3 files changed, 0 insertions(+), 0 deletions(-) rename O/{CMAKE_FLAGS+=(-DCMAKE_TOOLCHAIN_FILE=${CMAKE_TARGET_TOOLCHAIN}) => OpenSourceRoutingMachine}/bundled/patches/boost_1_87.patch (100%) rename O/{CMAKE_FLAGS+=(-DCMAKE_TOOLCHAIN_FILE=${CMAKE_TARGET_TOOLCHAIN}) => OpenSourceRoutingMachine}/bundled/patches/cmake_fixes.patch (100%) rename O/{CMAKE_FLAGS+=(-DCMAKE_TOOLCHAIN_FILE=${CMAKE_TARGET_TOOLCHAIN}) => OpenSourceRoutingMachine}/bundled/patches/mingw.patch (100%) diff --git a/O/CMAKE_FLAGS+=(-DCMAKE_TOOLCHAIN_FILE=${CMAKE_TARGET_TOOLCHAIN})/bundled/patches/boost_1_87.patch b/O/OpenSourceRoutingMachine/bundled/patches/boost_1_87.patch similarity index 100% rename from O/CMAKE_FLAGS+=(-DCMAKE_TOOLCHAIN_FILE=${CMAKE_TARGET_TOOLCHAIN})/bundled/patches/boost_1_87.patch rename to O/OpenSourceRoutingMachine/bundled/patches/boost_1_87.patch diff --git a/O/CMAKE_FLAGS+=(-DCMAKE_TOOLCHAIN_FILE=${CMAKE_TARGET_TOOLCHAIN})/bundled/patches/cmake_fixes.patch b/O/OpenSourceRoutingMachine/bundled/patches/cmake_fixes.patch similarity index 100% rename from O/CMAKE_FLAGS+=(-DCMAKE_TOOLCHAIN_FILE=${CMAKE_TARGET_TOOLCHAIN})/bundled/patches/cmake_fixes.patch rename to O/OpenSourceRoutingMachine/bundled/patches/cmake_fixes.patch diff --git a/O/CMAKE_FLAGS+=(-DCMAKE_TOOLCHAIN_FILE=${CMAKE_TARGET_TOOLCHAIN})/bundled/patches/mingw.patch b/O/OpenSourceRoutingMachine/bundled/patches/mingw.patch similarity index 100% rename from O/CMAKE_FLAGS+=(-DCMAKE_TOOLCHAIN_FILE=${CMAKE_TARGET_TOOLCHAIN})/bundled/patches/mingw.patch rename to O/OpenSourceRoutingMachine/bundled/patches/mingw.patch From ee0566330886880d976ad27f86c8475a7904ef2d Mon Sep 17 00:00:00 2001 From: Jeremiah <4462211+jeremiahpslewis@users.noreply.github.com> Date: Thu, 13 Feb 2025 17:23:01 +0100 Subject: [PATCH 80/90] Delete O/OSRM/build_tarballs.jl --- O/OSRM/build_tarballs.jl | 155 --------------------------------------- 1 file changed, 155 deletions(-) delete mode 100644 O/OSRM/build_tarballs.jl diff --git a/O/OSRM/build_tarballs.jl b/O/OSRM/build_tarballs.jl deleted file mode 100644 index cc2f73f5e0f..00000000000 --- a/O/OSRM/build_tarballs.jl +++ /dev/null @@ -1,155 +0,0 @@ -# Note that this script can accept some limited command-line arguments, run -# `julia build_tarballs.jl --help` to see a usage message. -using BinaryBuilder, Pkg - -name = "OpenSourceRoutingMachine" -version = v"5.28.0" # UNTAGGED / ASK FOR NEW RELEASE TAG - -# Collection of sources required to complete build -sources = [ - GitSource("https://github.com/Project-OSRM/osrm-backend.git", "c59ad69d6a081fb0c8fca9fe7bf798d4150ea8d2"), - DirectorySource("./bundled"), - # OSRM requires C++20, which needs a newer SDK - ArchiveSource("https://github.com/realjf/MacOSX-SDKs/releases/download/v0.0.1/MacOSX12.3.sdk.tar.xz", - "a511c1cf1ebfe6fe3b8ec005374b9c05e89ac28b3d4eb468873f59800c02b030"), -] - -sdk_update_script = raw""" -if [[ "${target}" == *-apple-darwin* ]]; then - # Install a newer SDK which supports C++20 - pushd $WORKSPACE/srcdir/MacOSX12.*.sdk - rm -rf /opt/${target}/${target}/sys-root/System - rm -rf /opt/${target}/${target}/sys-root/usr/* - cp -ra usr/* "/opt/${target}/${target}/sys-root/usr/." - cp -ra System "/opt/${target}/${target}/sys-root/." - popd - export MACOSX_DEPLOYMENT_TARGET=12.3 -fi -""" - -# Bash recipe for building across all platforms -script = sdk_update_script * raw""" -cd $WORKSPACE/srcdir/osrm-backend - -# Use boost patch, drop once https://github.com/Project-OSRM/osrm-backend/pull/7073 is merged -atomic_patch -p1 "${WORKSPACE}/srcdir/patches/boost_1_87.patch" - -# Patch CMakeLists.txt -atomic_patch -p1 "${WORKSPACE}/srcdir/patches/cmake_fixes.patch" - -if [[ ${target} == *mingw* ]]; then - atomic_patch -p1 "${WORKSPACE}/srcdir/patches/mingw.patch" - - # oneTBB requires at least Windows Vista/Server 2008: - # https://docs.microsoft.com/en-us/windows/win32/api/winbase/nf-winbase-createsemaphoreexa - export CXXFLAGS="-D_WIN32_WINNT=0x0600" -fi - -CFLAGS="-Wno-array-bounds -Wno-error=suggest-override -Wno-error=deprecated-declarations -Wno-error=stringop-overflow -Wno-error=uninitialized -Wno-error=array-bounds" -mkdir build && cd build - -export AR=$HOSTAR - -CMAKE_FLAGS=() -CMAKE_FLAGS+=(-DCMAKE_INSTALL_PREFIX=${prefix}) -CMAKE_FLAGS+=(-DCMAKE_TOOLCHAIN_FILE=${CMAKE_TARGET_TOOLCHAIN}) -CMAKE_FLAGS+=(-DCMAKE_BUILD_TYPE=Release) -CMAKE_FLAGS+=(-DBUILD_SHARED_LIBS=ON) -CMAKE_FLAGS+=(-DENABLE_CCACHE=OFF) -CMAKE_FLAGS+=(-Wno-dev) -CMAKE_FLAGS+=(-DENABLE_MASON=OFF) -CMAKE_FLAGS+=(-DZLIB_INCLUDE_DIRS=${includedir}) -CMAKE_FLAGS+=(-DCMAKE_AR=$HOSTAR) -CMAKE_FLAGS+=(-DZLIB_LIBRARY=${libdir}/libz.${dlext}) -CMAKE_FLAGS+=(-DENABLE_LTO=OFF) - -cmake_cxx_flags="-Wno-array-bounds -Wno-error=suggest-override -Wno-error=deprecated-declarations -Wno-error=stringop-overflow -Wno-error=uninitialized -Wno-error=array-bounds" - -if [[ ${target} == *mingw* ]]; then - CMAKE_FLAGS+=(-DLUA_INCLUDE_DIR=${includedir}) - CMAKE_FLAGS+=(-DLUA_LIBRARIES=${libdir}/liblua.${dlext}) - CMAKE_FLAGS+=(-D__TBB_USE_FENV=0) - cmake_cxx_flags="-fext-numeric-literals ${cmake_cxx_flags}" - CMAKE_FLAGS+=(-DCMAKE_TOOLCHAIN_FILE=${CMAKE_TARGET_TOOLCHAIN%.*}_clang.cmake) -fi - -CMAKE_FLAGS+=(-DCMAKE_CXX_FLAGS="${cmake_cxx_flags}") - -cmake .. ${CMAKE_FLAGS[@]} -cmake --build . -j${nproc} -cmake --build . -j${nproc} --target install - -cp osrm-* ${bindir} -cp libosrm* ${libdir} - -cp ../profiles/*.lua ${prefix} -cp ../profiles/lib/*.lua ${prefix}/lib - -install_license ../LICENSE.TXT -""" - -# These are the platforms we will build for by default, unless further -# platforms are passed in on the command line -# 32 bit platforms are not supported -# oneTBB_jll isn't available for Windows i686 on Yggdrasil (version 2021.5.0) -# oneTBB_jll isn't available for armv6l, armv7l -# musl builds with lots of TBB errors like 'undefined reference to `getcontext'' -platforms = supported_platforms(; exclude=p -> (nbits(p) == 32)) -platforms = expand_cxxstring_abis(platforms) - -# The products that we will ensure are always built -products = Product[ - ExecutableProduct("osrm-routed", :osrm_routed) - ExecutableProduct("osrm-partition", :osrm_partition) - ExecutableProduct("osrm-components", :osrm_components) - ExecutableProduct("osrm-contract", :osrm_contract) - ExecutableProduct("osrm-customize", :osrm_customize) - ExecutableProduct("osrm-datastore", :osrm_datastore) - ExecutableProduct("osrm-extract", :osrm_extract) - # We are not dlopening because the build images use Julia 1.7, which can't dlopen SOs built - # with GCC 12, which is required for OSRM. However, Julia 1.8+ can dlopen them (tested), - # and that is what our compat entry says, so the dlopen failure can safely be ignored. - LibraryProduct("libosrm", :libosrm, dont_dlopen=true) - FileProduct("bicycle.lua", :bicycle) - FileProduct("debug_way.lua", :debug_way) - FileProduct("test.lua", :test) - FileProduct("car.lua", :car) - FileProduct("rasterbot.lua", :rasterbot) - FileProduct("testbot.lua", :testbot) - FileProduct("debug_example.lua", :debug_example) - FileProduct("foot.lua", :foot) - FileProduct("rasterbotinterp.lua", :rasterbotinterp) - FileProduct("turnbot.lua", :turnbot) - FileProduct("lib/access.lua", :lib_access) - FileProduct("lib/maxspeed.lua", :lib_maxspeed) - FileProduct("lib/profile_debugger.lua", :lib_profile_debugger) - FileProduct("lib/set.lua", :lib_set) - FileProduct("lib/utils.lua", :lib_utils) - FileProduct("lib/destination.lua", :lib_destination) - FileProduct("lib/measure.lua", :lib_measure) - FileProduct("lib/relations.lua", :lib_relations) - FileProduct("lib/tags.lua", :lib_tags) - FileProduct("lib/way_handlers.lua", :lib_way_handlers) - FileProduct("lib/guidance.lua", :lib_guidance) - FileProduct("lib/pprint.lua", :lib_pprint) - FileProduct("lib/sequence.lua", :lib_sequence) - FileProduct("lib/traffic_signal.lua", :lib_traffic_signal) -] - -# Dependencies that must be installed before this package can be built -dependencies = [ - Dependency("Bzip2_jll"; compat="1.0.9") - Dependency("boost_jll"; compat="=1.87.0") # Earlier versions of boost seem uncompatible with C++20 deprecations - Dependency("Expat_jll"; compat="2.6.5") - Dependency("XML2_jll") - Dependency("oneTBB_jll"; compat="2021.12.0") - Dependency("Lua_jll"; compat="~5.4.3") - Dependency("Zlib_jll") - Dependency("Fmt_jll") - HostBuildDependency("Lua_jll") - # Dependency("libosmium_jll") - Dependency("CompilerSupportLibraries_jll"; platforms=filter(!Sys.isbsd, platforms)) -] - -# Build the tarballs, and possibly a `build.jl` as well. -build_tarballs(ARGS, name, version, sources, script, platforms, products, dependencies; julia_compat="1.8", preferred_gcc_version=v"13", clang_use_lld=false) From c5b62a588de5c120a02ac1e5f1f1c4b2938f2273 Mon Sep 17 00:00:00 2001 From: Jeremiah <4462211+jeremiahpslewis@users.noreply.github.com> Date: Thu, 13 Feb 2025 17:25:37 +0100 Subject: [PATCH 81/90] too many typos! --- O/OpenSourceRoutingMachine/build_tarballs.jl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/O/OpenSourceRoutingMachine/build_tarballs.jl b/O/OpenSourceRoutingMachine/build_tarballs.jl index b9453e3002f..cc2f73f5e0f 100644 --- a/O/OpenSourceRoutingMachine/build_tarballs.jl +++ b/O/OpenSourceRoutingMachine/build_tarballs.jl @@ -2,7 +2,7 @@ # `julia build_tarballs.jl --help` to see a usage message. using BinaryBuilder, Pkg -name = "nc" +name = "OpenSourceRoutingMachine" version = v"5.28.0" # UNTAGGED / ASK FOR NEW RELEASE TAG # Collection of sources required to complete build From 0f9de549f6c3344f435f347ddc3dc0d1ae4f52b9 Mon Sep 17 00:00:00 2001 From: Jeremiah <4462211+jeremiahpslewis@users.noreply.github.com> Date: Thu, 13 Feb 2025 17:46:52 +0100 Subject: [PATCH 82/90] don --- O/OpenSourceRoutingMachine/build_tarballs.jl | 1 - 1 file changed, 1 deletion(-) diff --git a/O/OpenSourceRoutingMachine/build_tarballs.jl b/O/OpenSourceRoutingMachine/build_tarballs.jl index cc2f73f5e0f..9da82b86712 100644 --- a/O/OpenSourceRoutingMachine/build_tarballs.jl +++ b/O/OpenSourceRoutingMachine/build_tarballs.jl @@ -70,7 +70,6 @@ if [[ ${target} == *mingw* ]]; then CMAKE_FLAGS+=(-DLUA_LIBRARIES=${libdir}/liblua.${dlext}) CMAKE_FLAGS+=(-D__TBB_USE_FENV=0) cmake_cxx_flags="-fext-numeric-literals ${cmake_cxx_flags}" - CMAKE_FLAGS+=(-DCMAKE_TOOLCHAIN_FILE=${CMAKE_TARGET_TOOLCHAIN%.*}_clang.cmake) fi CMAKE_FLAGS+=(-DCMAKE_CXX_FLAGS="${cmake_cxx_flags}") From bd5ad060812ef435ca5e8f6548c1583ee3f6416f Mon Sep 17 00:00:00 2001 From: Jeremiah <4462211+jeremiahpslewis@users.noreply.github.com> Date: Thu, 13 Feb 2025 17:49:13 +0100 Subject: [PATCH 83/90] use clang, drop flag on mingw --- O/OpenSourceRoutingMachine/build_tarballs.jl | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/O/OpenSourceRoutingMachine/build_tarballs.jl b/O/OpenSourceRoutingMachine/build_tarballs.jl index 9da82b86712..fc1a40562ee 100644 --- a/O/OpenSourceRoutingMachine/build_tarballs.jl +++ b/O/OpenSourceRoutingMachine/build_tarballs.jl @@ -69,7 +69,7 @@ if [[ ${target} == *mingw* ]]; then CMAKE_FLAGS+=(-DLUA_INCLUDE_DIR=${includedir}) CMAKE_FLAGS+=(-DLUA_LIBRARIES=${libdir}/liblua.${dlext}) CMAKE_FLAGS+=(-D__TBB_USE_FENV=0) - cmake_cxx_flags="-fext-numeric-literals ${cmake_cxx_flags}" + CMAKE_FLAGS+=(-DCMAKE_TOOLCHAIN_FILE=${CMAKE_TARGET_TOOLCHAIN%.*}_clang.cmake) fi CMAKE_FLAGS+=(-DCMAKE_CXX_FLAGS="${cmake_cxx_flags}") @@ -93,7 +93,7 @@ install_license ../LICENSE.TXT # oneTBB_jll isn't available for Windows i686 on Yggdrasil (version 2021.5.0) # oneTBB_jll isn't available for armv6l, armv7l # musl builds with lots of TBB errors like 'undefined reference to `getcontext'' -platforms = supported_platforms(; exclude=p -> (nbits(p) == 32)) +platforms = supported_platforms(; exclude=p -> x -> !Sys.iswindows(x) && (nbits(p) == 32)) platforms = expand_cxxstring_abis(platforms) # The products that we will ensure are always built From d62ff09f6bfca86c9353fa042526cc958f0baf65 Mon Sep 17 00:00:00 2001 From: Jeremiah <4462211+jeremiahpslewis@users.noreply.github.com> Date: Thu, 13 Feb 2025 18:03:05 +0100 Subject: [PATCH 84/90] fix platform exclusion function --- O/OpenSourceRoutingMachine/build_tarballs.jl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/O/OpenSourceRoutingMachine/build_tarballs.jl b/O/OpenSourceRoutingMachine/build_tarballs.jl index fc1a40562ee..b13e70d6369 100644 --- a/O/OpenSourceRoutingMachine/build_tarballs.jl +++ b/O/OpenSourceRoutingMachine/build_tarballs.jl @@ -93,7 +93,7 @@ install_license ../LICENSE.TXT # oneTBB_jll isn't available for Windows i686 on Yggdrasil (version 2021.5.0) # oneTBB_jll isn't available for armv6l, armv7l # musl builds with lots of TBB errors like 'undefined reference to `getcontext'' -platforms = supported_platforms(; exclude=p -> x -> !Sys.iswindows(x) && (nbits(p) == 32)) +platforms = supported_platforms(; exclude=p -> !Sys.iswindows(p) && (nbits(p) == 32)) platforms = expand_cxxstring_abis(platforms) # The products that we will ensure are always built From f0d29e7c1564b521b36b243093d6dd9397285e15 Mon Sep 17 00:00:00 2001 From: Jeremiah <4462211+jeremiahpslewis@users.noreply.github.com> Date: Thu, 13 Feb 2025 18:12:13 +0100 Subject: [PATCH 85/90] Fix Bool logic --- O/OpenSourceRoutingMachine/build_tarballs.jl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/O/OpenSourceRoutingMachine/build_tarballs.jl b/O/OpenSourceRoutingMachine/build_tarballs.jl index b13e70d6369..a3d375aa46a 100644 --- a/O/OpenSourceRoutingMachine/build_tarballs.jl +++ b/O/OpenSourceRoutingMachine/build_tarballs.jl @@ -93,7 +93,7 @@ install_license ../LICENSE.TXT # oneTBB_jll isn't available for Windows i686 on Yggdrasil (version 2021.5.0) # oneTBB_jll isn't available for armv6l, armv7l # musl builds with lots of TBB errors like 'undefined reference to `getcontext'' -platforms = supported_platforms(; exclude=p -> !Sys.iswindows(p) && (nbits(p) == 32)) +platforms = supported_platforms(; exclude=p -> !Sys.iswindows(p) || (nbits(p) == 32)) platforms = expand_cxxstring_abis(platforms) # The products that we will ensure are always built From 90e826bdf192e1b13b17a167a1782a9eb43dd811 Mon Sep 17 00:00:00 2001 From: Jeremiah <4462211+jeremiahpslewis@users.noreply.github.com> Date: Thu, 13 Feb 2025 18:24:00 +0100 Subject: [PATCH 86/90] add unset strict ansi to mingw --- O/OpenSourceRoutingMachine/build_tarballs.jl | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/O/OpenSourceRoutingMachine/build_tarballs.jl b/O/OpenSourceRoutingMachine/build_tarballs.jl index a3d375aa46a..88943ce2e22 100644 --- a/O/OpenSourceRoutingMachine/build_tarballs.jl +++ b/O/OpenSourceRoutingMachine/build_tarballs.jl @@ -52,7 +52,6 @@ export AR=$HOSTAR CMAKE_FLAGS=() CMAKE_FLAGS+=(-DCMAKE_INSTALL_PREFIX=${prefix}) -CMAKE_FLAGS+=(-DCMAKE_TOOLCHAIN_FILE=${CMAKE_TARGET_TOOLCHAIN}) CMAKE_FLAGS+=(-DCMAKE_BUILD_TYPE=Release) CMAKE_FLAGS+=(-DBUILD_SHARED_LIBS=ON) CMAKE_FLAGS+=(-DENABLE_CCACHE=OFF) @@ -69,7 +68,11 @@ if [[ ${target} == *mingw* ]]; then CMAKE_FLAGS+=(-DLUA_INCLUDE_DIR=${includedir}) CMAKE_FLAGS+=(-DLUA_LIBRARIES=${libdir}/liblua.${dlext}) CMAKE_FLAGS+=(-D__TBB_USE_FENV=0) - CMAKE_FLAGS+=(-DCMAKE_TOOLCHAIN_FILE=${CMAKE_TARGET_TOOLCHAIN%.*}_clang.cmake) + CMAKE_FLAGS+=(-DCMAKE_TOOLCHAIN_FILE=${CMAKE_TARGET_TOOLCHAIN%.*}_clang.cmake) + + cmake_cxx_flags="-U__STRICT_ANSI__ ${cmake_cxx_flags}" +else + CMAKE_FLAGS+=(-DCMAKE_TOOLCHAIN_FILE=${CMAKE_TARGET_TOOLCHAIN}) fi CMAKE_FLAGS+=(-DCMAKE_CXX_FLAGS="${cmake_cxx_flags}") From cac5d4c206d978e6fe2e6a772568ae35ab7d5156 Mon Sep 17 00:00:00 2001 From: Jeremiah <4462211+jeremiahpslewis@users.noreply.github.com> Date: Thu, 13 Feb 2025 18:44:58 +0100 Subject: [PATCH 87/90] hide excess mingw errors --- O/OpenSourceRoutingMachine/build_tarballs.jl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/O/OpenSourceRoutingMachine/build_tarballs.jl b/O/OpenSourceRoutingMachine/build_tarballs.jl index 88943ce2e22..5b3c3e6ad64 100644 --- a/O/OpenSourceRoutingMachine/build_tarballs.jl +++ b/O/OpenSourceRoutingMachine/build_tarballs.jl @@ -70,7 +70,7 @@ if [[ ${target} == *mingw* ]]; then CMAKE_FLAGS+=(-D__TBB_USE_FENV=0) CMAKE_FLAGS+=(-DCMAKE_TOOLCHAIN_FILE=${CMAKE_TARGET_TOOLCHAIN%.*}_clang.cmake) - cmake_cxx_flags="-U__STRICT_ANSI__ ${cmake_cxx_flags}" + cmake_cxx_flags="-U__STRICT_ANSI__ -Wno-error=cpp ${cmake_cxx_flags}" else CMAKE_FLAGS+=(-DCMAKE_TOOLCHAIN_FILE=${CMAKE_TARGET_TOOLCHAIN}) fi From a8c8cc704f5bc6a9f31ef908c8c6dcdd5e4a0ba7 Mon Sep 17 00:00:00 2001 From: Jeremiah <4462211+jeremiahpslewis@users.noreply.github.com> Date: Thu, 13 Feb 2025 18:52:44 +0100 Subject: [PATCH 88/90] try new flag --- O/OpenSourceRoutingMachine/build_tarballs.jl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/O/OpenSourceRoutingMachine/build_tarballs.jl b/O/OpenSourceRoutingMachine/build_tarballs.jl index 5b3c3e6ad64..9d030408b25 100644 --- a/O/OpenSourceRoutingMachine/build_tarballs.jl +++ b/O/OpenSourceRoutingMachine/build_tarballs.jl @@ -70,7 +70,7 @@ if [[ ${target} == *mingw* ]]; then CMAKE_FLAGS+=(-D__TBB_USE_FENV=0) CMAKE_FLAGS+=(-DCMAKE_TOOLCHAIN_FILE=${CMAKE_TARGET_TOOLCHAIN%.*}_clang.cmake) - cmake_cxx_flags="-U__STRICT_ANSI__ -Wno-error=cpp ${cmake_cxx_flags}" + cmake_cxx_flags="-U__STRICT_ANSI__ -Wno-error=-W#warnings ${cmake_cxx_flags}" else CMAKE_FLAGS+=(-DCMAKE_TOOLCHAIN_FILE=${CMAKE_TARGET_TOOLCHAIN}) fi From cc28191ce2d91fc480b4e1e6b5284f22a986c7fa Mon Sep 17 00:00:00 2001 From: Jeremiah <4462211+jeremiahpslewis@users.noreply.github.com> Date: Thu, 13 Feb 2025 18:59:28 +0100 Subject: [PATCH 89/90] drop windows! --- O/OpenSourceRoutingMachine/build_tarballs.jl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/O/OpenSourceRoutingMachine/build_tarballs.jl b/O/OpenSourceRoutingMachine/build_tarballs.jl index 9d030408b25..b425f824d64 100644 --- a/O/OpenSourceRoutingMachine/build_tarballs.jl +++ b/O/OpenSourceRoutingMachine/build_tarballs.jl @@ -96,7 +96,7 @@ install_license ../LICENSE.TXT # oneTBB_jll isn't available for Windows i686 on Yggdrasil (version 2021.5.0) # oneTBB_jll isn't available for armv6l, armv7l # musl builds with lots of TBB errors like 'undefined reference to `getcontext'' -platforms = supported_platforms(; exclude=p -> !Sys.iswindows(p) || (nbits(p) == 32)) +platforms = supported_platforms(; exclude=p -> Sys.iswindows(p) || (nbits(p) == 32)) platforms = expand_cxxstring_abis(platforms) # The products that we will ensure are always built From 5e2893aa051b58d481dadb0f95046937a36d58f6 Mon Sep 17 00:00:00 2001 From: Jeremiah <4462211+jeremiahpslewis@users.noreply.github.com> Date: Thu, 13 Feb 2025 20:30:01 +0100 Subject: [PATCH 90/90] Bump oneTBB --- O/OpenSourceRoutingMachine/build_tarballs.jl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/O/OpenSourceRoutingMachine/build_tarballs.jl b/O/OpenSourceRoutingMachine/build_tarballs.jl index b425f824d64..93608c251c3 100644 --- a/O/OpenSourceRoutingMachine/build_tarballs.jl +++ b/O/OpenSourceRoutingMachine/build_tarballs.jl @@ -144,7 +144,7 @@ dependencies = [ Dependency("boost_jll"; compat="=1.87.0") # Earlier versions of boost seem uncompatible with C++20 deprecations Dependency("Expat_jll"; compat="2.6.5") Dependency("XML2_jll") - Dependency("oneTBB_jll"; compat="2021.12.0") + Dependency("oneTBB_jll"; compat="2022.0.0") Dependency("Lua_jll"; compat="~5.4.3") Dependency("Zlib_jll") Dependency("Fmt_jll")