Haben Sie jemals versucht, Oniguruma auf einem POWER PC mit CentOS 7 zu installieren? Nun, ich tat das und es war ein Albtraum. Ich endete mit einem Fehler „Konfigurieren:Fehler:Paketanforderungen (Oniguruma) wurden nicht erfüllt. Kein Paket „Oniguruma“ gefunden “ während der Konfiguration von PHP 7.4.3. Oniguruma ist ein abhängiges Paket zum Aktivieren von mb_string
Erweiterung für PHP. Wenn Sie also mb_string
benötigen aktiviert werden, dann führt kein Weg an der Installation von Oniguruma vorbei.
Hier ist die vollständige Fehlermeldung:
configure: error: Package requirements (oniguruma) were not met: No package 'oniguruma' found Consider adjusting the PKG_CONFIG_PATH environment variable if you installed software in a non-standard prefix. Alternatively, you may set the environment variables ONIG_CFLAGS and ONIG_LIBS to avoid the need to call pkg-config. See the pkg-config man page for more details.
Ich dachte, die Installation von Oniguruma und seinem Entwicklungspaket würde das Problem lösen. Die yum install
libonig und libonig-devel und oniguruma sagten, kein Paket gefunden. Ich konnte hier einige RPMs finden, aber diese sind alle mit glibc
fehlgeschlagen Versionsabhängigkeiten wie unten gezeigt:
error: Failed dependencies: libc.so.6(GLIBC_2.2.5)(64bit) is needed by oniguruma-5.9.1-3.1.el6.x86_64 libc.so.6(GLIBC_2.3.4)(64bit) is needed by oniguruma-5.9.1-3.1.el6.x86_64 libc.so.6(GLIBC_2.4)(64bit) is needed by oniguruma-5.9.1-3.1.el6.x86_64
Nun, ich möchte mich nicht mit der GLIB-Version anlegen. Also beschloss ich, Oniguruma aus der Quelle zu kompilieren.
Ich habe die Quelle von diesem Link heruntergeladen. Ich habe die configure
generiert Skript durch Ausführen von autoconf
. Aber die Konfiguration ist mit
./configure: line 2341: syntax error near unexpected token `-Wno-portability' ./configure: line 2341: `AM_INIT_AUTOMAKE( -Wno-portability)'
Ein Benutzer in StackOverflow hatte beim Kompilieren von GLIBC einen ähnlichen Fehler, schlug aber später vor, eine andere Quelle zu verwenden. Nun, es war ein Hinweis darauf, dass das von mir heruntergeladene Paket möglicherweise ein Problem hat. Also beschloss ich, eine andere Version von Oniguruma (Version 5.9.6) von diesem Link auszuprobieren.
# ./configure --prefix=/usr/local/onig-5.9.6 --exec-prefix=/usr/local/onig-5.9.6 # make #make install
Das ist es! Ich konnte Oniguruma erfolgreich installieren. Jetzt habe ich versucht, PHP zu kompilieren, und es endete immer noch mit dem gleichen Fehler (wie oben auf dieser Seite gezeigt).
Ich verstehe, dass das Konfigurationsskript die Referenzen für Oniguruma nicht richtig finden kann. Also habe ich versucht, LD_LIBRARY_PATH
einzustellen und ONIG_LIBS
wie in der Fehlermeldung vorgeschlagen. Hoppla! das ging auch nicht. Also setzte ich PKG_CONFIG_PATH
Umgebungsvariable wie vorgeschlagen.
Consider adjusting the PKG_CONFIG_PATH environment variable if you installed software in a non-standard prefix.
# PKG_CONFIG_PATH=/usr/local/onig-5.9.6/lib/pkgconfig/
Nun, das hat funktioniert und ich konnte PHP 7.4.3 erfolgreich konfigurieren. Ich hoffe, das hilft jemandem da draußen.