riseproject-dev / riseproject-dev/python-wheels
lightgbm riscv64 support
Ein zugehöriger Pull Request wurde bereits gemerged.
- Vorherrschende Sprache
- Python
- Sterne
- 0
- Forks
- 0
- Ø Merge
- 16 Std. 14 Min.
- Gemergte PRs (30 T.)
- 952
Beschreibung
Package name (on PyPI)
lightgbm
Source repository
https://github.com/lightgbm-org/LightGBM
Version(s) requested
4.7.0
Why is this needed?
LightGBM is one of the two mainstream gradient-boosting libraries. Upstream publishes py3-none wheels for macOS, Windows, x86_64 and aarch64 Linux, but nothing for riscv64, so pip install lightgbm on riscv64 falls back to the sdist and needs a CMake/C++ toolchain.
Additional context
Workflow added in #481. The build and auditwheel repair succeed and the wheel carries a real lib_lightgbm.so, but the test phase segfaults in the ranking tests — see #617 for the underlying cause, which is not in LightGBM.
The wheel bundles Eigen, fast_double_parser, fmt and nanoarrow; upstream's license-files = ["LICENSE"] shipped none of their licence texts, so the port carries a patch adding them.
Beitragsleitfaden
Für dieses Repository ist kein Beitragsleitfaden indexiert
Erste Schritte
- Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
- Forke das Repository und arbeite in einem Branch.
- Öffne einen Pull Request, der die Issue-Nummer nennt.
Rechercherichtung
Beginne damit, den in #481 hinzugefügten Workflow und die LightGBM 4.7.0 Wheel-Build-Konfiguration zu lesen. Reproduziere den Build und die auditwheel-Reparatur und folge dann #617, um den Segfault im ranking-test zu verstehen. Als abgeschlossen gilt die Aufgabe, wenn ein riscv64 Wheel erfolgreich erstellt wird, die erforderlichen gebündelten Lizenztexte enthält und der Teststatus verstanden ist.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- cmake, cpp, python
- Bereich
- build-system, devops
- Issue-Typ
- Feature
- Schwierigkeit
- 4/5
- Geschätzter Aufwand
- 3-5 Tage
- Aktivitätsstatus
- Aktiv
- Klarheit
- Größtenteils klar
- Anfängerfreundlichkeit
- 52/100