Ad Widget

Collapse

zabbix-agent for EL-9 dependency problem

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • solarflow99
    Junior Member
    • Oct 2015
    • 11

    #1

    zabbix-agent for EL-9 dependency problem

    I am surprised to see zabbix-agent doesn't install, seems its expecting the wrong libraries?

    Code:
    Problem: conflicting requests
    - nothing provides liblber.so.2()(64bit) needed by zabbix-agent-6.2.6-release1.el9.x86_64
    - nothing provides liblber.so.2(OPENLDAP_2.200)(64bit) needed by zabbix-agent-6.2.6-release1.el9.x86_64
    - nothing provides libldap.so.2()(64bit) needed by zabbix-agent-6.2.6-release1.el9.x86_64
    - nothing provides libldap.so.2(OPENLDAP_2.200)(64bit) needed by zabbix-agent-6.2.6-release1.el9.x86_64

    Shouldn't it be looking for libldap-2.4.so.2 instead?
    Code:
    $ find / -name libldap*.so.2
    /usr/lib64/libldap_r-2.4.so.2
    /usr/lib64/libldap-2.4.so.2​
    Code:
    $ find / -name liblber*.so.2
    /usr/lib64/liblber-2.4.so.2​
  • solarflow99
    Junior Member
    • Oct 2015
    • 11

    #2
    This was for RHEL/Centos 9. Is anyone using this yet?

    Comment


    • ArnoAnderson
      ArnoAnderson commented
      Editing a comment
      It works here, but I use the 6.0.4 version.
  • solarflow99
    Junior Member
    • Oct 2015
    • 11

    #3
    Does your system have liblber.so.2 or libldap.so.2 installed anywhere? If so, can you type: rpm -qif path-to-file

    Comment

    • tim.mooney
      Senior Member
      • Dec 2012
      • 1427

      #4
      Originally posted by solarflow99

      Code:
      Problem: conflicting requests
      - nothing provides liblber.so.2()(64bit) needed by zabbix-agent-6.2.6-release1.el9.x86_64
      - nothing provides liblber.so.2(OPENLDAP_2.200)(64bit) needed by zabbix-agent-6.2.6-release1.el9.x86_64
      - nothing provides libldap.so.2()(64bit) needed by zabbix-agent-6.2.6-release1.el9.x86_64
      - nothing provides libldap.so.2(OPENLDAP_2.200)(64bit) needed by zabbix-agent-6.2.6-release1.el9.x86_64

      Shouldn't it be looking for libldap-2.4.so.2 instead?
      Not necessarily. It's looking for the shared object name (SONAME) of a library it was linked with, though the output above is an altered version of that, generated by rpmbuild's dependency finder and encoded with some additional glop (like the '(64bit)') for RPM's dependency mechanism.

      Originally posted by solarflow99
      Code:
      $ find / -name libldap*.so.2
      /usr/lib64/libldap_r-2.4.so.2
      /usr/lib64/libldap-2.4.so.2​
      Code:
      $ find / -name liblber*.so.2
      /usr/lib64/liblber-2.4.so.2​
      The file name on disk doesn't need to match the required SONAME, as long as there's a way for the loader to find the right shared object that provides that SONAME.

      You can use "readelf -d /path/to/shared/library" and then look for the SONAME to find the actual shared object name for the library. It might be the same as the filename, but very often it's different.

      To find what package provides the RPM-encoded libraries output in the error message, you want to use something like

      Code:
      $ sudo yum whatprovides 'libldap.so.2(OPENLDAP_2.200)(64bit)'
      Updating Subscription Management repositories.
      Last metadata expiration check: 3:33:40 ago on Fri Jan 20 20:13:54 2023.
      openldap-2.6.2-1.el9_0.x86_64 : LDAP support libraries
      Repo        : rhel-9-for-x86_64-baseos-rpms
      Matched from:
      Provide    : libldap.so.2(OPENLDAP_2.200)(64bit)
      
      openldap-2.6.2-3.el9.x86_64 : LDAP support libraries
      Repo        : @System
      Matched from:
      Provide    : libldap.so.2(OPENLDAP_2.200)(64bit)
      
      openldap-2.6.2-3.el9.x86_64 : LDAP support libraries
      Repo        : rhel-9-for-x86_64-baseos-rpms
      Matched from:
      Provide    : libldap.so.2(OPENLDAP_2.200)(64bit)

      When searching for a library like that, be sure you copy the full bit from the error message and quote it so the shell doesn't eat any of the parens.

      Comment

      • solarflow99
        Junior Member
        • Oct 2015
        • 11

        #5
        I was actually aware openldap provides these libraries, it was that one file in particular I wanted to identify which package supplied it since it worked for ArnoAnderson. But I see from your output opendlap 2.6 caught my attention, that was the hint. I was on RHEL 9.0 and I needed to be on 9.1 since that uses opendlap 2.6. And it did the trick.

        HTML Code:
        $ rpm -qf /usr/lib64/libldap.so.2
        openldap-2.6.2-3.el9.x86_64​
        Thanks to all those who replied.

        Comment

        Working...