smengcl opened a new pull request, #581:
URL: https://github.com/apache/ozone-site/pull/581

   Generated-by: Claude Code (Opus 5.5)
   
   ## What changes were proposed in this pull request?
   
   The release guide only says to build the release on Linux, offers Rocky 
Linux or Ubuntu with no version pinned, and never checks that the native 
library loads. 2.2.1 shipped a `libozone_rocksdb_tools.so` built with GCC 14.2 
that needs `GLIBCXX_3.4.32`, so it cannot load on Rocky Linux 9, including the 
official `apache/ozone:2.2.1` image (HDDS-17153). Ozone silently falls back to 
a full snapshot diff, so nobody noticed.
   
   This PR:
   - Extends the Linux note: the native libraries only load on systems with the 
same or newer glibc/libstdc++, so build on Rocky Linux 9 (the base of the 
`apache/ozone` image) or in a `rockylinux:9` container. Also notes the library 
is built only for the build machine's CPU architecture.
   - Labels the Rocky tab "Rocky Linux 9", adds `unzip`, and replaces the 
Ubuntu tab with a `rockylinux:9` container tab.
   - Adds step 8 to "Check the Artifacts": `bin/ozone debug checknative` must 
report `rocks-tools: true`, and the newest `GLIBC_`/`GLIBCXX_` versions 
required by `libozone_rocksdb_tools.so` must not exceed 
`GLIBC_2.34`/`GLIBCXX_3.4.29`.
   
   If the project prefers an older baseline than Rocky Linux 9, only the 
version numbers in the note and the check change.
   
   ## What is the link to the Apache Jira?
   
   https://issues.apache.org/jira/browse/HDDS-17156
   
   ## How was this patch tested?
   
   - The `yum install` line works in a fresh `rockylinux:9` container (GCC 
11.5, glibc 2.34, `GLIBCXX_3.4.29`).
   - The version check flags the 2.2.1 library (`GLIBC_2.32`/`GLIBCXX_3.4.32`) 
and passes a library rebuilt with the HDDS-17153 fix 
(`GLIBC_2.32`/`GLIBCXX_3.4.14`). Each prefix is checked separately because a 
combined `sort -V | tail` hides the `GLIBCXX_` maximum.
   - `bin/ozone debug checknative` reports `rocks-tools: true` on Rocky Linux 9 
for a correctly built library.
   - `pnpm run lint` (ESLint, markdownlint), `.github/scripts/spelling.sh` and 
`pnpm build` pass. The rendered page shows the new note, the container tab and 
step 8.
   
   🤖 Generated with [Claude Code](https://claude.com/claude-code)
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to