This is an automated email from the ASF dual-hosted git repository.
HyukjinKwon pushed a commit to branch branch-4.1
in repository https://gitbox.apache.org/repos/asf/spark.git
The following commit(s) were added to refs/heads/branch-4.1 by this push:
new 9eec77e485c7 [SPARK-57954][INFRA] Install libxslt1-dev in the PyPy
3.10 test image so lxml builds from source
9eec77e485c7 is described below
commit 9eec77e485c77801db848385d0f4e00f9e52a75d
Author: Hyukjin Kwon <[email protected]>
AuthorDate: Mon Jul 6 14:30:16 2026 +0900
[SPARK-57954][INFRA] Install libxslt1-dev in the PyPy 3.10 test image so
lxml builds from source
### What changes were proposed in this pull request?
Add `libxslt1-dev` to the apt-get packages in
`dev/spark-test-image/pypy-310/Dockerfile` and drop the `lxml==4.9.4` pin
(install plain `lxml` again, consistent with the CPython test images).
### Why are the changes needed?
PyPI does not publish a PyPy wheel for the current lxml, so `pypy3 -m pip
install ... lxml` builds lxml from the sdist. The source build needs both the
libxml2 and libxslt development headers; the image installs `libxml2-dev` but
not `libxslt1-dev`, so an unpinned build fails with `Error: Please make sure
the libxml2 and libxslt development packages are installed.` That fails the
PyPy 3.10 base image build (`build_python_pypy3.10`) and every downstream
`pyspark-*` job. Installing `lib [...]
### Does this PR introduce _any_ user-facing change?
No, test-image only.
### How was this patch tested?
CI (the PyPy 3.10 base image build).
### Was this patch authored or co-authored using generative AI tooling?
Yes.
This pull request and its description were written by Isaac.
Closes #57033 from HyukjinKwon/ci-fix/agent5-pypy-libxslt-4.1.
Authored-by: Hyukjin Kwon <[email protected]>
Signed-off-by: Hyukjin Kwon <[email protected]>
---
dev/spark-test-image/pypy-310/Dockerfile | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/dev/spark-test-image/pypy-310/Dockerfile
b/dev/spark-test-image/pypy-310/Dockerfile
index 2773fdf563e9..4e2bc5584411 100644
--- a/dev/spark-test-image/pypy-310/Dockerfile
+++ b/dev/spark-test-image/pypy-310/Dockerfile
@@ -51,6 +51,7 @@ RUN apt-get update && apt-get install -y \
libtiff5-dev \
libwebp-dev \
libxml2-dev \
+ libxslt1-dev \
openjdk-17-jdk-headless \
pkg-config \
qpdf \
@@ -70,4 +71,4 @@ RUN mkdir -p /usr/local/pypy/pypy3.10 && \
ln -sf /usr/local/pypy/pypy3.10/bin/pypy /usr/local/bin/pypy3.10 && \
ln -sf /usr/local/pypy/pypy3.10/bin/pypy /usr/local/bin/pypy3
RUN curl -sS https://bootstrap.pypa.io/get-pip.py | pypy3
-RUN pypy3 -m pip install numpy 'six==1.16.0' 'pandas==2.3.3' scipy coverage
matplotlib 'lxml==4.9.4'
+RUN pypy3 -m pip install numpy 'six==1.16.0' 'pandas==2.3.3' scipy coverage
matplotlib lxml
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]