From e1b397fc08ad251e5575228b474893b573ea5916 Mon Sep 17 00:00:00 2001 From: Bradley Dice Date: Thu, 12 Feb 2026 23:17:48 -0600 Subject: [PATCH 1/2] fix(docker): Fix buildx warnings breaking multi-arch manifest merge The Export digests jq filter iterated all top-level bake metadata keys, including buildx.build.warnings, creating a spurious digest file. The merge job then failed trying to create a manifest for it. Filter to only entries with image.name (real image targets) and fix the undefined LD_LIBRARY_PATH variable that triggered the warning. --- .github/workflows/docker.yml | 3 ++- scripts/docker/centos-multi.dockerfile | 4 ++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/.github/workflows/docker.yml b/.github/workflows/docker.yml index 51664b5f048..00a3da83f1f 100644 --- a/.github/workflows/docker.yml +++ b/.github/workflows/docker.yml @@ -147,7 +147,8 @@ jobs: # Add the target for any images that shouldn't be build as multi-platform # into the skip list echo "$METADATA" | jq -r 'def skip: ["ubuntu", "fedora"]; - . | to_entries[] | .key | split("-")[0] | + . | to_entries[] | select(.value | has("image.name")) | + .key | split("-")[0] | if . as $name | skip | index($name) != null then empty else . end' | \ while read -r image_name; do touch "$image_name" diff --git a/scripts/docker/centos-multi.dockerfile b/scripts/docker/centos-multi.dockerfile index 862685d7b83..50cd192009f 100644 --- a/scripts/docker/centos-multi.dockerfile +++ b/scripts/docker/centos-multi.dockerfile @@ -98,7 +98,7 @@ CMD ["/bin/bash"] ######################## FROM base-image AS pyvelox -ENV LD_LIBRARY_PATH="/usr/local/lib:/usr/local/lib64:$LD_LIBRARY_PATH" +ENV LD_LIBRARY_PATH="/usr/local/lib:/usr/local/lib64:${LD_LIBRARY_PATH:-}" ######################## # Stage: Adapters Build# @@ -164,7 +164,7 @@ ENV HADOOP_HOME=/usr/local/hadoop \ PATH=/usr/lib/jvm/java-1.8.0-openjdk/bin:${PATH} # thrift1 requires shared libraries copied from /deps to /usr/local. -ENV LD_LIBRARY_PATH="/usr/local/lib:/usr/local/lib64:$LD_LIBRARY_PATH" +ENV LD_LIBRARY_PATH="/usr/local/lib:/usr/local/lib64:${LD_LIBRARY_PATH:-}" COPY --from=adapters-build /deps /usr/local From da0b02db0f2af946f6d17697851fd16c00923340 Mon Sep 17 00:00:00 2001 From: Bradley Dice Date: Fri, 20 Feb 2026 13:04:31 -0600 Subject: [PATCH 2/2] fix(docker): Replace LD_LIBRARY_PATH with ldconfig Use /etc/ld.so.conf.d/velox_deps.conf and ldconfig instead of setting LD_LIBRARY_PATH in the pyvelox and adapters stages. This eliminates the buildx warning caused by undefined $LD_LIBRARY_PATH and follows the standard mechanism for registering shared library paths in containers. In the adapters stage, move COPY --from=adapters-build before the ldconfig RUN so the libraries are on disk when the cache is built. Closes #16386 --- scripts/docker/centos-multi.dockerfile | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/scripts/docker/centos-multi.dockerfile b/scripts/docker/centos-multi.dockerfile index 50cd192009f..59d9aaedc39 100644 --- a/scripts/docker/centos-multi.dockerfile +++ b/scripts/docker/centos-multi.dockerfile @@ -98,7 +98,9 @@ CMD ["/bin/bash"] ######################## FROM base-image AS pyvelox -ENV LD_LIBRARY_PATH="/usr/local/lib:/usr/local/lib64:${LD_LIBRARY_PATH:-}" +RUN echo "/usr/local/lib" > /etc/ld.so.conf.d/velox_deps.conf \ + && echo "/usr/local/lib64" >> /etc/ld.so.conf.d/velox_deps.conf \ + && ldconfig ######################## # Stage: Adapters Build# @@ -163,11 +165,13 @@ ENV HADOOP_HOME=/usr/local/hadoop \ JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk \ PATH=/usr/lib/jvm/java-1.8.0-openjdk/bin:${PATH} -# thrift1 requires shared libraries copied from /deps to /usr/local. -ENV LD_LIBRARY_PATH="/usr/local/lib:/usr/local/lib64:${LD_LIBRARY_PATH:-}" - COPY --from=adapters-build /deps /usr/local +# thrift1 requires shared libraries copied from /deps to /usr/local. +RUN echo "/usr/local/lib" > /etc/ld.so.conf.d/velox_deps.conf \ + && echo "/usr/local/lib64" >> /etc/ld.so.conf.d/velox_deps.conf \ + && ldconfig + COPY scripts/setup-classpath.sh / ENTRYPOINT ["/bin/bash", "-c", "source /setup-classpath.sh && source /opt/rh/gcc-toolset-12/enable && exec \"$@\"", "--"] CMD ["/bin/bash"]