4paradigm / 4paradigm/OpenMLDB

build: choose the libraries shipped in third-party (by default) or the system libraries

オープン
#1,277 コメント 6 件 リアクション 0 件 担当者 2 名 @aceforeverd が担当を希望しています GitHub で見る
bug build enhancement
主要言語
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

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。