November 1, 2020

Oracle | systemd, dbus, $ORACLE_HOME/lib and undefined symbol: XML_SetHashSalt

If you have a CentOS or Fedora system with Oracle installed, and the system doesn't come up after a reboot (in my case it just hung with nothing obvious happening), it's highly likely you've added $ORACLE_HOME/lib to /etc/ld.so.conf (or preferably as a separate file under /etc/ld.so.conf.d/), which means Oracle's version of the libexpat library is prioritized, but this is lacking the XML_SetHashSalt symbol required by dbus, meaning the whole systemd caboodle just falls over and dies.

The precise error (from /var/log/messages) was:

dbus-daemon: /usr/bin/dbus-daemon: symbol lookup error: /usr/bin/dbus-daemon: undefined symbol: XML_SetHashSalt

The solution is simply to remove the entry from /etc/ld.so.conf or wherever and run ldconfig before rebooting the system.

Provision of the Oracle library path will then have be done at individual user level with e.g.


(yes, we know it's considered harmful).

Hat-tip to Laurenz Albe (of oracle_fdw fame) in this Stackoverflow question: Fedora Linux cannot boot after installing Oracle XE 18.4

Posted at 7:58 PM

Post a comment
address will not be displayed