Bug 1381199

Summary: 64bit ns-slapd is looking for 32bit shared libraries!
Product: Red Hat Directory Server Reporter: Ming Davies <minyu>
Component: UnknownAssignee: Noriko Hosoi <nhosoi>
Status: CLOSED EOL QA Contact: Viktor Ashirov <vashirov>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 8.0CC: mreynolds, msauton, nkinder
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2016-10-13 00:35:06 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:

Description Ming Davies 2016-10-03 11:52:33 UTC
Description of problem:
Customer is running RHDS8.0 on RHEL5.3. Their /var/adm/messages is full of the following messages:

Sep 25 05:00:19 opildp01 ns-slapd: unable to dlopen /usr/lib/sasl2/libgssapiv2.so.2: /usr/lib/sasl2/libgssapiv2.so.2: wrong ELF class: ELFCLASS32
Sep 25 05:00:19 opildp01 ns-slapd: unable to dlopen /usr/lib/sasl2/libdigestmd5.so.2: /usr/lib/sasl2/libdigestmd5.so.2: wrong ELF class: ELFCLASS32
Sep 25 05:00:19 opildp01 ns-slapd: unable to dlopen /usr/lib/sasl2/liblogin.so.2: /usr/lib/sasl2/liblogin.so.2: wrong ELF class: ELFCLA SS32
Sep 25 05:00:19 opildp01 ns-slapd: unable to dlopen /usr/lib/sasl2/libplain.so.2: /usr/lib/sasl2/libplain.so.2: wrong ELF class: ELFCLA SS32
Sep 25 05:00:19 opildp01 ns-slapd: unable to dlopen /usr/lib/sasl2/libanonymous.so.2: /usr/lib/sasl2/libanonymous.so.2: wrong ELF class: ELFCLASS32
Sep 25 05:00:19 opildp01 ns-slapd: unable to dlopen /usr/lib/sasl2/libcrammd5.so.2: /usr/lib/sasl2/libcrammd5.so.2: wrong ELF class: ELFCLASS32


[root@opildp01 ~]# file /usr/sbin/ns-slapd
/usr/sbin/ns-slapd: ELF 64-bit LSB executable, AMD x86-64, version 1 (SYSV), for GNU/Linux 2.6.9, dynamically linked (uses shared libs), for GNU/Linux 2.6.9, stripped


[root@opildp01 ~]# ldd /usr/sbin/ns-slapd
        libslapd.so.0 => /usr/lib64/dirsrv/libslapd.so.0 (0x00002ae04d0ad000)
        libssldap60.so => /usr/lib64/libssldap60.so (0x00002ae04d390000)
        libprldap60.so => /usr/lib64/libprldap60.so (0x0000003885e00000)
        libldap60.so => /usr/lib64/libldap60.so (0x0000003ee5c00000)
        libldif60.so => /usr/lib64/libldif60.so (0x0000003ee5000000)
        libssl3.so => /usr/lib64/libssl3.so (0x0000003884e00000)
        libnss3.so => /usr/lib64/libnss3.so (0x0000003884a00000)
        libsoftokn3.so => /usr/lib64/libsoftokn3.so (0x00002ae04d59e000)
        libplc4.so => /usr/lib64/libplc4.so (0x0000003885600000)
        libplds4.so => /usr/lib64/libplds4.so (0x0000003885a00000)
        libnspr4.so => /usr/lib64/libnspr4.so (0x0000003884200000)
        libsasl2.so.2 => /usr/lib64/libsasl2.so.2 (0x0000003ee5800000)
        libsvrcore.so.0 => /usr/lib64/libsvrcore.so.0 (0x0000003886e00000)
        libc.so.6 => /lib64/libc.so.6 (0x0000003ee1000000)
        libpthread.so.0 => /lib64/libpthread.so.0 (0x0000003ee1800000)
        libsmime3.so => /usr/lib64/libsmime3.so (0x0000003884600000)
        libdl.so.2 => /lib64/libdl.so.2 (0x0000003ee1400000)
        libnssutil3.so => /usr/lib64/libnssutil3.so (0x0000003886200000)
        libresolv.so.2 => /lib64/libresolv.so.2 (0x0000003ee4800000)
        libcrypt.so.1 => /lib64/libcrypt.so.1 (0x0000003ee3400000)
        /lib64/ld-linux-x86-64.so.2 (0x0000003ee0000000)


