From 70a355204f5cba9667beba9d6f50ef1dc41e2081 Mon Sep 17 00:00:00 2001 From: Claude Date: Thu, 6 Aug 2026 18:49:34 +0000 Subject: [PATCH] Update maplibre-tile-spec to a version that builds on ARM The MLT build fails on aarch64: FastPFOR's cmake passes -msse4.2 to the compiler in every SIMD mode, including the portable one that MLT selects, so the build dies with "unrecognized command-line option '-msse4.2'" on ubuntu-24.04-arm, and on Apple Silicon for the same reason. Nothing about the MLT integration is architecture-specific, so this is as true of the output format as of the decoder; it went unnoticed because CI never ran on the branch that added it. Upstream fixed it in maplibre/maplibre-tile-spec#1492, by vendoring a FastPFOR snapshot with the SIMD codecs removed -- which is no loss, since the SIMD encoder's output isn't compatible with the non-SIMD decoder and was never used. Move the submodule forward four commits to pick that up along with the platform fixes in #1497. FastPFOR is no longer a cmake option there, so drop the two -D flags for it from the configure step and follow the library's rename from FastPFOR to fastpfor-lib. FastPFOR decoding is still compiled in, so no tile becomes unreadable, and the checked-in standards are unchanged. The submodule also no longer needs its own fastpfor and simde submodules, so the recursive checkout gets a little smaller. Co-Authored-By: Claude Opus 5 Claude-Session: https://claude.ai/code/session_01LxhELiLtpUFwrPSWwTYdHG --- Makefile | 4 +--- maplibre-tile-spec | 2 +- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/Makefile b/Makefile index 2bef7593..77ffee5e 100644 --- a/Makefile +++ b/Makefile @@ -24,7 +24,7 @@ MLT_FLAGS = MLT_INCLUDES = -isystem maplibre-tile-spec/cpp/include -isystem maplibre-tile-spec/cpp/vendor/fsst MLT_STD = -std=c++20 MLT_DEPS = $(MLT_BUILD_STAMP) -MLT_DECODE_LIBS = mlt-build/libmlt-cpp.a mlt-build/libfsst-lib.a mlt-build/fastpfor/libFastPFOR.a +MLT_DECODE_LIBS = mlt-build/libmlt-cpp.a mlt-build/libfsst-lib.a mlt-build/libfastpfor-lib.a MLT_LIBS = mlt-build/libmlt-cpp-encoder.a $(MLT_DECODE_LIBS) MLT_TESTS = mlt-test mlt-decode-test mlt-output-test endif @@ -86,8 +86,6 @@ LIBS = -L/usr/local/lib $(MLT_BUILD_STAMP): maplibre-tile-spec/cpp/CMakeLists.txt cmake -S maplibre-tile-spec/cpp -B mlt-build \ -DCMAKE_BUILD_TYPE=$(BUILDTYPE) \ - -DMLT_WITH_FASTPFOR=ON \ - -DMLT_WITH_FASTPFOR_SIMD=OFF \ -DMLT_WITH_JSON=OFF \ -DMLT_WITH_TESTS=OFF \ -DMLT_WITH_TOOLS=OFF \ diff --git a/maplibre-tile-spec b/maplibre-tile-spec index ec6808da..d457bf2b 160000 --- a/maplibre-tile-spec +++ b/maplibre-tile-spec @@ -1 +1 @@ -Subproject commit ec6808dab4ce9bd5ecb0394a6bd5f50c02d69944 +Subproject commit d457bf2b0135ecf718b9d8a1bea7e6fa5be2713e