./build php n error voor php8

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Daniel van Seggelen

Daniel van Seggelen

10/09/2022 07:41:06
Quote Anchor link
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

Quote:
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
Gewijzigd op 10/09/2022 08:37:50 door Daniel van Seggelen
 
PHP hulp

PHP hulp

03/02/2023 20:21:31
 
- Ariën  -
Beheerder

- Ariën -

10/09/2022 08:41:09
Quote Anchor link
Probeer dit eens?
cd /usr/local/directadmin/custombuild
./build update
./build icu
Gewijzigd op 10/09/2022 08:45:00 door - Ariën -
 
Ad Fundum

Ad Fundum

10/09/2022 09:50:29
Quote Anchor link
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.
Gewijzigd op 10/09/2022 09:50:50 door Ad Fundum
 
- Ariën  -
Beheerder

- Ariën -

10/09/2022 10:05:21
Quote Anchor link
Dat downloaden via de site hoeft niet eens. Dat doet DA zelf al bij het ./build commando.
Gewijzigd op 10/09/2022 10:05:35 door - Ariën -
 
Daniel van Seggelen

Daniel van Seggelen

10/09/2022 10:31:30
Quote Anchor link
Quote:
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'

Toevoeging op 10/09/2022 10:42:28:

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

Toevoeging op 10/09/2022 11:12:04:

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

Toevoeging op 10/09/2022 11:20:08:

- 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.

Toevoeging op 10/09/2022 11:31:15:

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
 
- Ariën  -
Beheerder

- Ariën -

10/09/2022 11:32:18
Quote Anchor link
PHP al gebuild?
 
Daniel van Seggelen

Daniel van Seggelen

10/09/2022 11:58:44
Quote Anchor link
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:

Quote:
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
Quote:
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
 
- Ariën  -
Beheerder

- Ariën -

10/09/2022 12:06:15
Quote Anchor link
cd /usr/local/directadmin/custombuild
./build update
./build set imagick yes
./build imagick
 
Daniel van Seggelen

Daniel van Seggelen

10/09/2022 12:32:37
Quote Anchor link
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
 
Ad Fundum

Ad Fundum

10/09/2022 12:32:44
Quote Anchor link
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).
Gewijzigd op 10/09/2022 12:37:03 door Ad Fundum
 
Daniel van Seggelen

Daniel van Seggelen

10/09/2022 13:36:48
Quote Anchor link
Bedankt voor het antwoord.

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

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


Het bestand is er gewoon.,
 
- Ariën  -
Beheerder

- Ariën -

11/09/2022 00:17:49
Quote Anchor link
Misschien even PHP opnieuw builden na imagick?

En phpmyadmin is een kwestie van

./build phpmyadmin
 
Daniel van Seggelen

Daniel van Seggelen

12/09/2022 06:25:14
Quote Anchor link
- Ariën - op 11/09/2022 00:17:49:
Misschien even PHP opnieuw builden na imagick?

En phpmyadmin is een kwestie van

./build phpmyadmin


Ik heb een neiuwe build gedaan geen oplossing.
Het vreemde is in phpinfo() is hij perfect geladen. Convert in de cli werkt ook prima.

Ik heb de extensie met imagick.so in de php.ini verwijderd.
Nu zie ik die melding niet meer. Vraag me af waar hij hem dan vandaan laad.
 
Ad Fundum

Ad Fundum

12/09/2022 09:44:08
Quote Anchor link
Wel vreemd dat pad '/usr/local/lib/php/extensions/no-debug-non-zts-20160303/imagick.so'. In 2016 bestond PHP 8 nog helemaal niet. Mijn eerste vermoeden (ik heb het niet uitgezocht) is dat je meerdere versies van PHP op je systeem hebt en dat het build-proces de verkeerde imagick heeft gebruikt om te linken. Dat zou de melding kunnen verklaren.
Gokje: bij het weghalen van de imagick extentie zal PHP 8.1 niet eens een poging doen om het te laden, en verdwijnt de melding. phpinfo() stelt geen hoge eisen, geeft aan dat PHP 8.1 is gecompileerd met imagick, en bij gebruik van imagick heb je een oudere versie van een oudere PHP versie?
Gewijzigd op 12/09/2022 09:44:55 door Ad Fundum
 
- Ariën  -
Beheerder

- Ariën -

12/09/2022 09:59:35
Quote Anchor link
Als je merkt dat je vreemde problemen hebt met je packagebeheer in de Custombuild in DirectAdmin. Dan kan je alles opnieuw downloaden en compileren:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
cd /usr/local/directadmin/custombuild
./build update
./build all


Dit kan een poosje duren, maar het fixt vaak de meeste 'bugs'.
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.