cmake build maps libre

I’m building maps libre Linux - MapLibre Native Developer Documentation
Having problem with mbgl-core build

FAILED: CMakeFiles/mbgl-core.dir/src/mbgl/layout/symbol_layout.cpp.o
ccache /usr/bin/clang++ -DEGL_NO_X11 -DMESA_EGL_NO_X11_HEADERS -DMLN_RENDER_BACKEND_OPENGL=1 -DMLN_TEXT_SHAPING_HARFBUZZ=1 -DMLN_USE_UNORDERED_DENSE=1 -DRAPIDJSON_HAS_STDSTRING=1 -DWL_EGL_PLATFORM -I/home/j/maplibre-native/src -I/home/j/maplibre-native/include -I/home/j/maplibre-native/platform/default/include -isystem /home/j/maplibre-native/vendor/freetype/include -isystem /home/j/maplibre-native/vendor/harfbuzz/src -isystem /home/j/maplibre-native/vendor/kdbush.hpp/include -isystem /home/j/maplibre-native/vendor/maplibre-native-base/deps/shelf-pack-cpp/include -isystem /home/j/maplibre-native/vendor/maplibre-native-base/deps/geojson-vt-cpp/include -isystem /home/j/maplibre-native/vendor/maplibre-native-base/deps/cheap-ruler-cpp/include -isystem /home/j/maplibre-native/vendor/boost/include -isystem /home/j/maplibre-native/vendor/earcut.hpp/include -isystem /home/j/maplibre-native/vendor/eternal/include -isystem /home/j/maplibre-native/vendor/parsedate -isystem /home/j/maplibre-native/vendor/PMTiles/cpp -isystem /home/j/maplibre-native/vendor/polylabel/include -isystem /home/j/maplibre-native/vendor/protozero/include -isystem /home/j/maplibre-native/vendor/supercluster/include -isystem /home/j/maplibre-native/vendor/unique_resource -isystem /home/j/maplibre-native/vendor/vector-tile/include -isystem /home/j/maplibre-native/vendor/wagyu/include -isystem /home/j/maplibre-native/vendor/maplibre-tile-spec/cpp/include -isystem /home/j/maplibre-native/vendor/maplibre-tile-spec/cpp/vendor/fastpfor -isystem /home/j/maplibre-native/vendor/csscolorparser -isystem /home/j/maplibre-native/vendor/maplibre-native-base/include -isystem /home/j/maplibre-native/vendor/maplibre-native-base/deps/geojson.hpp/include -isystem /home/j/maplibre-native/vendor/maplibre-native-base/deps/geometry.hpp/include -isystem /home/j/maplibre-native/vendor/maplibre-native-base/deps/jni.hpp/include -isystem /home/j/maplibre-native/vendor/maplibre-native-base/deps/pixelmatch-cpp/include -isystem /home/j/maplibre-native/vendor/maplibre-native-base/deps/variant/include -isystem /home/j/maplibre-native/vendor/expected-lite/include -isystem /home/j/maplibre-native/vendor/rapidjson/include -isystem /home/j/maplibre-native/vendor/unordered_dense/include -isystem /home/j/maplibre-native/vendor/nunicode/include -isystem /home/j/maplibre-native/vendor/sqlite/include -O2 -g -DNDEBUG -std=c++20 -fPIC -fvisibility=hidden -fvisibility-inlines-hidden -fno-rtti -Wall -Wshadow -Wextra -Werror -MD -MT CMakeFiles/mbgl-core.dir/src/mbgl/layout/symbol_layout.cpp.o -MF CMakeFiles/mbgl-core.dir/src/mbgl/layout/symbol_layout.cpp.o.d -o CMakeFiles/mbgl-core.dir/src/mbgl/layout/symbol_layout.cpp.o -c /home/j/maplibre-native/src/mbgl/layout/symbol_layout.cpp

If run explicitly with command:

