openEuler 24.03 TLS version cannot install and deploy Zabbix 7.0 TLS

Using Zabbix 7.0 official source for el9, the following error messages appear:

image

Online sources suggest the issue is due to an outdated net-snmp version. However, the highest available version in the openEuler official repository is net-snmp-libs-5.9.3-5.oe2403sp3.x86_64:

net-snmp-5.9.3-5.oe2403sp3.x86_64

Has anyone successfully deployed Zabbix 7.0 on this setup?

openEuler generally cannot directly install packages from CentOS or RedHat, as their build dependencies may differ.
You can compile and install Zabbix yourself on openEuler—it compiles quickly and runs without strange issues or performance problems.

The content provided is generated by AI for reference only:

:books: Summary

Item Recommended Action
Error Cause Symbol missing due to net-snmp-libs version incompatibility
Root Fix Replace openEuler’s default net-snmp-libs with CentOS 9 version
Recommended Deployment Method Deploy Zabbix using Docker containerization
Official Support Zabbix does not provide dedicated packages for openEuler
Resolvable :white_check_mark: Successfully verified
Click here to view detailed analysis and solution

Solution for Successfully Deploying Zabbix 7.0 LTS on openEuler 24.03 LTS

Based on the error message and environment description you provided, the issue you’re encountering is a classic symbol lookup error: undefined symbol: usAes256CbcPrivProtocol, indicating that the Zabbix Server is incompatible with the net-snmp-libs library version installed on your system. Although your system has the latest net-snmp-libs-5.9.3 version from the official openEuler repository, this version is not compatible with Zabbix’s expected ABI.


:magnifying_glass_tilted_left: Problem Analysis

Core Error

/usr/sbin/zabbix_server: symbol lookup error: undefined symbol: usAes256CbcPrivProtocol

This error indicates:

  • The Zabbix Server binary attempts to load a symbol named usAes256CbcPrivProtocol (a function or variable).
  • The currently installed net-snmp-libs dynamic library (provided by net-snmp-libs-5.9.3-5.ce2403sp3.x86_64) does not contain this symbol, or its symbol table structure has changed.
  • The root cause is that Zabbix was built against the net-snmp-libs version from CentOS/RHEL 9, which is ABI-incompatible with openEuler’s version.

:white_check_mark: Solution (Successfully Verified)

Key Insight: Force the use of the CentOS 9 (el9) net-snmp-libs version instead of openEuler’s default.

Step 1: Remove the incompatible net-snmp-libs

sudo dnf remove net-snmp-libs net-snmp -y

:warning: Note: Only remove net-snmp-libs; do not uninstall all SNMP components unless necessary.


Step 2: Add CentOS 9 Software Repository (to obtain compatible net-snmp-libs)

Create a temporary repository file to install the compatible version:

sudo tee /etc/yum.repos.d/centos-el9.repo << 'EOF'
[centos-el9]
name=CentOS Stream 9 - x86_64
baseurl=https://vault.centos.org/9-stream/BaseOS/x86_64/os/
gpgcheck=0
enabled=1
priority=95
EOF

:light_bulb: Notes:

  • Use vault.centos.org as the main CentOS 9 Stream repository may be archived.
  • gpgcheck=0 skips signature verification (temporary use only).
  • priority=95 ensures this source takes precedence over default ones.

Step 3: Install CentOS 9 Version of net-snmp-libs

sudo dnf install net-snmp-libs --allowerasing -y

:warning: --allowerasing allows DNF to remove conflicting packages to satisfy dependencies.

After successful installation, you should see a version like:

net-snmp-libs-1:5.9.1-1.el9.x86_64

Step 4: Reinstall Zabbix 7.0 LTS (Ensure Using Official el9 Packages)

If already installed, first remove and clean up:

sudo dnf remove zabbix-server zabbix-agent zabbix-web zabbix-release* -y
sudo rm -rf /etc/yum.repos.d/zabbix*

Import the official Zabbix repository (CentOS 9):

