Search code examples
oracleoracle-xe

Fedora Linux cannot boot after installing Oracle XE 18.4


I installed Oracle Express Edition 18.4 on Fedora Linux 29 using RPMs.

The installation went fairly well, except that I had to build the compat-libcap1 RPM from source, as it is not shipped with Fedora 29.

Setup using /etc/init.d/oracle-xe-18c configure went without problems, and I could start, stop and use Oracle just fine.

I added $ORACLE_HOME/lib to /etc/ld.so.conf.d/oracle-xe-x86_64.conf and ran ldconfig so that Oracle is on the library path for all executables.

But upon the next reboot, the machine didn't come up again. What could be the problem?


Solution

  • After a longer debugging session, it turned out that adding the library directory to the default library path was the problem.

    Oracle provides a shared library libexpat.so.1 that is also provided by the operating system, but is not binary compatible with it.

    Now some executables required in the boot process (notably /usr/bin/dbus-daemon) require that shared library, and they failed to start with:

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

    Once I figured that out, the solution was simple: remove $ORACLE_HOME/lib from the default shared library path (and then run ldconfig).