4paradigm / 4paradigm/OpenMLDB
build: choose the libraries shipped in third-party (by default) or the system libraries
- 主要言語
- C++
- スター
- 1.7k
- フォーク
- 331
- 平均マージ
- 12日 12時間
- マージ済み PR(30日)
- 1
説明
If users compile in its own physical machines rather than the provided docker environment, there may be some linking issues.
## Expected Behavior
use the static libraries located in `.deps/usr/` first, then system dynamic libraries
## Current Behavior
If the system has already installed some libraries, it will link these libraries from system locations rather than the static libraries in the project-specific locations (i.e., `.deps/usr`).
e.g., brpc protobuf glog gflags unwind ssl crypto leveldb z snappy and others
## Possible Solution
use `find_library` or `find_package` to look for the libraries in the project library location (`.deps/usr`) first, then other system locations.
## Steps to Reproduce
1. if the system has already installed the dependent libraries which do not meet the requirements of OpenMLDB, the complication will fail.
## Context (Environment)
custom os environment (not provided docker environment)
## Detailed Description
## Possible Implementation
コントリビューションガイド
調査の方向性
The issue is about CMake linking order for libraries like brpc, protobuf, glog, etc. Look at the CMakeLists.txt files to see how find_library or find_package is currently used. The goal is to modify the CMake configuration to prioritize static libraries in .deps/usr/ over system libraries. Test by building in a custom OS environment without the provided Docker setup to verify linking works correctly.
索引モデルが issue の本文から書いたものです。
評価
- 技術スタック
- cmake, cpp
- 領域
- build-system
- issue の種類
- バグ
- 難易度
- 3/5
- 見積もり時間
- 1〜2日
- 活発さ
- 停滞
- 明瞭さ
- おおむね明確
- 初心者へのやさしさ
- 45/100