4paradigm / 4paradigm/OpenMLDB

build: swig and contrib/rapidjson

Offen
#3,863 0 Kommentare 0 Reaktionen 1 zugewiesene Person Beansprucht von @vagetablechicken Auf GitHub ansehen
build
Vorherrschende Sprache
C++
Sterne
1.7k
Forks
331
Ø Merge
12 T. 12 Std.
Gemergte PRs (30 T.)
1

Beschreibung

we set swig dir before find swig package, the var `SWIG_DIR` will be set by find cmake, no need to set here, and we have already set .deps/usr/ to be find path.
- [ ] may failed on hybridsql, but it can be find without swig_dir in centos6?

```
-- Adding contrib module rapidjson (configuring with rapidjson)
CMake Deprecation Warning at contrib/rapidjson/CMakeLists.txt:1 (CMAKE_MINIMUM_REQUIRED):
Compatibility with CMake < 2.8.12 will be removed from a future version of
-- why trigger again?
-- CMAKE_PREFIX_PATH: /root/OpenMLDB/.deps/usr
-- CMAKE_BUILD_TYPE: RelWithDebInfo
-- MAC_TABLET_ENABLE: ON
-- hw test /root/OpenMLDB/.deps/usr/share/swig/4.0.1
-- Found Protobuf Libraries: /root/OpenMLDB/.deps/usr/lib/libprotobuf.a;-lpthread
-- Adding contrib module simdjson (configuring with simdjson)
CMake Error at contrib/simdjson/CMakeLists.txt:1 (add_library):
add_library cannot create target "_simdjson" because another target with
the same name already exists. The existing target is a static library
created in source directory "/root/OpenMLDB/contrib/simdjson". See
documentation for policy CMP0002 for more details.

-- Adding contrib module rapidjson (configuring with rapidjson)
CMake Deprecation Warning at contrib/rapidjson/CMakeLists.txt:1 (CMAKE_MINIMUM_REQUIRED):
Compatibility with CMake < 2.8.12 will be removed from a future version of
CMake.

Update the VERSION argument value or use a ... suffix to tell
CMake that the project does not need compatibility with older versions.

CMake Error at contrib/rapidjson/doc/CMakeLists.txt:21 (add_custom_target):
add_custom_target cannot create target "doc" because another target with
the same name already exists. The existing target is a custom target
created in source directory "/root/OpenMLDB/contrib/rapidjson/doc". See
documentation for policy CMP0002 for more details.
```
contrib projects are not robust, rerun cmake may got dup targets. The cmake log shows it re-run after rapidjson module, so I make rapidjson thinner, don't build test or doc in it. Then cmake will be fine.

Beitragsleitfaden

Beitragsleitfaden öffnen

Rechercherichtung

The issue is about CMake configuration problems with the swig directory and duplicate targets in contrib/rapidjson and contrib/simdjson. Look at the CMakeLists.txt files in the contrib/ directory, especially rapidjson and simdjson. The goal is to modify the rapidjson CMake configuration to avoid building tests and docs, and ensure targets are not duplicated on reruns. Run cmake from the project root to reproduce the errors and verify the fix.

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
Größtenteils klar
Anfängerfreundlichkeit
40/100

Neue Issues direkt in Ihr Postfach

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