Issue
During the Kokoro CI/CD pipeline execution, the blis library—a dependency for NumPy and SciPy—failed to compile when using Python 3.13. The compilation error was triggered by an unsupported GCC command-line flag (-mavx512pf), and no pre-built wheels were available for Python 3.13, forcing a fallback to source compilation.
Culprit
The issue arose due to:
- Compiler incompatibility: Python 3.13 introduced changes that caused the build system to use AVX-512 processor flags not supported by the CI environment’s GCC version.
- Missing pre-built wheels: The
blispackage lacked pre-compiled wheels for Python 3.13 at the time of deployment. - Dependency chain: The Kokoro pipeline relied on
blisfor optimized linear algebra operations, which are critical for numerical computing in NumPy/SciPy.
Solution
To resolve the issue, the pipeline was downgraded to Python 3.12, which ensured compatibility with existing pre-built wheels and system dependencies. Additional steps included:
- Creating a new virtual environment with Python 3.12.
- Installing system-level dependencies required for text-to-speech processing (
espeak-ng) and LaTeX-based math rendering (texlive-core,texlive-bin). - Verifying successful installation of all dependencies, including
blisvia NumPy/SciPy’s transitive dependencies.
This adjustment restored full functionality in the CI pipeline while awaiting official support for Python 3.13 in the blis ecosystem.