4paradigm / 4paradigm/OpenMLDB

duplicate static library link

Offen
#1,385 8 Kommentare 0 Reaktionen 2 zugewiesene Personen Beansprucht von @aceforeverd Auf GitHub ansehen
bug build
Vorherrschende Sprache
C++
Sterne
1.7k
Forks
331
Ø Merge
12 T. 12 Std.
Gemergte PRs (30 T.)
1

Beschreibung

## 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.

Beitragsleitfaden

Beitragsleitfaden öffnen

Rechercherichtung

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.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
cmake, cpp
Bereich
build-system
Issue-Typ
Bug
Schwierigkeit
3/5
Geschätzter Aufwand
1-2 Tage
Aktivitätsstatus
Veraltet
Klarheit
Klar beschrieben
Anfängerfreundlichkeit
40/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.