4paradigm / 4paradigm/OpenMLDB

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

Open
#1,277 6 comments 0 reactions 2 assignees Claimed by @aceforeverd View on GitHub
bug build enhancement
Dominant language
C++
Stars
1.7k
Forks
331
Avg merge
12d 12h
Merged PRs (30d)
1

Description

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

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.