fix(nemo): pin texterrors to 1.1.6 for GLIBCXX compatibility#10134
Merged
Conversation
There was a problem hiding this comment.
Pull request overview
Note
Copilot was unable to run its full agentic suite in this review.
Adds an additional Python dependency to the NeMo CUDA 13 (cu130) requirements set.
Changes:
- Add
texterrors==1.1.6torequirements-cublas13.txt.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
1b655f6 to
e412a6c
Compare
Pin texterrors==1.1.6 before nemo_toolkit[asr] in requirements-cublas13.txt. The texterrors package (a NeMo transitive dependency) contains a compiled C++ extension (texterrors_align.so) that may be built from source during OCI image creation. When built on systems with GCC 14+ (e.g. Ubuntu 24.04), the resulting binary requires GLIBCXX_3.4.32, which is not available in the default LocalAI container (Ubuntu 22.04, GLIBCXX up to 3.4.30). Pinning to 1.1.6 (the latest release) ensures: - Reproducible builds across environments - pip resolves the pre-built manylinux2014 wheel (needs only GLIBCXX_3.4.11) instead of potentially building from source with a newer toolchain Fixes mudler#10056 Signed-off-by: 番茄摔成番茄酱 <fqscfqj@outlook.com>
e412a6c to
ec0f163
Compare
mudler
approved these changes
Jun 2, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Problem
The
cuda13-nemobackend fails to load on the default LocalAI container (Ubuntu 22.04) with:The
texterrorspackage (a NeMo transitive dependency) contains a compiled C++ extension. When the backend OCI image is built on a system with GCC 14+ (e.g. Ubuntu 24.04), pip may buildtexterrorsfrom source rather than using the pre-built wheel, producing a binary that requiresGLIBCXX_3.4.32— which the Ubuntu 22.04 container does not provide (it ships up toGLIBCXX_3.4.30).Fix
Pin
texterrors==1.1.6inrequirements-cublas13.txtbeforenemo_toolkit[asr].This ensures:
manylinux2014wheels on PyPI (requiring onlyGLIBCXX_3.4.11), pip is more likely to install the pre-built wheel instead of building from source with the host toolchainInvestigation notes
I verified all available
texterrorsversions on PyPI (0.5.1 through 1.1.6) — their pre-builtmanylinux2014wheels only requireGLIBCXXup to3.4.11, which is fully compatible with Ubuntu 22.04. The issue arises when the package is compiled from source (.tar.gz) during OCI image build on a newer platform.Fixes #10056