Zkoušeli jste někdy nainstalovat Oniguruma na POWER PC s CentOS 7? No, udělal jsem to a byla to noční můra. Skončil jsem s chybou „configure:error:Požadavky na balíček (oniguruma) nebyly splněny. Nebyl nalezen žádný balíček ‚oniguruma‘ ” při konfiguraci PHP 7.4.3. Oniguruma je závislý balíček pro povolení mb_string
rozšíření pro PHP. Pokud tedy potřebujete mb_string
povolit, pak není úniku z instalace Oniguruma.
Zde je úplná chybová zpráva:
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.
Myslel jsem, že problém vyřeší instalace oniguruma a jeho vývojového balíčku. yum install
libonig a libonig-devel a oniguruma řekli, že nebyl nalezen žádný balíček. Našel jsem zde nějaké RPM, ale všechny selhaly s glibc
závislosti verzí, jak je uvedeno níže:
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
No, nechci si pokazit verzi GLIB. Rozhodl jsem se tedy zkompilovat Oniguruma ze zdroje.
Zdroj jsem stáhl z tohoto odkazu. Vygeneroval jsem configure
skript spuštěním autoconf
. Konfigurace se však nezdařila pomocí
./configure: line 2341: syntax error near unexpected token `-Wno-portability' ./configure: line 2341: `AM_INIT_AUTOMAKE( -Wno-portability)'
Uživatel v StackOverflow čelil podobné chybě při kompilaci GLIBC, ale později navrhl použít jiný zdroj. Byl to náznak, že balíček, který jsem si stáhl, může mít problém. Rozhodl jsem se tedy vyzkoušet jinou verzi Oniguruma (verze 5.9.6) z tohoto odkazu.
# ./configure --prefix=/usr/local/onig-5.9.6 --exec-prefix=/usr/local/onig-5.9.6 # make #make install
A je to! Podařilo se mi úspěšně nainstalovat Oniguruma. Nyní jsem se pokusil zkompilovat PHP a stále skončil se stejnou chybou (jak je uvedeno v horní části této stránky).
Chápu, že konfigurační skript není schopen správně najít odkazy na Oniguruma. Zkusil jsem tedy nastavit LD_LIBRARY_PATH
a ONIG_LIBS
jak je navrženo v chybové zprávě. Jejda! to také nefungovalo. Tak jsem pokračoval v nastavení PKG_CONFIG_PATH
proměnná prostředí, jak je navrženo.
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/
To se povedlo a podařilo se mi úspěšně nakonfigurovat PHP 7.4.3. Doufám, že to někomu pomůže.