the new stable release 2.4.0p22 of Checkmk is ready for download.
This stable release ships with 36 changes affecting all editions of Checkmk,
4 changes for the Enterprise editions, 0 Cloud Edition specific and
1 Managed Services Edition specific changes.
Changes in all Checkmk Editions:
Checks & agents
19303 checkmk_agent check: Allow customizing the maximum time allowed since last update check… NOTE: Please refer to the migration notes!
omd
Traceback (most recent call last):
File “/bin/omd”, line 51, in
import omdlib.main # noqa: E402
^^^^^^^^^^^^^^^^^^
File “/omd/versions/2.4.0p22.cce/lib/python3/omdlib/main.py”, line 37, in
import omdlib.backup
File “/omd/versions/2.4.0p22.cce/lib/python3/omdlib/backup.py”, line 22, in
from omdlib.contexts import SiteContext
File “/omd/versions/2.4.0p22.cce/lib/python3/omdlib/contexts.py”, line 21, in
from cmk.ccc.version import Edition
File “/omd/versions/2.4.0p22.cce/lib/python3.12/site-packages/cmk/ccc/version.py”, line 27, in
from cmk.ccc.site import get_omd_config
File “/omd/versions/2.4.0p22.cce/lib/python3.12/site-packages/cmk/ccc/site.py”, line 11, in
from livestatus import SiteId
File “/omd/versions/2.4.0p22.cce/lib/python3.12/site-packages/livestatus/init.py”, line 8, in
from cmk.livestatus_client import * # noqa: F403,RUF100
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File “/omd/versions/2.4.0p22.cce/lib/python3.12/site-packages/cmk/livestatus_client/init.py”, line 16, in
import ssl
File “/omd/versions/2.4.0p22.cce/lib/python3.12/ssl.py”, line 100, in
import _ssl # if we can’t import it, let the error propagate
^^^^^^^^^^^
ImportError: /lib64/libc.so.6: version `GLIBC_2.35’ not found (required by /omd/versions/2.4.0p22.cce/lib/python3.12/lib-dynload/../../../lib/libgcc_s.so.1)
Checkmk 2.4.0p22 is built against glibc 2.35. RHEL 9 ships with glibc 2.34, but Red Hat backported the GLIBC_2.35 symbols into their patched glibc packages for all RHEL 9 minor versions — starting with a package released alongside RHEL 9.7 (November 2025). If your system’s glibc predates that backport, the required symbols are missing and omd fails to start.
If you run the following to update glibc to the patched version that includes the backported symbols:
sudo yum update glibc
After that, omd should work normally. You do not need to upgrade to RHEL 9.7.
We’ll update the RPM spec file to declare an explicit capability dependency so that package managers catch this mismatch at install time rather than at runtime:
This will give users a clear error during installation if their glibc is too old, instead of a confusing Python traceback after the fact.
Thanks for bringing this issue to our attention!
Nigel
If you run the following to update glibc to the patched version that includes the backported symbols:
sudo yum update glibc
After that, omd should work normally. You do not need to upgrade to RHEL 9.7.
We’ll update the RPM spec file to declare an explicit capability dependency so that package managers catch this mismatch at install time rather than at runtime:
Hi @martin.hirschvogel ,
today we are running into the same error. Is there already a solution available?
As far as I understood, rhel9 will never get glibc_2.35. Why didn’t this problem come to light during your internal tests?
regards, Christian
# omd versions
Traceback (most recent call last):
File "/usr/bin/omd", line 51, in <module>
import omdlib.main # noqa: E402
^^^^^^^^^^^^^^^^^^
File "/omd/versions/2.4.0p24.cee/lib/python3/omdlib/main.py", line 37, in <module>
import omdlib.backup
File "/omd/versions/2.4.0p24.cee/lib/python3/omdlib/backup.py", line 22, in <module>
from omdlib.contexts import SiteContext
File "/omd/versions/2.4.0p24.cee/lib/python3/omdlib/contexts.py", line 21, in <module>
from cmk.ccc.version import Edition
File "/omd/versions/2.4.0p24.cee/lib/python3.12/site-packages/cmk/ccc/version.py", line 26, in <module>
from cmk.ccc.site import get_omd_config
File "/omd/versions/2.4.0p24.cee/lib/python3.12/site-packages/cmk/ccc/site.py", line 11, in <module>
from livestatus import SiteId
File "/omd/versions/2.4.0p24.cee/lib/python3.12/site-packages/livestatus/__init__.py", line 8, in <module>
from cmk.livestatus_client import * # noqa: F403,RUF100
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/omd/versions/2.4.0p24.cee/lib/python3.12/site-packages/cmk/livestatus_client/__init__.py", line 16, in <module>
import ssl
File "/omd/versions/2.4.0p24.cee/lib/python3.12/ssl.py", line 100, in <module>
import _ssl # if we can't import it, let the error propagate
^^^^^^^^^^^
ImportError: /lib64/libc.so.6: version `GLIBC_2.35' not found (required by /omd/versions/2.4.0p24.cee/lib/python3.12/lib-dynload/../../../lib/libgcc_s.so.1)
RHEL has a policy of not changing it’s glibc version for any minor release. Though they did include symbols from glibc_2.35 in their release of glibc_2.34. Which is where this problem originates from.
From their release notes:
With this update, the exception handling algorithm in glibc has been improved to enhance exception processing speed. The update introduces new symbols to the ABI as part of GLIBC_2.35, including __epoll_pwait2_time64, __memcmpeq, _dl_find_object, epoll_pwait2, posix_spawn_file_actions_addtcsetpgrp_np, posix_spawnattr_tcgetpgrp_np, and posix_spawnattr_tcsetpgrp_np.
Although we were building and testing against RHEL 9.2 we would get packages from later minor releases, as that is the default behavior for the BaseOS repository. So our build became dependent on these glibc_2.35 symbols.
Our fix is to pin our BaseOS repository to the RHEL 9.2 release, so that we do not get this patched version of glibc.
I hope that clears up the origin of the issue, and if you have any more questions or comments don’t hesitate.
Hi Nigel,
thank you for this detailed information. As mentioned by another Forums-Member before, we also use only long-term supported RHEL Versions. 9.2, 9.4, 9.6. We have no option to update to an in-between release like 9.7. We also cannot install individual packets from newer releases. I also opened a support ticket via my checkmk partner, to better address this issue. I’ll be waiting until the new security release will be available and try to update our site again.