4paradigm / 4paradigm/OpenMLDB

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

Abierto
#1,277 6 comentarios 0 reacciones 2 asignados Reclamado por @aceforeverd Ver en GitHub
bug build enhancement
Lenguaje dominante
C++
Estrellas
1.7k
Forks
331
Merge medio
12 d 12 h
PR fusionados (30 d)
1

Descripción

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

Guía de contribución

Abrir la guía de contribución

Línea de trabajo

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.

Escrito por el modelo de indexación a partir del texto del issue.

Evaluación

Stack tecnológico
cmake, cpp
Área
build-system
Tipo de issue
Error
Dificultad
3/5
Tiempo estimado
1-2 días
Estado de actividad
Estancado
Claridad
Bastante claro
Aptitud para principiantes
45/100

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.