Guida alla compilazione di icu 69-71 con php 7.4 e ubuntu server 20.04

Installazione, configurazione e uso di Ubuntu come server: web, ftp, mail, news, proxy, dns e altro.
Scrivi risposta
Hosting80
Prode Principiante
Messaggi: 84
Iscrizione: martedì 30 agosto 2016, 15:41
Sesso: Maschile

Guida alla compilazione di icu 69-71 con php 7.4 e ubuntu server 20.04

Messaggio da Hosting80 »

Ciao a tutti.
Posto questa piccola guida per chi ha la necessità come me di compilare una nuova versione del componente intl di php con icu versione 69. o anche 68 con unbuntu server 20.04-20.10 e php 7.4

Ho messo a punto tale procedura perchè, avendo diversi server da gestire con prestashop installati, gli utenti e prestashop stesso richiede aggiornamenti continui e l'icu e una di queste.

Mentre scrivo la versione attuale e la 69.1, supportata dalla versione di prestashop 1.7.0 in poi.

La procedura deve essere eseguita passo passo, e installata su 30 server quindi collaudata.

Anche se collaudata cosiglio prima di eseguire dei test con una copia della vostra configurazione in simulazione, vmware,virtualbox oppure hyper-v non importa.

NOTA: Prima di procedere non mi assunmo nessuna responsabilità in caso di errori o altri problemi, non posso sapere cosa c'e nei vostri server e mi auguro che non lo fate con gli utenti online o server in produzione!

Quindi ricapitoliamo :

Compilazione di Icu versione 69.x 0 68.x

Ubuntu server 20.04-20-10

php 7.4.x

Operazione che deve essere eseguita da terminale con utente root.

Se avete già compilato il vostro compomentie icu e bene ripulire tutto compresi i pacchetti dev e gcc, rispetto alle versioni precedenti cambiano diverse cose.

Per iniziare ci occorre una nuova versione di icu che possiamo scaricare dal suo sito ufficiale https://icu.unicode.org/download in source code

E possibile operare da qualsiasi posizione ma io ho preferito la cartella "tmp"

quindi portiamoci sulla cartella tmp ed estraiamo il contenuto di icu.

Ci servono i privilegi giusti usiamo :

Codice: Seleziona tutto

chmod -R 755 "nome cartella"
(ricordo sempre che va fatto tutto in maniera corretta e che da termnale e importante rispettare maiuscome,spazi e minuscole perchè e case-sensitive).

Portiamoci sulla cartella icu di destinazione e nella sotto cartella "source"

Prima di lanciare la configurazione ci occorrono delle librerie G++ Aggiornate, almeno la versione 9.3

Rimuoviamo le attuali e installiamo le nuove con

Codice: Seleziona tutto

apt install -y build-essential
Ora Lanciamo la configurazione con

Codice: Seleziona tutto

./configure --prefix=/usr/local
assicurandoci che alla fine otteniamo un messaggio di convalida "ok".

Procediamo con

Codice: Seleziona tutto

make CXXFLAGS="-std=c++11"
e poi con

Codice: Seleziona tutto

make install
NOTA: Non usate questa procedura

Codice: Seleziona tutto

make CXXFLAGS="-std=c++11" && make install 
va in errore 9 volte su 10 e dovrete ripulire e cominciare tutto da capo.

Ora ci occorre sapere quale versione di php 7.4.x abbiamo installata, possiamo farlo con

Codice: Seleziona tutto

php --version
.

Prendiamo nota e scarichiamo la versione corrispondente a quella installata sul vostro server da qui https://github.com/php/php-src sempre nella cartella tmp.

Estraiamo il contenuto e diamo i permessi con

Codice: Seleziona tutto

chmod -R 755 php-src-PHP-7.4.x
.

Spostiamoci ora sulla cartella intl per la compilazione con :

Codice: Seleziona tutto