ccache /usr/bin/clang++ -DEGL_NO_X11 -DMESA_EGL_NO_X11_HEADERS -DMLN_RENDER_BACKEND_OPENGL=1 -DMLN_TEXT_SHAPING_HARFBUZZ=1 -DMLN_USE_UNORDERED_DENSE=1 -DRAPIDJSON_HAS_STDSTRING=1 -DWL_EGL_PLATFORM -I/home/j/maplibre-native/src -I/home/j/maplibre-native/include -I/home/j/maplibre-native/platform/default/include -isystem /home/j/maplibre-native/vendor/freetype/include -isystem /home/j/maplibre-native/vendor/harfbuzz/src -isystem /home/j/maplibre-native/vendor/kdbush.hpp/include -isystem /home/j/maplibre-native/vendor/maplibre-native-base/deps/shelf-pack-cpp/include -isystem /home/j/maplibre-native/vendor/maplibre-native-base/deps/geojson-vt-cpp/include -isystem /home/j/maplibre-native/vendor/maplibre-native-base/deps/cheap-ruler-cpp/include -isystem /home/j/maplibre-native/vendor/boost/include -isystem /home/j/maplibre-native/vendor/earcut.hpp/include -isystem /home/j/maplibre-native/vendor/eternal/include -isystem /home/j/maplibre-native/vendor/parsedate -isystem /home/j/maplibre-native/vendor/PMTiles/cpp -isystem /home/j/maplibre-native/vendor/polylabel/include -isystem /home/j/maplibre-native/vendor/protozero/include -isystem /home/j/maplibre-native/vendor/supercluster/include -isystem /home/j/maplibre-native/vendor/unique_resource -isystem /home/j/maplibre-native/vendor/vector-tile/include -isystem /home/j/maplibre-native/vendor/wagyu/include -isystem /home/j/maplibre-native/vendor/maplibre-tile-spec/cpp/include -isystem /home/j/maplibre-native/vendor/maplibre-tile-spec/cpp/vendor/fastpfor -isystem /home/j/maplibre-native/vendor/csscolorparser -isystem /home/j/maplibre-native/vendor/maplibre-native-base/include -isystem /home/j/maplibre-native/vendor/maplibre-native-base/deps/geojson.hpp/include -isystem /home/j/maplibre-native/vendor/maplibre-native-base/deps/geometry.hpp/include -isystem /home/j/maplibre-native/vendor/maplibre-native-base/deps/jni.hpp/include -isystem /home/j/maplibre-native/vendor/maplibre-native-base/deps/pixelmatch-cpp/include -isystem /home/j/maplibre-native/vendor/maplibre-native-base/deps/variant/include -isystem /home/j/maplibre-native/vendor/expected-lite/include -isystem /home/j/maplibre-native/vendor/rapidjson/include -isystem /home/j/maplibre-native/vendor/unordered_dense/include -isystem /home/j/maplibre-native/vendor/nunicode/include -isystem /home/j/maplibre-native/vendor/sqlite/include -O2 -g -DNDEBUG -std=c++20 -fPIC -fvisibility=hidden -fvisibility-inlines-hidden -fno-rtti -Wall -Wshadow -Wextra -Werror -MD -MT CMakeFiles/mbgl-core.dir/src/mbgl/layout/symbol_layout.cpp.o -MF CMakeFiles/mbgl-core.dir/src/mbgl/layout/symbol_layout.cpp.o.d -o CMakeFiles/mbgl-core.dir/src/mbgl/layout/symbol_layout.cpp.o -c /home/j/maplibre-native/src/mbgl/layout/symbol_layout.cpp
error: unable to open output file ‘CMakeFiles/mbgl-core.dir/src/mbgl/layout/symbol_layout.cpp.o’: ‘No such file or directory’
1 error generated

it seem like some files were built in wrong order

  1. is it possible to fix it like we can fix with npm builds?
  2. is it possible to fast detect what is the problem?
  3. what is the documented and recommended guidelines how to find problem area in such cases?

Something deleted the output directories before the build ran.

That’s what the error is trying to tell you, it can’t write the output file because the directory it wants to write to doesn’t exist.

Can we place go further with this case
What should I share so we can find the leak?

No idea. If it consistently reproduces in different build folder or on a different machine, I would report it to the upstream project.

Anything can delete a folder. Your delete key can delete a folder. CMake doesn’t have a “delete the build folders and make the build fail” button, this isn’t supposed to happen.