4paradigm / 4paradigm/OpenMLDB

duplicate static library link

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

Descripción

## Expected Behavior
static lib should be linked only one time.

## Current Behavior
Some static libs are linked multiple times.
in [`src/sdk/CMakeLists.txt`](https://github.com/4paradigm/OpenMLDB/blob/2f85d12cd8dadd3a1ec822e1f591632341f3b23f/src/sdk/CMakeLists.txt#L52)

`set(SDK_LIBS openmldb_sdk openmldb_catalog client zk_client schema openmldb_flags openmldb_codec openmldb_proto base hybridse_sdk zookeeper_mt ${VM_LIBS} ${LLVM_LIBS} ${BRPC_LIBS} ${ZETASQL_LIBS}) `

where `${VM_LIBS} ${LLVM_LIBS} ${BRPC_LIBS} ${ZETASQL_LIBS} ` are not necessary and already linked by `hybridse_sdk`.

It may cause unexpected fault if we link multiple times. see [here](https://github.com/4paradigm/OpenMLDB/runs/5425348767?check_suite_focus=true)

## Possible Solution

It is not obvious what will happen if we link a static lib multiple times. We have to figure it out what are the correct way to do this.

I believe there are other places where there are duplicate links except the `SDK_LIBS`. But it for now does not trigger any error or unexpected crash.

Guía de contribución

Abrir la guía de contribución

Línea de trabajo

The issue points to src/sdk/CMakeLists.txt line 52 where SDK_LIBS includes duplicate static libraries. First, examine the CMakeLists.txt to understand the library dependencies, particularly how hybridse_sdk includes VM_LIBS, LLVM_LIBS, BRPC_LIBS, and ZETASQL_LIBS. Then, search for other duplicate links in the codebase. Test the build after removing the duplicates to ensure no linking errors occur.

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
Bien especificado
Aptitud para principiantes
40/100

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.