OVH Community, votre nouvel espace communautaire.

PHP 5 - configuration


xion
24/07/2004, 18h44
j'ai défini la variable tel quel :
char _libiconv_version;
Ce qui donne :
#if HAVE_LIBICONV
{
static char buf[16];
char _libiconv_version;
snprintf(buf, sizeof(buf), "%d.%d",
((_libiconv_version >> 8) & 0x0f), (_libiconv_version & 0x0f));
version = buf;
}
#elif HAVE_GLIBC_ICONV
version = (char *)gnu_get_libc_version();
#endif
Et ça a l'air d'avoir passé maintenant (mais je dois vérifier si ça n'entraîne pas de bug... quoique je ne vois pas pourquoi une déclaration de variable pourrait gêner, sauf si j'ai donné un mauvais typage à la variable (mais l'opérateur >> 8 m'a indiqué que c'était un type char (je suppose)...)
et mon php 5.0.0 marche correctement...
Je suis heureux que ça marche, mais c'est honteux d'oublier de déclarer une variable (et quand une variable de définition de version (presque inutile) fait bloquer un compilateur, franchement, ça frustre !!!)

Voilà le PHPinfo pour si jamais vous avez le même problème (pour comparer ce que vous avez mis dans le configure et ce qui est donné) :
http://www.wox-xion.com/phpinfo()

dword
24/07/2004, 18h25
Ben là en fait c'est iconv.c qui passe pas donc peut être un conflit avec ta version installée de libiconv-1.9.2.

xion
24/07/2004, 17h15
je n'ai pas l'impression que la version de php 5 soit encore fiable... mais je veux vraiment l'utiliser pour les fonctions xml qui me sont très importantes...

Edition :
Voici le code de ce fichier .c ou ça plante... :
#if HAVE_LIBICONV
{
static char buf[16];
snprintf(buf, sizeof(buf), "%d.%d",
((_libiconv_version >> 8) & 0x0f), (_libiconv_version & 0x0f));
version = buf;
}
#elif HAVE_GLIBC_ICONV
version = (char *)gnu_get_libc_version();
#endif[/QUOTE]

Je ne vois pas le problème (sauf qu'il est vrai que _libiconv_version n'est pas défini dans le fichier (mais peut-être dans un des multiples fichiers inclus (ils s'amusent bien à inclure des fichiers ^^)).
Mais je ne vais pas m'amuser à le définir au hasard...

xion
24/07/2004, 17h12
J'essaie d'installer PHP5, mais malgré que ma commande de configuration marche, le make ne marche jamais !!!!!

J'ai essayé de le mettre avec apache 1.3.31, pas moyen, après, essai de l'installer avec apxs, mais j'ai plusieurs erreurs qui n'ont pas de raison d'exister !!!

Voici ma commande configuration :

./configure \
--with-apxs=/usr/local/apache/bin/apxs \
--enable-php-streams \
--with-dbase \
--with-filepro \
--enable-ftp \
--with-db \
--enable-bcmath \
--enable-calendar \
--with-jpeg-dir \
--with-png-dir \
--with-gd \
--with-ttf \
--with-xml \
--enable-simplexml \
--with-dom=shared \
--with-dom-xslt=shared \
--with-dom-exslt=shared \
--enable-wddx \
--with-xmlrpc \
--enable-xslt \
--with-xslt-sablot=/usr/local/ \
--with-zlib-dir=/usr/local/include/ \
--with-expat-dir=/usr/local/ \
--with-iconv \
--with-iconv-dir=/usr/local/ \
--with-xsl \
--enable-sockets \
--enable-gd-native-ttf \
--with-freetype-dir \
--with-gettext \
--with-zip=/usr/local/ \
--with-mysql \
--with-zlib-dir \
--enable-trans-sid \
--with-imap \
--with-kerberos \
--with-imap-ssl \
--with-openssl \
--enable-sysvsem \
--enable-sysvshm
J'ai installé zlib 1.2.1, sablotron 1.0.1, libxml 2.6.9, zziplib-0.10.76, expat-1.95.7, libiconv-1.9.2 et js 1.5rc4a...
Tout ce dont j'avais besoin... (et bien sûr mysql est en version 4.0.10, apache 1.3.31, ssl d'ovh...

Tout devrait marcher... et voilà qu'à mon premier essai, vu que j'avais déjà testé, un des fichiers de je ne sais plus quoi était supprimé, pas de problème, je reprends une archive de php5.0.0, je la décompresse, et je mets cette configuration...
Pas de problème, configuration correcte...
Puis, make...
Et là, ça coince, voici l'erreur (incompréhensible !) :
/home/ovh/src/php-5.0.0/ext/iconv/iconv.c: In function `zm_startup_miconv':
/home/ovh/src/php-5.0.0/ext/iconv/iconv.c:191: `_libiconv_version' undeclared (first use in this function)
/home/ovh/src/php-5.0.0/ext/iconv/iconv.c:191: (Each undeclared identifier is reported only once
/home/ovh/src/php-5.0.0/ext/iconv/iconv.c:191: for each function it appears in.)
make: *** [ext/iconv/iconv.lo] Erreur 1
libiconv a été installé dans /usr/local/, mais rien à faire, j'ai cette erreur, et je ne vois pas pourquoi, ça n'a rien à voir on dirait ?!