They have two DS instances running on the same system, both are showing the correct LD_LIBRARY_PATH:
[root@opildp01 ~]# ps -ef |grep ns-slapd
nobody    6950     1  0 05:00 ?        00:00:00 /usr/sbin/ns-slapd -D /etc/dirsrv/slapd-opildp01-t2 -i /var/run/dirsrv/slapd-opildp01-t2.pid -w /var/run/dirsrv/slapd-opildp01-t2.startpid
nobody    9883     1  0 08:11 ?        00:00:00 /usr/sbin/ns-slapd -D /etc/dirsrv/slapd-opildp01-dsl -i /var/run/dirsrv/slapd-opildp01-dsl.pid -w /var/run/dirsrv/slapd-opildp01-dsl.startpid
root     12943 12674  0 11:50 pts/2    00:00:00 grep ns-slapd

[root@opildp01 ~]# ps ewwww 6950
  PID TTY      STAT   TIME COMMAND
6950 ?        Sl     0:00 /usr/sbin/ns-slapd -D /etc/dirsrv/slapd-opildp01-t2 -i /var/run/dirsrv/slapd-opildp01-t2.pid -w /var/run/dirsrv/slapd-opildp01-t2.startpid SHELL=/bin/sh USER=hlrbu LD_LIBRARY_PATH=/usr/lib64/dirsrv::/usr/lib64: PATH=/usr/bin:/bin PWD=/usr/sbin DS_CONFIG_DIR=/etc/dirsrv/slapd-opildp01-t2 SHLVL=3 HOME=/root LOGNAME=root SHLIB_PATH=/usr/lib64/dirsrv::/usr/lib64: _=/usr/sbin/ns-slapd OLDPWD=/root

[root@opildp01 ~]# ps ewwww 9883
  PID TTY      STAT   TIME COMMAND
9883 ?        Sl     0:00 /usr/sbin/ns-slapd -D /etc/dirsrv/slapd-opildp01-dsl -i /var/run/dirsrv/slapd-opildp01-dsl.pid -w /var/run/dirsrv/slapd-opildp01-dsl.startpid TERM=dumb LD_LIBRARY_PATH=/usr/lib64/dirsrv: PATH=/sbin:/usr/sbin:/bin:/usr/bin PWD=/ LANG=en_US.UTF-8 SHLVL=1 _=/usr/sbin/ns-slapd



Version-Release number of selected component (if applicable):
The customer is running the following version of related packages:
redhat-ds-base-8.0.0-12.el5dsrv-x86_64                      Wed 21 Mar 2012 02:20:11 PM CET
redhat-ds-admin-8.0.0-4.el5dsrv-x86_64                      Wed 21 Mar 2012 02:20:12 PM CET
redhat-admin-console-8.0.0-11.el5dsrv-noarch                Wed 21 Mar 2012 02:20:13 PM CET
redhat-ds-base-devel-8.0.0-12.el5dsrv-x86_64                Wed 21 Mar 2012 02:20:13 PM CET
redhat-idm-console-1.0.0-16.el5idm-x86_64                   Wed 21 Mar 2012 02:20:13 PM CET
redhat-ds-8.0.0-1.4.el5dsrv-x86_64                          Wed 21 Mar 2012 02:20:13 PM CET
redhat-ds-console-8.0.0-11.el5dsrv-noarch                   Wed 21 Mar 2012 02:20:13 PM CET


