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