-
Notifications
You must be signed in to change notification settings - Fork 1
CMAKE_FIND_PACKAGE_SOLUTIONS
GitHub Actions edited this page Jan 2, 2026
·
1 revision
ThemisDB v1.3.5 | Datum: 26.12.2025
CMake Error at CMakeLists.txt:504:
Could NOT find faiss (missing: faiss_DIR)
-
vcpkg Installation: β
faiss v1.8.0 in
C:\VCC\themis\vcpkg_installed\x64-windows\ -
Config-Datei existiert: β
vcpkg_installed/x64-windows/share/faiss/faiss-config.cmake - CMake findet sie nicht: β faiss_DIR wird nicht automatisch propagiert
CMake Error at plugins/rpc/grpc/CMakeLists.txt:9:
gRPCConfig.cmake missing despite vcpkg installation
-
vcpkg Installation: β
grpc v1.71.0 (statisch) in
C:\VCC\themis\vcpkg_installed\x64-windows\ -
Config-Datei existiert: β
vcpkg_installed/x64-windows/share/grpc/gRPCConfig.cmake - CMake findet sie nicht: β gRPC_DIR wird nicht automatisch propagiert
- Beim CMake Configure sind CMAKE_PREFIX_PATH und CMAKE_FIND_PACKAGE_PREFER_CONFIG richtig gesetzt
-
vcpkg.cmake Toolchain wird korrekt geladen (
-DCMAKE_TOOLCHAIN_FILE=...) -
ABER: Die Pfade zu
faiss_DIRundgRPC_DIRwerden nicht vom Toolchain ΓΌbertragen
-
vcpkg.cmake setzt
CMAKE_PREFIX_PATHauf VCPKG_INSTALLED_DIR - ABER: Dieses wird bei jedem CMake-Reset ΓΌberschrieben
-
Bei CMakeLists.txt Lines 43-45:
CMAKE_FIND_PACKAGE_PREFER_CONFIG ONist korrekt -
ABER:
CMAKE_PREFIX_PATHmuss bei JEDEM cmake-Schritt gesetzt sein
Garantierte LΓΆsung: Pfade direkt in CMakeLists.txt setzen.
CMakeLists.txt - Nach Zeile 39 ergΓ€nzen:
# Set CMAKE_PREFIX_PATH for vcpkg packages (v1.3.5 hotfix)
if(DEFINED ENV{VCPKG_ROOT})
list(APPEND CMAKE_PREFIX_PATH "$ENV{VCPKG_ROOT}/installed/x64-windows")
endif()
# Fallback: Lokaler Installed-Pfad
if(EXISTS "${CMAKE_SOURCE_DIR}/vcpkg_installed/x64-windows")
list(APPEND CMAKE_PREFIX_PATH "${CMAKE_SOURCE_DIR}/vcpkg_installed/x64-windows")
endif()Oder kompakt (Best Practice fΓΌr Windows):
# Ensure vcpkg packages are discoverable (v1.3.5)
if(DEFINED ENV{VCPKG_ROOT})
list(PREPEND CMAKE_PREFIX_PATH
"$ENV{VCPKG_ROOT}/installed/x64-windows"
"$ENV{VCPKG_ROOT}/installed/x64-windows/share")
endif()Am einfachsten fΓΌr SOFORT-FIX (PowerShell):
# FAISS + gRPC Problem sofort beheben
$VCPKG_INSTALLED = "C:\VCC\themis\vcpkg_installed\x64-windows"
cmake -S . -B build-msvc `
-G "Visual Studio 17 2022" -A x64 `
-DCMAKE_TOOLCHAIN_FILE="C:\VCC\themis\vcpkg\scripts\buildsystems\vcpkg.cmake" `
-DVCPKG_TARGET_TRIPLET=x64-windows `
-DCMAKE_PREFIX_PATH="$VCPKG_INSTALLED;$VCPKG_INSTALLED\share" `
-Dfaiss_DIR="$VCPKG_INSTALLED\share\faiss" `
-DgRPC_DIR="$VCPKG_INSTALLED\share\grpc" `
-DTHEMIS_ENABLE_GPU=ONIn CMakeLists.txt (Lines 40-45 ersetzen):
# vcpkg integration with proper PREFIX_PATH propagation
if(DEFINED ENV{VCPKG_ROOT})
set(CMAKE_TOOLCHAIN_FILE "$ENV{VCPKG_ROOT}/scripts/buildsystems/vcpkg.cmake" CACHE STRING "")
# CRITICAL: Set PREFIX_PATH after toolchain to ensure config packages are found
list(APPEND CMAKE_PREFIX_PATH
"$ENV{VCPKG_ROOT}/installed/${VCPKG_TARGET_TRIPLET}"
"$ENV{VCPKG_ROOT}/installed/${VCPKG_TARGET_TRIPLET}/share")
endif()
# Prefer CONFIG packages (vcpkg) - MUSS nach PREFIX_PATH kommen!
set(CMAKE_FIND_PACKAGE_PREFER_CONFIG ON)
set(CMAKE_FIND_PACKAGE_CONFIG_DIR
"${CMAKE_BINARY_DIR}/vcpkg_installed/x64-windows/share"
CACHE PATH "vcpkg cmake configs")Betroffene Dateien:
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -42,9 +42,20 @@ set(CMAKE_CXX_EXTENSIONS OFF)
endif()
# Export compile commands for IDE support
set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
+# ============================================================================
+# v1.3.5: Fix CMAKE_PREFIX_PATH for vcpkg packages (faiss, gRPC, etc)
+# Explanation: vcpkg.cmake sets PREFIX_PATH but it may be cleared by IDE builds
+# SOLUTION: Explicitly prepend vcpkg installed directory to PREFIX_PATH
+# ============================================================================
+if(DEFINED ENV{VCPKG_ROOT})
+ list(PREPEND CMAKE_PREFIX_PATH
+ "$ENV{VCPKG_ROOT}/installed/x64-windows/share"
+ "$ENV{VCPKG_ROOT}/installed/x64-windows")
+endif()
+
# vcpkg integration
if(DEFINED ENV{VCPKG_ROOT})
set(CMAKE_TOOLCHAIN_FILE "$ENV{VCPKG_ROOT}/scripts/buildsystems/vcpkg.cmake"
CACHE STRING "Vcpkg toolchain file")
endif()
# Prefer CONFIG packages (vcpkg) over FindXXX modules
set(CMAKE_FIND_PACKAGE_PREFER_CONFIG ON)--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -503,7 +503,15 @@ find_package(hnswlib CONFIG)
# Optional: Faiss for GPU support (graceful degradation if not found)
if(THEMIS_ENABLE_GPU)
- find_package(faiss CONFIG)
+ find_package(faiss CONFIG QUIET)
if(NOT faiss_FOUND)
+ # Fallback: Try to find via direct DIR hint
+ if(NOT DEFINED faiss_DIR AND EXISTS "${CMAKE_PREFIX_PATH}")
+ find_package(faiss CONFIG
+ HINTS "${CMAKE_PREFIX_PATH}"
+ QUIET)
+ endif()
+ endif()
+ if(NOT faiss_FOUND)
message(WARNING "Faiss nicht gefunden β GPU-UnterstΓΌtzung wird automatisch deaktiviert.")
set(THEMIS_ENABLE_GPU OFF CACHE BOOL "Enable GPU acceleration for vector search" FORCE)--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -927,7 +927,15 @@ endif()
find_package(gRPC CONFIG QUIET)
if(gRPC_FOUND)
message(STATUS "gRPC found - enabling LLM gRPC service")
list(APPEND THEMIS_CORE_SOURCES
src/server/llm_grpc_service.cpp
proto/llm_service.proto
)
else()
- message(STATUS "gRPC not found - disabling LLM gRPC service and proto generation")
+ # Fallback: Try gRPC with HINTS
+ find_package(gRPC CONFIG
+ HINTS "${CMAKE_PREFIX_PATH}"
+ QUIET)
+ endif()
+ if(NOT gRPC_FOUND)
+ message(WARNING "gRPC not found - LLM gRPC service disabled")--- a/plugins/rpc/grpc/CMakeLists.txt
+++ b/plugins/rpc/grpc/CMakeLists.txt
@@ -7,9 +7,21 @@ message(STATUS "Configuring gRPC Plugin")
# Find gRPC package
-find_package(gRPC CONFIG)
+# v1.3.5 Hotfix: Ensure gRPC_DIR is set
+if(NOT DEFINED gRPC_DIR AND DEFINED ENV{VCPKG_ROOT})
+ set(gRPC_DIR "$ENV{VCPKG_ROOT}/installed/x64-windows/share/grpc" CACHE PATH "gRPC directory")
+endif()
+
+find_package(gRPC CONFIG QUIET)
if(NOT gRPC_FOUND)
- find_package(gRPC)
+ # Fallback with hints
+ find_package(gRPC CONFIG
+ HINTS "$ENV{VCPKG_ROOT}/installed/x64-windows/share/grpc"
+ QUIET)
endif()
+
if(NOT gRPC_FOUND)
- message(WARNING "gRPC not found - skipping gRPC plugin build")
+ message(WARNING "gRPC not found - skipping gRPC plugin build. "
+ "Set gRPC_DIR to <vcpkg>/installed/x64-windows/share/grpc")
message(WARNING "Install with: apt install libgrpc++-dev or brew install grpc or vcpkg install grpc")cmake -S . -B build-msvc `
-G "Visual Studio 17 2022" -A x64 `
-DCMAKE_TOOLCHAIN_FILE="C:\VCC\themis\vcpkg\scripts\buildsystems\vcpkg.cmake"
# β Fehler: faiss_DIR nicht gefunden, gRPC_DIR nicht gefundencmake -S . -B build-msvc `
-G "Visual Studio 17 2022" -A x64 `
-DCMAKE_TOOLCHAIN_FILE="C:\VCC\themis\vcpkg\scripts\buildsystems\vcpkg.cmake" `
-DCMAKE_PREFIX_PATH="C:\VCC\themis\vcpkg_installed\x64-windows;C:\VCC\themis\vcpkg_installed\x64-windows\share" `
-DTHEMIS_ENABLE_GPU=ON
# β β
FAISS gefundencmake -S . -B build-msvc `
-G "Visual Studio 17 2022" -A x64 `
-DCMAKE_TOOLCHAIN_FILE="C:\VCC\themis\vcpkg\scripts\buildsystems\vcpkg.cmake" `
-Dfaiss_DIR="C:\VCC\themis\vcpkg_installed\x64-windows\share\faiss" `
-DgRPC_DIR="C:\VCC\themis\vcpkg_installed\x64-windows\share\grpc" `
-DTHEMIS_ENABLE_GPU=ON
# β β
FAISS + gRPC gefunden# 1. FAISS Config
$VCPKG = "C:\VCC\themis\vcpkg_installed\x64-windows"
Test-Path "$VCPKG\share\faiss\faiss-config.cmake" # Muss TRUE sein
Test-Path "$VCPKG\lib\faiss.lib" # Muss TRUE sein
# 2. gRPC Config
Test-Path "$VCPKG\share\grpc\gRPCConfig.cmake" # Muss TRUE sein
Test-Path "$VCPKG\lib\grpc.lib" # Muss TRUE sein
# 3. CMake-Cache ΓΌberprΓΌfen
Get-Content "build-msvc\CMakeCache.txt" | Select-String "faiss|gRPC" | Select-Object -First 10# Vor dem Build sollte folgendes stehen:
-- Found faiss: <path>/share/faiss/faiss-config.cmake (found version "1.8.0")
-- Found gRPC: <path>/share/grpc/gRPCConfig.cmake (found version "1.71.0")- FAISS Official CMake: https://github.com/facebookresearch/faiss/blob/main/cmake/faiss-config.cmake.in
- FAISS CMakeLists: https://github.com/facebookresearch/faiss/blob/main/CMakeLists.txt
- vcpkg FAISS Port: https://github.com/microsoft/vcpkg/blob/master/ports/faiss/portfile.cmake
- Known Windows Issues: https://github.com/facebookresearch/faiss/issues?q=cmake+windows
- gRPC Official CMake: https://github.com/grpc/grpc/blob/master/cmake/gRPCConfig.cmake.in
- gRPC CMakeLists: https://github.com/grpc/grpc/blob/master/CMakeLists.txt#L200-L250
- vcpkg gRPC Port: https://github.com/microsoft/vcpkg/blob/master/ports/grpc/portfile.cmake
- vcpkg CMake Wrapper Fix: https://github.com/microsoft/vcpkg/blob/master/ports/grpc/vcpkg-cmake-wrapper.cmake
- MSVC Static Build Fix: https://github.com/grpc/grpc/pull/38623
- FAISS Windows Build Issue #2909: Shared libs problem on Windows
- gRPC MSVC Static Runtime #38623: CMake >= 3.15 fix fΓΌr MSVC
-
vcpkg CONFIG Mode: Ensure
CMAKE_FIND_PACKAGE_PREFER_CONFIG=ON
Falls die vcpkg Installation beschΓ€digt ist:
# 1. Faiss neu bauen (mit GPU optional)
cd C:\VCC\themis
.\vcpkg\vcpkg install faiss:x64-windows
# 2. gRPC neu bauen (statisch erforderlich auf Windows)
.\vcpkg\vcpkg install grpc:x64-windows
# 3. Protobuf (abhΓ€ngig von gRPC, wird automatisch gezogen)
.\vcpkg\vcpkg install protobuf:x64-windows
# 4. Alle abhΓ€ngigen Pakete ΓΌberprΓΌfen
.\vcpkg\vcpkg list | Select-String "faiss|grpc|protobuf"
# 5. Ganze vcpkg_installed lΓΆschen und neubuild (NUCLEAR)
Remove-Item -Recurse -Force "vcpkg_installed"
.\vcpkg\vcpkg install- Step 1: CMakeLists.txt mit CMAKE_PREFIX_PATH Patch patchen (Zeile 40-50)
- Step 2: gRPC Plugin CMakeLists.txt mit gRPC_DIR Fallback patchen
- Step 3: CMake Configure mit
-DCMAKE_PREFIX_PATHdurchfΓΌhren - Step 4: ΓberprΓΌfen dass
faiss_DIRundgRPC_DIRin CMakeCache.txt gesetzt sind - Step 5:
cmake --build . --target themis_servertesten - Step 6: Test durchfΓΌhren mit
-DTHEMIS_ENABLE_GPU=ONfΓΌr FAISS-Integration - Step 7: Test durchfΓΌhren mit LLM-Feature fΓΌr gRPC-Integration
| Package | Konfiguration | Installed Path |
|---|---|---|
| FAISS | faiss-config.cmake | vcpkg_installed\x64-windows\share\faiss\ |
| FAISS | Library | vcpkg_installed\x64-windows\lib\faiss.lib |
| gRPC | gRPCConfig.cmake | vcpkg_installed\x64-windows\share\grpc\ |
| gRPC | Library | vcpkg_installed\x64-windows\lib\grpc*.lib |
| Protobuf | protobufConfig.cmake | vcpkg_installed\x64-windows\share\protobuf\ |
| OpenMP | (MSVC builtin) | Via /openmp compiler flag |
| BLAS/LAPACK | FAISS dependency | vcpkg-abhΓ€ngig (Intel MKL oder openblas) |
- ThemisDB: v1.3.5+
- FAISS: v1.8.0 (vcpkg)
- gRPC: v1.71.0 (vcpkg)
- CMake: β₯3.20
- MSVC: Visual Studio 17 2022
- vcpkg: Latest stable
ThemisDB 1.9.0-beta Β· Home Β· Wiki-Index Β· Module-Index Β· FAQ Β· Quick-Reference Β· GitHub Β· Issues Β· Discussions Β· License
- Batch Operations
- Best Practices
- CRUD Tutorial
- Custom Document Ingestion
- Getting Started Tutorial
- Interactive Examples
- Schema Design
- Video Tutorials
- AQL Reference
- AQL Examples
- AQL Overview
- AQL Feature Roadmap
- AQL Geospatial Guide
- AQL LLM Migration Guide
- AQL API
- AQL Grammar (EBNF)
- AQL Root Overview
- AQL Examples (root)
- API Reference
- API Module README
- OpenAPI Overview
- Client SDK Overview
- SDK Overview
- Operations
- Operations Overview
- Operations Runbook
- Operations Handbook
- ThemisCtl Admin Guide
- Pipeline E2E SOPs
- Deploy Overview
- Docker Overview
- Docker Hub README
- Helm Overview
- Packaging Overview
- Operator Overview
- Security Policy
- Production Hardening Checklist
- Security Hardening Guide
- Encryption Key Management
- Access Control Framework
- Zero Trust Policy
- API Authentication & Authorization
- HSM Production Setup
- PKCS11 Integration
- DSGVO / SOC2 Checklist
- Access Model Runbooks
- Access Model Dashboard
- Maturity Automation Runbook
- Access Review Automation
- Access Model Dashboard
- Access Model Runbooks
- Rights Revocation
- Dr Checklists
- Dr Testing
- Incident Response Playbook
- Incident Response Testing
- GPU Oom Recovery
- Grammar Debugging
- Metrics Scrape Troubleshooting
- Model Swap Procedure
- Quota Tuning
- Subagent Deployment
- Logging Configuration
- Content Model
- Crypto & Keys
- Feature Flags Reference
- Modular Architecture Roadmap
- Modularization Guide
- Module Architecture Index
- PostgreSQL Wire Protocol
- Query Scheduling
- Raft Consensus Design
- Resource Pooling
- Source Directory Guide
- Unified Access Model
- E1 001 Layered Retrieval Design
- E1 002 Ann Abstraction Strategy
- E1 003 Tensor Summary Types
- E1 004 Lora Package Distinction
- E1 005 Model Switch Compatibility
- E1 006 Federated Tensor Summaries
- E2 001 Evaluation Framework Design
- E2 002 Hardware Profile Strategy
- E2 003 Query Planner Routing Model
- E2 004 Approximation Governance Rules
- E2 005 Cross Layer Fallback Confidence Policy
- E3 001 Distributed Tensor Design
- E3 002 Manifest Coordination Strategy
- E3 003 Recovery And Erasure Choice
- E3 004 Tensor Fabric Infrastructure
- Contributing
- Contributing (root)
- Code of Conduct
- Support
- Maintainers
- CTest Guide
- Build Quick Reference
- Developer Wiki Index
- Build / Test / CI
- Module Index
- Branching Strategy
- Disabled Stub Policy
- Docs PR Policy
- GA Promotion Sign Off
- Github Milestones Setup
- Maturity Claim Verification Checklist
- Maturity Evidence Registry
- Merge Gate Bot Config
- Merge Gate Status Live
- Phase 1 Closure Report
- Phase Closure Policy
- Phase Dependency Graph
- Phase3 Enforcement Runbook
- Plugin Submodule Rollback
- PR Version Targeting
- PR Version Targeting Backfill
- Production Ready 2026 Delivery Plan
- Query Module Status
- Readme
- Release Promotion Gate Policy
- Release Validation Checklist
- Security Module 5671 Evidence Summary
- Sharding P6 Residual Risk Acceptance
- Sourcecode Compliance Governance
- Updates Development Status Sign Off
- Wave C Implementation Complete
- Blob Storage
- Cuda
- Ethics Ai
- Exporters
- Huggingface
- Image Analysis
- Importers
- RPC
- Scraper
- Themisdb Ai Watermark Detector
- User Storage Encrypted
- Chimera Architecture
- Chimera Future
- Chimera Readme
- Chimera Roadmap
- Covina Fastapi Ingestion Architecture
- Covina Fastapi Ingestion Future
- Covina Fastapi Ingestion Roadmap
- Vcc Base Architecture
- Vcc Base Future
- Vcc Base Roadmap
- Vcc Clara Ingestion Architecture
- Vcc Clara Ingestion Future
- Vcc Clara Ingestion Roadmap
- Vcc Veritas Architecture
- Vcc Veritas Future
- Vcc Veritas Roadmap
- 01 Hello World
- 02 Todo App
- 03 Contact Manager
- 04 Inventory System
- 05 Time Series Monitor
- 06 Graph Social Network
- 07 Vector Search Documents
- 08 Dms Erp System
- 09 Iot Sensor Network
- 10 Drone Image Analysis
- 11 Blog Wiki
- 12 Expense Tracker
- 13 Recipe Manager
- 14 Ecommerce Catalog
- 15 Event Management
- 16 Kanban Board
- 17 Crm
- 18 Realtime Chat
- 19 Recommendation Engine
- 20 Smart Home
- 21 Coding Platform
- 22 AQL Diagram Tool
- 23 Traveling Salesman
- 24 Moral Philosophy Debates
- API Versioning
- Distributed Sharding
- Feedback Plugins
- Geo
- Gnn
- Image Analysis
- Legal Lora Training
- LLM
- Lora Sync
- Migration
- Nlp
- Performance
- Railway
- Replication
- Rope Visualization
- Sample Product Config
- Security
- Client SDK Overview
- Quickstart
- Sdk Enhancements
- Sdk Implementation Summary
- Test Suite Readme
- Go
- Java
- Javascript
- Php
- Python
- Ruby
- Rust
- Typescript
- 01 Grundlegende Operationen
- 02 AQL Queries
- 03 Graph Daten
- 04 Multimodell Anwendung
- 01 Quickstart Guide
- 02 AQL Referenz Kurzuebersicht
- 03 Datenmodellierung Guide
- 04 Uebungsaufgaben
- 05 Best Practices Guide
- Training Documents
- Training Overview
- 01 Einfuehrung Und Uebersicht
- 02 Datenmodelle Und Architektur
- 03 AQL Abfragesprache
- 04 Installation Und Setup
- 05 Anwendungsbeispiele
- Training Presentations
- Dependencies Readme
- Processmonitor Readme
- Themis.admintools.shared Readme
- Themis.aqlquerybuilder Readme
- Themis.aqlquerybuilder Roadmap
- Themis.auditlogviewer Readme
- Themis.auditlogviewer Roadmap
- Themis.classificationdashboard Readme
- Themis.classificationdashboard Roadmap
- Themis.compliancereports Readme
- Themis.compliancereports Roadmap
- Themis.gisviewer.controlpanel Readme
- Themis.gisviewer.controlpanel Roadmap
- Themis.impactanalysisviewer Readme
- Themis.impactanalysisviewer Roadmap
- Themis.ingestiontool Readme
- Themis.ingestiontool Roadmap
- Themis.keyrotationdashboard Readme
- Themis.keyrotationdashboard Roadmap
- Themis.piimanager Readme
- Themis.piimanager Roadmap
- Themis.retentionmanager Readme
- Themis.retentionmanager Roadmap
- Themis.sagaverifier Readme
- Themis.sagaverifier Roadmap
- Themis.usbadmintool Readme
- Themis.usbadmintool Roadmap
- CI Readme
- CI Roadmap
- Compiler Diagnostics Readme
- Compiler Diagnostics Roadmap
- Completion Readme
- Copilot Ollama Router Readme
- Copilot Ollama Router Roadmap
- Gnn Readme
- Gnn Roadmap
- Rope Visualizer Readme
- Rope Visualizer Roadmap
- Tco Calculator Readme
- Tco Calculator Roadmap
- Tests Readme
- Tests Roadmap
- Themis Config Wx Readme
- Themis Docs Builder Readme
- Wikipedia Ingestion Readme