Ik heb centos 7 en php7.3, werkt met custombuild van DA.
Als ik ./build php n wil doen dan krijg ik:

there was an error while trying to configure php. Check the configure file


checking for icu-uc >= 50.1 icu-io icu-i18n... no
configure: error: Package requirements (icu-uc >= 50.1 icu-io icu-i18n) were not met:

Requested 'icu-uc >= 50.1' but version of icu-uc is 4.8.1.1

Consider adjusting the PKG_CONFIG_PATH environment variable if you
installed software in a non-standard prefix.

Alternatively, you may set the environment variables ICU_CFLAGS
and ICU_LIBS to avoid the need to call pkg-config.
See the pkg-config man page for more details.


Ik kan php 8 maar niet werkend krijgen op mijn systeem
daarna krijg ik ook dit: configure: error: Package requirements (icu-uc) were not met


Probeer dit eens?
cd /usr/local/directadmin/custombuild
./build update
./build icu
De foutmelding zegt het. Een recentere versie van ICU is nodig voor het onderdeel pkg-config, maar die kan niet gevonden worden op je systeem.
Je moet de omgevingsvariabele PKG_CONFIG_PATH instellen als ICU op een niet standaard plek staat, of je kan ICU_FLAGS met ICU_LIBS instellen wanneer je ICU helemaal niet nodig hebt.

ICU4C is de C-library achter de Intl-extensie, de laatste versie is versie 71. En voor Intl zijn alternatieven in PHP (mb_string functies, iconv, of zelfs hele alternatieve implementaties in PHP).
Dus download en installeer het op je systeem (op een standaardlocatie is het makkelijkst) en het builden van DA en PHP 8 zal daar niet meer op hangen.
Dat downloaden via de site hoeft niet eens. Dat doet DA zelf al bij het ./build commando.
cd /usr/local/directadmin/custombuild
./build update
./build icu

Dit heb ik gedaan en ook ./buil versions, icu staat er niet eens tussen.
Maar in /usr/local/icu/bin/icu-config staat dit wel:

Version = '4.8.1.1'

[size=xsmall]Toevoeging op 10/09/2022 10:42:28:[/size]

Ad Fundum op 10/09/2022 09:50:29

De foutmelding zegt het. Een recentere versie van ICU is nodig voor het onderdeel pkg-config, maar die kan niet gevonden worden op je systeem.
Je moet de omgevingsvariabele PKG_CONFIG_PATH instellen als ICU op een niet standaard plek staat, of je kan ICU_FLAGS met ICU_LIBS instellen wanneer je ICU helemaal niet nodig hebt.

ICU4C is de C-library achter de Intl-extensie, de laatste versie is versie 71. En voor Intl zijn alternatieven in PHP (mb_string functies, iconv, of zelfs hele alternatieve implementaties in PHP).
Dus download en installeer het op je systeem (op een standaardlocatie is het makkelijkst) en het builden van DA en PHP 8 zal daar niet meer op hangen.



Ok, maar moet ik dan niet 50.1 downloaden, zodat de versies matchen?

ik zie nergens waar ik ICU_FLAGS met ICU_LIBS kan instellen in de config?
Welke RPM hier kan ik downloaden, die van fedora?
https://github.com/unicode-org/icu/releases/tag/release-71-1

[size=xsmall]Toevoeging op 10/09/2022 11:12:04:[/size]

Als ik nu yum info icu uitvoer zie ik wel dat het versie 50.02 is.
Maar waarom pakt /build php b hem dan niet

[size=xsmall]Toevoeging op 10/09/2022 11:20:08:[/size]

- Ariën - op 10/09/2022 10:05:21

Dat downloaden via de site hoeft niet eens. Dat doet DA zelf al bij het ./build commando.


om de één of andere reden, doet hij dat dus niet.

[size=xsmall]Toevoeging op 10/09/2022 11:31:15:[/size]

Als ik dit doe: "php -i | grep "ICU version"" dan zie ik nog 4.8.1.1
Maar als ik dit doe zie ik: yum info icu , dan zie ik versie 50.2

Snap er niks meer van
PHP al gebuild?
OOk heb ik deze stappen met verschillende versies geprobeerd. Pakte uit en installeerde, uiteindelijk versie 5.1 lukt, maar na de php 8.1 installatie krijg ik dit:


PHP Startup: Unable to load dynamic library '/usr/local/lib/php/extensions/no-debug-non-zts-20160303/imagick.so'


convert commando lijkt er wel te zijn

download url? http://site.icu-project.org/download/59
http://download.icu-project.org/files/icu4c/59.1/icu4c-59_1-src.tgz
tar zxf icu4c-59_1-src.tgz
cd icu/source ./configure --prefix=/usr/local/icu?make && make install

cd /usr/local/directadmin/custombuild
./build update
./build set imagick yes
./build imagick
Goed, ja imagick word getoond in phpinfo, maar nog steeds dezelfde PHP startup , terwijl imagick.so daar gewoon aanwezig is als ik bijv php -v doe.
Daarnaast moet phpmyadmin geupgrade worden
Sorry, ik las later pas dat het je al gelukt was. Toch nog even de antwoorden op je vragen:

Daniel van Seggelen op 10/09/2022 10:31:30

Ok, maar moet ik dan niet 50.1 downloaden, zodat de versies matchen?
Nee, dat is de minimale versie. Hoger mag gewoon.

Daniel van Seggelen op 10/09/2022 10:31:30

ik zie nergens waar ik ICU_FLAGS met ICU_LIBS kan instellen in de config?
Niet in de config, maar als omgevingsvariabele ('set environment variable'). Hoe je dat doet kan je hier lezen.
Ook kan je met het commando man pkg-config verder lezen over hoe je het kan instellen.

Daniel van Seggelen op 10/09/2022 10:31:30

Welke RPM hier kan ik downloaden, die van fedora?
https://github.com/unicode-org/icu/releases/tag/release-71-1
Met RPM ben ik niet zo bekend, ik gebruik APT op Debian Linux. Maar daar kom je vast uit via internet.

Daniel van Seggelen op 10/09/2022 10:31:30

Als ik nu yum info icu uitvoer zie ik wel dat het versie 50.02 is.
Maar waarom pakt /build php b hem dan niet
Als ICU 50.02 al op je systeem staat, dan staat het niet op de locatie waar het wordt verwacht bij het compileren. Stel in dat geval de afwijkende plek in met de omgevingsvariabele PKG_CONFIG_PATH, zodat de goede versie van ICU gevonden kan worden (want je kan er meerdere tegelijk op je systeem hebben, zoals met Java).
Bedankt voor het antwoord.

Alleen snap ik even niet waarom ik dit nog krijg als in in de CLI php -v uitvoer:

PHP Startup: Unable to load dynamic library '/usr/local/lib/php/extensions/no-debug-non-zts-20160303/imagick.so'


Het bestand is er gewoon.,

Reageren