Build fails with system MLX 0.32.3: gather_qmm global_scale argument
Assessment
- Difficulty
- 2/5
- Estimated time
- 1-3 hours
- Newbie friendliness
- 85/100
- Issue type
- Bug
- Clarity
- Clearly specified
- Activity status
- Active
- Tech stack
- cpp
- Domain
- api, build-system
Research direction
Start in mlx/c/ops.cpp around line 1711 and inspect the gather_qmm wrapper call alongside MLX_VERSION_NUMERIC handling. Build with MLX_C_USE_SYSTEM_MLX=ON against MLX 0.32.3, then verify compatibility with the bundled MLX 0.32.2 and preservation of the existing C API.
Written by the indexing model from the issue text.
Description
MLX-C v0.7.0 fails to build against system MLX v0.32.3. The mlx::core::gather_qmm overload now takes const std::optional<array>& global_scale immediately before sorted_indices, but the C wrapper still passes its boolean in that position:
mlx/c/ops.cpp:1711:13: error: reference to type 'const std::optional<array>' could not bind to an lvalue of type 'bool'
Reproduced on macOS 26 ARM64 with MLX_C_USE_SYSTEM_MLX=ON and MLX 0.32.3 built from source. The same wrapper call remains on main, while the bundled dependency is still pinned to v0.32.2.
Passing std::nullopt for the new argument only when MLX_VERSION_NUMERIC >= 32003 should preserve the existing C API and compatibility with the bundled version.
- Dominant language
- C++
- Stars
- 249
- Forks
- 96
- Avg merge
- 8m
- Merged PRs (30d)
- 1
Getting set up
- No Dockerfile or Docker Compose file
- No pull request template
- Read the contributing guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from ml-explore/mlx-c
-
mlx_median with no axis (axes=NULL, axes_num=0) fails: [flatten] start_axis must be less than or equal to end_axisPossibly taken @aki-xavier claimed this 45 days ago. Open
Difficulty 2/5 1-3 hours Newbie friendliness 84/100
ml-explore/mlx-c#128 ·
-
Difficulty 4/5 3-5 days Newbie friendliness 48/100
ml-explore/mlx-c#138 ·
-
Distributed: accept a null stream, and bind clear_backends() and init with an all-gather factoryPossibly taken A pull request linked to this issue is open or already merged. Open
Difficulty 4/5 3-5 days Newbie friendliness 45/100
ml-explore/mlx-c#134 ·
-
Difficulty 5/5 Over a week Newbie friendliness 25/100
ml-explore/mlx-c#118 ·
-
Difficulty 5/5 Over a week Newbie friendliness 25/100
ml-explore/mlx-c#116 ·
All issues in ml-explore/mlx-c
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
Maintainers usually reply within 1 day
-
category:port-update
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
Maintainers usually reply within 2 days
-
(S1 - Need confirmation)
Difficulty 2/5 1-3 hours Newbie friendliness 65/100
CleverRaven/Cataclysm-DDA#89194 ·
Maintainers usually reply within 1 day
-
reproduced
Difficulty 1/5 Under an hour Newbie friendliness 67/100
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
Maintainers usually reply within 1 day