diff --git a/docs/compile.md b/docs/compile.md
index 1d0782aa..f533fe1a 100644
--- a/docs/compile.md
+++ b/docs/compile.md
@@ -1,4 +1,4 @@
-# Compile and install from Source Code
+# Compile and install from source code
If you want to compile Percona XtraDB Cluster, you can find the source code on
[GitHub](https://github.com/percona/percona-xtradb-cluster).
@@ -23,11 +23,12 @@ Before you begin, make sure that the following packages are installed:
| socat| `socat` | `socat`|
| curl | `libcurl-dev` | `libcurl-devel`|
-You will likely have all or most of the packages already installed. If you are
-not sure, run one of the following commands to install any missing
+## Check packages
+
+You may have already installed most of the packages. Run one of the following commands to install any missing
dependencies:
-* For Debian or Ubuntu:
+=== "on Debian or Ubuntu"
```{.bash data-prompt="$"}
$ sudo apt install -y git scons gcc g++ openssl check cmake bison \
@@ -35,7 +36,7 @@ dependencies:
libpam-dev socat libcurl-dev
```
-* For Red Hat Enterprise Linux or CentOS:
+=== "on Red Hat Enterprise Linux"
```{.bash data-prompt="$"}
$ sudo yum install -y git scons gcc gcc-c++ openssl check cmake bison \
@@ -43,20 +44,33 @@ dependencies:
socat libcurl-devel
```
-To compile Percona XtraDB Cluster from source code:
+### glibc version
+
+The glibc (GNU C Library) version can differ across software builds due to several key factors:
+
+| Reason | Description |
+|---------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
+| Operating system variation | When you build software on different Linux distributions or versions, each may ship with a different default glibc version. For example, Red Hat Enterprise Linux or Ubuntu might have distinct system library versions that impact compilation. |
+| Backward compatibility considerations | Some applications are compiled to support multiple glibc versions.
- Developers often create builds that can run on older systems.
- This means intentionally targeting a slightly older glibc version for wider compatibility. |
+| System architecture differences | 32-bit and 64-bit systems might require different glibc implementations.
- ARM, x86, and other processor architectures can have unique library requirements. |
+| Security and patch levels | Distributions backport security patches at different rates.
- A system's glibc version reflects its current security update status.
- Critical security updates can prompt version changes. |
+| Compilation environment | The specific development environment and build tools used can directly influence which glibc version gets linked during compilation. Container environments, cross-compilation setups, and build servers might have unique library configurations. |
+
+Practical Tip: Use `ldd --version` to check your current glibc version and understand potential compatibility constraints in your software ecosystem.
+
-1. Clone the Percona XtraDB Cluster repository:
+## Compile
+
+To compile Percona XtraDB Cluster from source code:
+{.power-number}
+
+1. Clone the latest repository or update it to the latest state. The old codebase may not be compatible with the build script. Clone the Percona XtraDB Cluster repository:
```{.bash data-prompt="$"}
$ git clone https://github.com/percona/percona-xtradb-cluster.git
```
- !!! important
-
- Clone the latest repository or update it to the latest state.
- Old codebase may not be compatible with the build script.
-
2. Check out the `{{vers}}` branch and initialize submodules:
```{.bash data-prompt="$"}
@@ -65,24 +79,20 @@ To compile Percona XtraDB Cluster from source code:
$ git submodule update --init --recursive
```
-3. Download the matching Percona XtraBackup {{vers}} tarball (*.tar.gz) for your operating system from [Percona Downloads](https://www.percona.com/downloads/).
-
- The following example extract the Percona XtraBackup 8.0.32-25 tar.gz file to the target directory `./pxc-build`:
+3. Download the matching Percona XtraDB Cluster {{vers}} tarball (*.tar.gz) for your operating system from [Percona Software Downloads](https://www.percona.com/downloads/). The following example extracts the Percona XtraDB Cluster {{vers}} tar.gz file to the target directory `./pxc-build`:
```{.bash data-prompt="$"}
- $ tar -xvf percona-xtrabackup-8.0.32-25-Linux-x86_64.glibc2.17.tar.gz -C ./pxc-build
+ $ tar -xvf percona-xtrabackup-{{vers}}-Linux-x86_64.glibc2.31.tar.gz -C ./pxc-build
```
-4. Run the build script `./build-ps/build-binary.sh`.
- By default, it attempts building into the current directory. Specify
- the target output directory, such as `./pxc-build`:
+4. Run the build script `./build-ps/build-binary.sh`. By default, it attempts to build into the current directory. Specify the target output directory, such as `./pxc-build`:
```{.bash data-prompt="$"}
$ mkdir ./pxc-build
$ ./build-ps/build-binary.sh ./pxc-build
```
-When the compilation completes, `pxc-build` contains a tarball, such as `Percona-XtraDB-Cluster-8.0.x86_64.tar.gz`, that you can deploy on your system.
+When the compilation completes, `pxc-build` contains a tarball, such as `Percona-XtraDB-Cluster-{{vers}}.tar.gz`, that you can deploy on your system.
!!! note