Skip to content

Fix CentOS 7 Dockerfile build failure #1407

@slfan1989

Description

@slfan1989

Description

This Issue fixes the issue where Docker builds fail when running auron-build.sh in a CentOS 7 environment.

When executing the following command:

./auron-build.sh --docker true --clean true --skiptests true --release \
--sparkver 3.5 --scalaver 2.12 --celeborn 0.5 --uniffle 0.9 --paimon 1.2

The build process stops during the Docker stage because yum cannot access valid repository sources, causing dependency installation to fail.

The following error occurred:

[build-release 11/18] RUN yum install -y libzip unzip openssl-devel:
0.721 Loaded plugins: fastestmirror, ovl
0.779 Loading mirror speeds from cached hostfile
1.563
1.563
1.563  One of the configured repositories failed (Unknown),
1.563  and yum doesn't have enough cached data to continue. At this point the only
1.563  safe thing yum can do is fail. There are a few ways to work "fix" this:
1.563
1.563      1. Contact the upstream for the repository and get them to fix the problem.
1.563
1.563      2. Reconfigure the baseurl/etc. for the repository, to point to a working
1.563         upstream. This is most often useful if you are using a newer
1.563         distribution release than is supported by the repository (and the
1.563         packages for the previous distribution release still work).
1.563
1.563      3. Run the command with the repository temporarily disabled
1.563             yum --disablerepo=<repoid> ...
1.563
1.563      4. Disable the repository permanently, so yum won't use it by default. Yum
1.563         will then just ignore the repository until you permanently enable it
1.563         again or use --enablerepo for temporary usage:
1.563
1.563             yum-config-manager --disable <repoid>
1.563         or
1.563             subscription-manager repos --disable=<repoid>
1.563
1.563      5. Configure the failing repository to be skipped, if it is unavailable.
1.563         Note that yum will try to contact the repo. when it runs most commands,
1.563         so will have to try and fail each time (and thus. yum will be be much
1.563         slower). If it is a very temporary problem though, this is often a nice
1.563         compromise:
1.563
1.563             yum-config-manager --save --setopt=<repoid>.skip_if_unavailable=true
1.563
1.563 Cannot retrieve metalink for repository: epel/x86_64. Please verify its path and try again
------
failed to solve: process "/bin/sh -c yum install -y libzip unzip openssl-devel" did not complete successfully: exit code: 1

The root cause is that CentOS 7 reached End of Life (EOL) in June 2024, and the replacement configurations for Software Collections (CentOS-SCLo-scl, CentOS-SCLo-scl-rh) and EPEL repositories were inaccurate.
As a result, package retrieval fails during the Docker build.

This PR updates the repository configurations to use the archived repositories (Vault & Fedora Archive) to ensure stable and reproducible build environments.

Main Changes

  • updated CentOS-SCLo-scl and CentOS-SCLo-scl-rh repositories to:
https://vault.centos.org/7.9.2009/
  • Commented out invalid mirrorlist and metalink entries
  • Updated the EPEL repository to:
https://archives.fedoraproject.org/pub/archive/epel/
  • Added commands to clean and rebuild the yum cache:
yum clean all && yum makecache

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions