Drop the semantic retriever from libmediapipe.so MediaPipe 1.1.0 links its SQLite memory and vector stores from prebuilt archives (third_party/sqlite_prebuilt_files.bzl) built with Google's internal toolchain: they carry no archive symbol table, reference Google's libc++ (std::__u) and internal symbols (__alloc_token_*__Znwm, sqlite_helpers, sqlite3_vector_init), and cannot link against a libstdc++ build. Leave the semantic retriever's C API out of the library; everything else, including the universal embedder, still builds. Only an explicit import of mediapipe.tasks.python.retrieval.semantic_retriever needs those symbols. --- a/mediapipe/tasks/c/BUILD +++ b/mediapipe/tasks/c/BUILD @@ -45,7 +45,6 @@ "//mediapipe/tasks/c/audio/audio_embedder:audio_embedder_c_lib", "//mediapipe/tasks/c/core:common", "//mediapipe/tasks/c/metadata:flatbuffer_api_c_lib", - "//mediapipe/tasks/c/retrieval/semantic_retriever:semantic_retriever_lib", "//mediapipe/tasks/c/retrieval/universal_embedder:universal_embedder_lib", "//mediapipe/tasks/c/text/language_detector:language_detector_c_lib", "//mediapipe/tasks/c/text/text_classifier:text_classifier_c_lib",