cd php-src-PHP-7.4.x/ext/intl
Prima di iniziare a compilare ci occorrono le librerie dev che installiamo con :

Codice: Seleziona tutto

apt install php7.4-dev
Ad installazione terminata lanciamo il comando :

Codice: Seleziona tutto

phpize
.

Per lanciare la configurazione in ubuntu 20 ci occorren un'altra cosa, il pkg, che installiamo con :

Codice: Seleziona tutto

apt install -y pkg-config
.

Terminata l'installazione lanciamo la nostra configurazione con :

Codice: Seleziona tutto

./configure --with-php-config=/usr/bin/php-config 
.

Prima di procedere controllate che il vostro timezone locale sia sincronizzato con il vostro paese, non sto a spiegare il motivo e lungo,noioso e complicato.

Controlliamo il nostro time zone con :

Codice: Seleziona tutto

timedatectl
.

Se dovesse risultare sballato sistemiamolo con :

Codice: Seleziona tutto

timedatectl set-timezone Europe/Rome
, nel mio caso ho settato europe/rome e ricordiamoci che e case sensitive.

Ora passiamo alla complilazione del componente intl.so

digitiamo prima :

Codice: Seleziona tutto

make CFLAGS=-DU_DEFINE_FALSE_AND_TRUE=1
dove avremmo a fine procedura un messaggio di errore "make202" errorr 1, ignoratelo.

procediamo con :

Codice: Seleziona tutto

make CXXFLAGS=-DU_DEFINE_FALSE_AND_TRUE=1
dove non avrete alcun errore e poi con

Codice: Seleziona tutto

make install
.

Procediamo con :

Codice: Seleziona tutto

export LD_LIBRARY_PATH=/usr/local/lib
.

Ora prima di concludere ci occorre, se non è presente di inserire il file ini che andremo a compilare in questo modo

Nome file : intl.so

Contenuto : extension=intl.so

Salviamo e copiamo il file nel percorso "/etc/php/7.4/mods-available".

Se non ci sono stati errori, a parte quello citato, in teoria intl sarebbe installato e utilizzabile ma non da apache.

Per far si che apache lo veda e sia utilizzabile dal web ci occorre il pacchetto dev lib che installiamo con

Codice: Seleziona tutto

apt install libicu-dev
.

Per concludere creiamo i collegamenti necessari con :

Codice: Seleziona tutto

phpenmod intl
e riavviamo apache con :

Codice: Seleziona tutto

service apache2 restart


Se la procedura è stata eseguita correttamente potremmo verificare il nostro icu aggiornato con il php info dal nostro browser


Immagine

Spero di non violare nessuna regola, per chi avesse necessità di questo lavoro potete contattarmi sulla mia pagina

Codice: Seleziona tutto

https://www.facebook.com/prestashop2013 

Un saluto.
Ultima modifica di Hosting80 il giovedì 4 agosto 2022, 9:10, modificato 3 volte in totale.
Motivazione: Ripristinato messaggio cancellato
Hosting80
Prode Principiante
Messaggi: 84
Iscrizione: martedì 30 agosto 2016, 15:41
Sesso: Maschile

Re: Guida alla compilazione di icu 69-71 con php 7.4 e ubuntu server 20.04

Messaggio da Hosting80 »

NOTA: per poter installare icu aggiornato alla versione 71 la procedura e la stessa solo che nelle versioni php 7.4.3 e 7.4.9 sono presenti dei bugs che non vi permetteranno di procedere con la compilazione.

Note di altri forumo dicono che questo e dipeso dalla versione del php e molti si sentono costretti a passare a php 8.

Questo non corrisponde al vero, e sufficiente scaricare dal sito gihub la version 7.4.30 per risolvere il problema ed avere così un icu aggiornato.
Ultima modifica di Hosting80 il giovedì 4 agosto 2022, 9:11, modificato 2 volte in totale.
Motivazione: Ripristinato messaggio cancellato
Avatar utente
Alien321
Entusiasta Emergente
Entusiasta Emergente
Messaggi: 1381
Iscrizione: sabato 20 maggio 2006, 20:39
Desktop: KDE 5.16.4
Distribuzione: KDE Neon
Località: Venere