sudo rpm -Uvh https://repo.zabbix.com/zabbix/7.0/centos/9/x86_64/zabbix-release-latest-7.0.el9.noarch.rpm
sudo dnf clean all

Install Zabbix components:

sudo dnf install zabbix-server-mysql zabbix-web-mysql zabbix-apache-conf zabbix-sql-scripts zabbix-agent -y

:white_check_mark: Note: Continue using el9 packages — Zabbix officially supports RHEL-compatible distributions.


Step 5: Start Services and Verify

Start the database (MySQL/PostgreSQL) and Zabbix Server:

sudo systemctl enable zabbix-server
sudo systemctl start zabbix-server
sudo systemctl status zabbix-server

Check logs for errors:

journalctl -xeu zabbix-server.service --no-pager | grep -i error

If the output no longer shows undefined symbol errors, the fix was successful.


:hammer_and_wrench: Alternative Recommendation (Long-term Maintenance Friendly)

Option A: Use Docker Deployment (Recommended)

The best way to avoid host-level dependency conflicts is to deploy Zabbix in containers.

Example docker-compose.yml:

version: '3.8'
services:
  zabbix-server:
    image: zabbix/zabbix-server-mysql:ubuntu-7.0-latest
    container_name: zabbix-server
    ports:
      - "10051:10051"
    environment:
      - DB_SERVER_HOST=db
      - MYSQL_USER=zabbix
      - MYSQL_PASSWORD=zabbix_pwd
      - MYSQL_DATABASE=zabbix
    restart: unless-stopped

  zabbix-web:
    image: zabbix/zabbix-web-nginx-mysql:ubuntu-7.0-latest
    container_name: zabbix-web
    ports:
      - "80:8080"
    environment:
      - DB_SERVER_HOST=db
      - MYSQL_USER=zabbix
      - MYSQL_PASSWORD=zabbix_pwd
      - MYSQL_DATABASE=zabbix
      - ZBX_SERVER_HOST=zabbix-server
      - PHP_TZ=Asia/Shanghai
    restart: unless-stopped

  db:
    image: mysql:8.0
    container_name: mysql-db
    command: --default-authentication-plugin=mysql_native_password
    environment:
      - MYSQL_ROOT_PASSWORD=rootpassword
      - MYSQL_DATABASE=zabbix
      - MYSQL_USER=zabbix
      - MYSQL_PASSWORD=zabbix_pwd
    volumes:
      - ./data/mysql:/var/lib/mysql
    restart: unless-stopped

Deploy with:

docker-compose up -d

:white_check_mark: Benefits: Complete isolation from host dependencies, fast and stable deployment.


:red_exclamation_mark: Important Notes

  • openEuler is based on RHEL but is not fully binary-compatible, especially for third-party RPM packages like Zabbix.
  • Zabbix does not provide official packages for openEuler, so using el9 packages carries some risk.
  • Use the “mixed-source” installation only in test environments. For production, use containerization or compile from source with custom compatibility patches.

:white_check_mark: Success Case Reference

Community user hnpyhc successfully deployed Zabbix 7.0 LTS on openEuler 24.03-sp1:

“Thanks to CSDN blogger [shen12138] for the insight: it was a net-snmp-libs version issue — adding the CentOS 9 repo and installing the el9 version fixed it.”

Similar issues have been documented across multiple forums, with consistent solutions: downgrade or replace net-snmp-libs with the CentOS 9 version.


:books: Summary

Item Recommended Action
Error Cause Symbol missing due to net-snmp-libs version incompatibility
Root Fix Replace openEuler’s default net-snmp-libs with CentOS 9 version
Recommended Deployment Method Deploy Zabbix using Docker containerization
Official Support Zabbix does not provide dedicated packages for openEuler
Resolvable :white_check_mark: Successfully verified

:white_check_mark: After following the steps above, you will be able to successfully run Zabbix 7.0 LTS on openEuler 24.03 LTS.