This post is about dbus daemon fails with undefined symbol and fix it.
To be honest, i was busy with this issue for 2 days. I have googled everywhere and tried all the suggested solutions, but nothing works. While the system boots, it still hanging with start D-bus messages. It takes too long to reach the console, but even with that, you will not be able to log in with LDAP or ssh Clients. All services using the Dbus are down.
The Only Way is to use Rescue mode to handle this issue quickly.
The issue is due to dbus
linking against an incompatible library named libexpat.so.1
and taking precedence over the library shipped by Red Hat in /usr/lib64
.
Step 1 : Investigation
Please login as root and use journalctl commands to see the Errors
journalctl --since "2 days ago" | grep -i error
journalctl --since "2 days ago" | grep -i Failed
Step 2 : Analyse
Now we know something wrong with /sur/bin/dbus-doemon
#ldd /usr/bin/dbus-daemon | grep libexpat
libexpat.so.1 => /app/Oracle/product/12.2.0/client_1/lib/libexpat.so.1 (0x00007f6d65a89000)
Step 3 : dbus daemon fails with undefined symbol – Solution
Check and Remove the paths to 3rd party libraries from /etc/ld.so.conf.d
#cat /etc/ld.so.conf.d/temp.conf
/app/Oracle/product/12.2.0/client_1/lib/
Remove or move to other Directory
mv /etc/ld.so.conf.d/temp.conf /root
Rebuild the ld cache
#ldconfig
Verify that dbus
now links against the expected library in /usr/lib64
# ldd /usr/bin/dbus-daemon | grep libexpat
libexpat.so.1 => /lib64/libexpat.so.1 (0x00007f43abb55000)
as you see the system is back to normal
Step 4 : Reboot the server
All services should be now running and OK including the Dbus and Polikit
systemctl status polkit and Dbus
# systemctl status polkit
● polkit.service - Authorization Manager
Loaded: loaded (/usr/lib/systemd/system/polkit.service; static; vendor preset: disabled)
Active: active (running) since Fri 2022-02-18 09:31:01 CET; 4h 17min ago
Docs: man:polkit(8)
Main PID: 901 (polkitd)
CGroup: /system.slice/polkit.service
└─901 /usr/lib/polkit-1/polkitd --no-debug
systemctl status dbus
● dbus.service - D-Bus System Message Bus
Loaded: loaded (/usr/lib/systemd/system/dbus.service; static; vendor preset: disabled)
Active: active (running) since Fri 2022-02-18 09:31:01 CET; 4h 17min ago
Docs: man:dbus-daemon(1)
Main PID: 881 (dbus-daemon)
CGroup: /system.slice/dbus.service
└─881 /usr/bin/dbus-daemon --system --address=systemd: --nofork --nopidfile --systemd-activation
Please see also our article related to Polkit and Dus with this Error message
“Authorization not available”. Check if polkit service is running”