riseproject-dev / riseproject-dev/python-wheels

lightgbm riscv64 support

Open
#616 0 comments 0 reactions 0 assignees View on GitHub

A pull request for this has already been merged.

  • #481 by @luhenry — merged
  • #615 by @luhenry — merged
  • #619 by @luhenry — merged
wheel
Dominant language
Python
Stars
0
Forks
0
Avg merge
16h 14m
Merged PRs (30d)
952

Description

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.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reading the workflow added in #481 and the LightGBM 4.7.0 wheel build configuration. Reproduce the build and auditwheel repair, then follow #617 to understand the ranking-test segfault. Done means a riscv64 wheel builds successfully, includes the required bundled license texts, and its test status is understood.

Written by the indexing model from the issue text.

Assessment

Tech stack
cmake, cpp, python
Domain
build-system, devops
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
52/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.