compilation de php-gtk difficile... Pb de lib.

Le
Vincent Verdon
Bonsoir,

après la dinde, je me suis mis en tête de compiler php-gtk.
En soi, rien de compliqué, ./configure, make,
Mais configure me demande la glib2.6 au minimum ainsi que gtk+2.6 au
minimum.
Je vérifie et m'aperçois que les versions installées sont glib 2.30.2-4
gtk+ 2.24.8-2 et 3.2, c'est à dire des versions bien supérieures.
Je pressens un problème dans les sources.
Par curiosité, j'ai compilé une glib 2.6.x et configure à l'air bien
content. J'aimerai trouver une solution plus efficace que de réinstaller
de vieilles versions des libs !

Amicalement, Vincent Verdon
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Cem
Le #24119631
Vincent Verdon
après la dinde, je me suis mis en tête de compiler php-gtk.
En soi, rien de compliqué, ./configure, make,...
Mais configure me demande la glib2.6 au minimum ainsi que gtk+2.6 au
minimum.
Je vérifie et m'aperçois que les versions installées sont glib
2.30.2-4
gtk+ 2.24.8-2 et 3.2, c'est à dire des versions bien supérieure s.
Je pressens un problème dans les sources.
Par curiosité, j'ai compilé une glib 2.6.x et configure à l'air bien
content. J'aimerai trouver une solution plus efficace que de
réinstaller de vieilles versions des libs !



Bonjour,

Dans le fichier php_gtk.m4, les lignes suivantes me paraissent
bizarres...

glib_config_major_version=`$PKG_CONFIG --modversion glib-2.0 |
sed 's/([[0-9]]*).([[0-9]]*).([[0-9]]*)/1/'`
glib_config_minor_version=`$PKG_CONFIG --modversion glib-2.0 |
sed 's/([[0-9]]*).([[0-9]]*).([[0-9]]*)/2/'`
glib_config_micro_version=`$PKG_CONFIG --modversion glib-2.0 |
sed 's/([[0-9]]*).([[0-9]]*).([[0-9]]*)/3/'`

car en admettant que pkg-config --modversion glib-2.0 revoie 2.30.0,
echo '2.30.0'|sed 's/([[0-9]]*).([[0-9]]*).([[0-9]]*)/1/'
echo '2.30.0'|sed 's/([[0-9]]*).([[0-9]]*).([[0-9]]*)/2/'
echo '2.30.0'|sed 's/([[0-9]]*).([[0-9]]*).([[0-9]]*)/3/'
donnent comme résultat 2.30.0 et pas 2, 30 et 0 comme vraisemblablement
souhaités...

En revanche
echo '2.6.0'|sed 's/([[0-9]]*).([[0-9]]*).([[0-9]]*)/1/'
echo '2.6.0'|sed 's/([[0-9]]*).([[0-9]]*).([[0-9]]*)/2/'
echo '2.6.0'|sed 's/([[0-9]]*).([[0-9]]*).([[0-9]]*)/3/'
donnent bien les résultats attendus: 2, 6 et 0.

Avec sed 's/([0-9]*).([0-9]*).([0-9]*)/... ça marcherait mieux.

On a le même type de chose pour gtk+.

Donc soit corriger les instructions sed comme indiqué ci-dessus dans le
fichier php_gtk.m4.

Soit plus simple encore, puisque les versions de libs possédées s ont
normalement suffisantes, lancer l'ordre configure avec les options
--disable-glibtest et --disable-gtktest. Ainsi les tests des versions de
ces librairies ne seront pas effectués par le configure.

--
Cem
Cem
Le #24119641
Vincent Verdon
après la dinde, je me suis mis en tête de compiler php-gtk.
En soi, rien de compliqué, ./configure, make,...
Mais configure me demande la glib2.6 au minimum ainsi que gtk+2.6 au
minimum.
Je vérifie et m'aperçois que les versions installées sont glib
2.30.2-4
gtk+ 2.24.8-2 et 3.2, c'est à dire des versions bien supérieure s.
Je pressens un problème dans les sources.
Par curiosité, j'ai compilé une glib 2.6.x et configure à l'air bien
content. J'aimerai trouver une solution plus efficace que de
réinstaller de vieilles versions des libs !



Bonjour,

Dans le fichier php_gtk.m4, les lignes suivantes me paraissent
bizarres...

glib_config_major_version=`$PKG_CONFIG --modversion glib-2.0 |
sed 's/([[0-9]]*).([[0-9]]*).([[0-9]]*)/1/'`
glib_config_minor_version=`$PKG_CONFIG --modversion glib-2.0 |
sed 's/([[0-9]]*).([[0-9]]*).([[0-9]]*)/2/'`
glib_config_micro_version=`$PKG_CONFIG --modversion glib-2.0 |
sed 's/([[0-9]]*).([[0-9]]*).([[0-9]]*)/3/'`

car en admettant que pkg-config --modversion glib-2.0 revoie 2.30.0,
echo '2.30.0'|sed 's/([[0-9]]*).([[0-9]]*).([[0-9]]*)/1/'
echo '2.30.0'|sed 's/([[0-9]]*).([[0-9]]*).([[0-9]]*)/2/'
echo '2.30.0'|sed 's/([[0-9]]*).([[0-9]]*).([[0-9]]*)/3/'
donnent comme résultat 2.30.0 et pas 2, 30 et 0 comme vraisemblablement
souhaités...

En revanche
echo '2.6.0'|sed 's/([[0-9]]*).([[0-9]]*).([[0-9]]*)/1/'
echo '2.6.0'|sed 's/([[0-9]]*).([[0-9]]*).([[0-9]]*)/2/'
echo '2.6.0'|sed 's/([[0-9]]*).([[0-9]]*).([[0-9]]*)/3/'
donnent bien les résultats attendus: 2, 6 et 0.

Avec sed 's/([0-9]*).([0-9]*).([0-9]*)/... ça marcherait mieux.

On a le même type de chose pour gtk+.

Donc soit corriger les instructions sed comme indiqué ci-dessus dans le
fichier php_gtk.m4.

Soit plus simple encore, puisque les versions de libs possédées s ont
normalement suffisantes, lancer l'ordre configure avec les options
--disable-glibtest et --disable-gtktest. Ainsi les tests des versions de
ces librairies ne seront pas effectués par le configure.

--
Cem
Cem
Le #24120951
Cem
Vincent Verdon
après la dinde, je me suis mis en tête de compiler php-gtk.
Mais configure me demande la glib2.6 au minimum ainsi que gtk+2.6 au
minimum.
Je vérifie et m'aperçois que les versions installées sont glib
2.30.2-4
gtk+ 2.24.8-2 et 3.2, c'est à dire des versions bien supérieur es.
Je pressens un problème dans les sources.



Dans le fichier php_gtk.m4 [...]



En y regardant de plus près, le contenu de php_gtk.m4 n'est visiblement
pas repris dans le configure donc n'est pas la cause du problème.

Il manque plus probablement l'installation de packages indispensables
pour que ça se passe bien.

Vérifier notamment la présence de:
pkg-config libglib2.0-dev libgtk2.0-dev
(Noms de package pour une Ubuntu)

Indépendamment de la distribution, il faut en gros avoir présent sur sa
machine
/usr/bin/pkg-config
/usr/lib/pkgconfig/glib-2.0.pc
/usr/lib/pkgconfig/gtk+-2.0.pc
pour que les tests des versions de lib glib et gtk se passent bien.

--
Cem
Publicité
Poster une réponse
Anonyme