cyrus-sasl-lib-2.1.22-4-i386                                Tue 07 Apr 2009 05:44:05 PM CEST
cyrus-sasl-gssapi-2.1.22-4-x86_64                           Tue 07 Apr 2009 05:45:27 PM CEST
cyrus-sasl-gssapi-2.1.22-4-i386                             Tue 07 Apr 2009 05:45:40 PM CEST
cyrus-sasl-lib-2.1.22-4-x86_64                              Tue 07 Apr 2009 05:43:58 PM CEST
cyrus-sasl-plain-2.1.22-4-i386                              Tue 07 Apr 2009 05:44:11 PM CEST
cyrus-sasl-2.1.22-4-x86_64                                  Tue 07 Apr 2009 05:44:42 PM CEST
cyrus-sasl-md5-2.1.22-4-x86_64                              Tue 07 Apr 2009 05:45:27 PM CEST
cyrus-sasl-md5-2.1.22-4-i386                                Tue 07 Apr 2009 05:45:40 PM CEST
cyrus-sasl-plain-2.1.22-4-x86_64                            Tue 07 Apr 2009 05:44:09 PM CEST


How reproducible:


Steps to Reproduce:
1. Install a RHEL5.3 system
2. Install RHDS8.0 related packages.
3. Setup a DS instance
4. Confirm that the similar messages can be seen in the /var/log/messages

Actual results:


Expected results:


Additional info:
In my lab environment, this is what I have:

Oct  3 11:42:19 unused ns-slapd: unable to dlopen /usr/lib/sasl2/libanonymous.so.2: /usr/lib/sasl2/libanonymous.so.2: wrong ELF class: ELFCLASS32
Oct  3 11:42:19 unused ns-slapd: unable to dlopen /usr/lib/sasl2/liblogin.so.2: /usr/lib/sasl2/liblogin.so.2: wrong ELF class: ELFCLASS32
Oct  3 11:42:19 unused ns-slapd: unable to dlopen /usr/lib/sasl2/libplain.so.2: /usr/lib/sasl2/libplain.so.2: wrong ELF class: ELFCLASS32
Oct  3 12:03:08 unused ns-slapd: unable to dlopen /usr/lib/sasl2/libanonymous.so.2: /usr/lib/sasl2/libanonymous.so.2: wrong ELF class: ELFCLASS32
Oct  3 12:03:08 unused ns-slapd: unable to dlopen /usr/lib/sasl2/liblogin.so.2: /usr/lib/sasl2/liblogin.so.2: wrong ELF class: ELFCLASS32
Oct  3 12:03:08 unused ns-slapd: unable to dlopen /usr/lib/sasl2/libplain.so.2: /usr/lib/sasl2/libplain.so.2: wrong ELF class: ELFCLASS32


# ps ewwww 30140
  PID TTY      STAT   TIME COMMAND
30140 ?        Sl     0:00 /usr/sbin/ns-slapd -D /etc/dirsrv/slapd-test-inst1 -i /var/run/dirsrv/slapd-test-inst1.pid -w /var/run/dirsrv/slapd-test-inst1.startpid TERM=xterm-256color LD_LIBRARY_PATH=/usr/lib64/dirsrv: PATH=/sbin:/usr/sbin:/bin:/usr/bin PWD=/ LANG=en_US.UTF-8 SHLVL=1 _=/usr/sbin/ns-slapd


#rpm -qa |grep redhat-ds*
redhat-ds-base-8.0.0-15.el5dsrv
redhat-ds-base-devel-8.0.0-15.el5dsrv
redhat-ds-console-8.0.0-11.el5dsrv
redhat-ds-8.0.0-1.4.el5dsrv
redhat-ds-admin-8.0.0-6.el5dsrv

#rpm -qa |grep cyrus*
cyrus-sasl-plain-2.1.22-7.el5_8.1
cyrus-sasl-plain-2.1.22-7.el5_8.1
cyrus-sasl-lib-2.1.22-7.el5_8.1
cyrus-sasl-gssapi-2.1.22-7.el5_8.1
cyrus-sasl-md5-2.1.22-7.el5_8.1
cyrus-sasl-lib-2.1.22-7.el5_8.1
cyrus-sasl-2.1.22-7.el5_8.1