Re: Guida alla compilazione di icu 69-71 con php 7.4 e ubuntu server 20.04

Messaggio da Alien321 »

Ma non esistono già pacchetti precompilati?Compilare da sorgenti lo vedo sempre come un eccezione piuttosto che la regola, specialmente librerie
o programmi importanti come PHP.

E in ogni caso io faccio sempre l'RPM o il DEB

in caso contrario valutare docker è un obbligo
Spoiler
Mostra
Finalmente è finito carnevale, anche se vedo ancora gente in maschera
Hosting80
Prode Principiante
Messaggi: 84
Iscrizione: martedì 30 agosto 2016, 15:41
Sesso: Maschile

Re: Guida alla compilazione di icu 69-71 con php 7.4 e ubuntu server 20.04

Messaggio da Hosting80 »

Certo che esiste.

apt-install php7.4-intl

Non e che devo stare a ripetere 100 volte motivazioni.

Se hai un altro metodo più veloce e semplice condividi.
Avatar utente
DoctorStrange
Entusiasta Emergente
Entusiasta Emergente
Messaggi: 2411
Iscrizione: mercoledì 14 ottobre 2015, 9:33
Desktop: Gnome3
Distribuzione: Ubuntu 18.04 Bionic Beaver
Sesso: Maschile
Località: Roma, Italia

Re: Guida alla compilazione di icu 69-71 con php 7.4 e ubuntu server 20.04

Messaggio da DoctorStrange »

Appoggio quanto detto da Alien. Le modifiche le scrivi su un dockerfile e poi è questo che distribuisci. Facilmente versionabile e distribuibile.
Hosting80
Prode Principiante
Messaggi: 84
Iscrizione: martedì 30 agosto 2016, 15:41
Sesso: Maschile

Re: Guida alla compilazione di icu 69-71 con php 7.4 e ubuntu server 20.04

Messaggio da Hosting80 »

Problema risolto .

Un saluto
Avatar utente
Alien321
Entusiasta Emergente
Entusiasta Emergente
Messaggi: 1381
Iscrizione: sabato 20 maggio 2006, 20:39
Desktop: KDE 5.16.4
Distribuzione: KDE Neon
Località: Venere

Re: Guida alla compilazione di icu 69-71 con php 7.4 e ubuntu server 20.04

Messaggio da Alien321 »

Non serve mica arrabbiarsi era solo un discussione se la posti su un forum è anche giusto che si discuta metodi per migliorare, cancellare tutto cosi mi sembra un po infantile
Spoiler
Mostra
Finalmente è finito carnevale, anche se vedo ancora gente in maschera
Hosting80
Prode Principiante
Messaggi: 84
Iscrizione: martedì 30 agosto 2016, 15:41
Sesso: Maschile

Re: Guida alla compilazione di icu 69-71 con php 7.4 e ubuntu server 20.04

Messaggio da Hosting80 »

e chi si arrabbia, perchè dovrei.

Invece di imparare qualcosa e apprendere ci si lamenta che lo si vuole, formattato, automatizzato e ben strutturato.

Personalmente ritengo che sia utile sapere quello che si sta facendo e perchè non condividere quello appreso anche con altri ma chiaramente questo non è di interesse anzi da quello che ho capito di poca utilità.

Ora non e che ogni volta e necessario compilarlo, se con un po di intelligenza uno si salva il file "so" compilato per quella versione di php non ha bisogno di ricompilarlo.

Ma e evidente che non va bene quindi un pacchetto pronto già compilato lo si ottiene con "apt install php7x-intl" con la versione al momento disponibile che non è l'ultima.

