libexpat.so.0: cannot open shared object file: No such file or directory

Wenn der Apache-Webserver unter Gentoo eine Fehlermeldung bezüglich "libexpat.so.0: cannot open shared object file: No such file or directory" anzeigt, so fehlt dem Apache eine wichtige Abhängigkeit. Dieses ist komischerweise die Regel, wenn man das Gentoo-System updatet. Folgende Fehlermeldung ist dann zu sehen:

# apache2 -v
apache2: error while loading shared libraries: libexpat.so.0:
cannot open shared object file: No such file or directory

Apache lässt sich auch nicht neustarten:

# /etc/init.d/apache2 restart
* Stopping apache2 ...
/usr/sbin/apache2: error while loading shared libraries:
libexpat.so.0: cannot open shared object file:
No such file or directory      [ ok ]
* Apache2 has detected a syntax error in your configuration files:
/usr/sbin/apache2: error while loading shared libraries:
libexpat.so.0: cannot open shared object file:
No such file or directory

Lösung

In der Regel reicht es aus, Apache mit seinen Abhängigkeiten neu zu kompilieren. Folgender einfacher Befehl sollte den Apache wieder zum Funktionieren bringen:

# emerge -avD apache

Sicherhaltshalber sollte man auch die Abhängigkeit des gesamten Systems überprüfen:

# revdep-rebuild -X --library libexpat.so.0
// oder
# revdep-rebuild