Siccome a me serve spesso poter avere le ultime versioni e non solo di intl spesso richieste,e queste richieste mi vengono pagate perchè non accontentare lo sviluppaotore.

Nessuno se la prende ma ripeto, se si ritiene che sia inutile il contenuto non ha piu' senso anzi, vi incoraggio a questo punto a fare di meglio.
Avatar utente
tokijin
Moderatore Globale
Moderatore Globale
Messaggi: 4473
Iscrizione: mercoledì 3 giugno 2009, 23:10
Desktop: Plasma 5.19.0
Distribuzione: KDE Neon User Edition 5.19 x86_64
Località: Abruzzo

Re: Guida alla compilazione di icu 69-71 con php 7.4 e ubuntu server 20.04

Messaggio da tokijin »

@Hosting80
Ho ripristinato i due messaggi cancellati.

Non ci si comporta così nel forum: si stava parlando civilmente, senza scadimenti e la cancellazione dei messaggi non era in alcun modo giustificata.

Ricordo che la cancellazione dei messaggi di questo tipo va contro il principio del forum, di condivisione e partecipazione.
Sei abbruzzese se dopo che ti sei strafogato un chilogrammo di pasta, hai il coraggio di dire alla cuoca "cacc ch'è cott" - Se entra un piccione in casa..chiudi le finestre!
Ubuntu User #28657 - Il mio vecchio hardware - Tag Codice
Hosting80
Prode Principiante
Messaggi: 84
Iscrizione: martedì 30 agosto 2016, 15:41
Sesso: Maschile

Re: Guida alla compilazione di icu 69-71 con php 7.4 e ubuntu server 20.04

Messaggio da Hosting80 »

Fai pure.

Viste le risposte posso affermare altrettanto.

Tanto qualsiasi cosa si fa sei in torto a prescindere, invece di apprezzare mi rompi le palle per compilarti il pacchetto pronto.

In giro non si trovano molti altri disposti a dare queste procedure
Sicuramente e l'ultima volta!...

Non è proprio modo di fare!....i pacchetti pronti ve li compilate altrimenti a pagamento!!!
Hosting80
Prode Principiante
Messaggi: 84
Iscrizione: martedì 30 agosto 2016, 15:41
Sesso: Maschile

Re: Guida alla compilazione di icu 69-71 con php 7.4 e ubuntu server 20.04

Messaggio da Hosting80 »

@tokijin

ti ho inviato un messaggio privato.

Diciamo che ora passiamo a fare le cose un po piu' serie.

ti pregerei gentilmente di rispettare la richiesta grazie.
Avatar utente
tokijin
Moderatore Globale
Moderatore Globale
Messaggi: 4473
Iscrizione: mercoledì 3 giugno 2009, 23:10
Desktop: Plasma 5.19.0
Distribuzione: KDE Neon User Edition 5.19 x86_64
Località: Abruzzo

Re: Guida alla compilazione di icu 69-71 con php 7.4 e ubuntu server 20.04

Messaggio da tokijin »

Hosting80 ha scritto:
ieri, 16:58
@tokijin

ti ho inviato un messaggio privato.

Diciamo che ora passiamo a fare le cose un po piu' serie.

ti pregerei gentilmente di rispettare la richiesta grazie.
Ciao, ho controllato ma a me non è arrivato nessun messaggio privato da parte tua.
Se c'è stato qualche errore, se necessario riscrivi pure.

Ciao :ciao:
Sei abbruzzese se dopo che ti sei strafogato un chilogrammo di pasta, hai il coraggio di dire alla cuoca "cacc ch'è cott" - Se entra un piccione in casa..chiudi le finestre!
Ubuntu User #28657 - Il mio vecchio hardware - Tag Codice
Scrivi risposta

Ritorna a “Ubuntu su server”

Chi c’è in linea

Visualizzano questa sezione: 0 utenti iscritti e 4 ospiti