Quick links: Content - sections - sub sections
EN FR
Quick Search Advanced search
 
Page

  [Opened] extension version Gold

Posted by Arnall on 09/02/2008 19:09

Bonjour,

j'ai tenté de compiler l'extension incluse dans la version Gold sur une RedHat 7.2, le phpize se passe normalement , le ./configure semble aussi mais le make plante comme ceci :

<code>
  make
 /bin/sh /root/jelix/libtool --mode=compile gcc  -I. -I/root/jelix -DPHP_ATOM_INC -I/root/jelix/include 
 -I/root/jelix/main -I/root/jelix -I/usr/local/include/php 
 -I/usr/local/include/php/main -I/usr/local/include/php/TSRM -I/usr/local/include/php/Zend 
 -I/usr/local/include/php/ext -I/usr/local/include/php/ext/date/lib  
 -DHAVE_CONFIG_H  -g -O2   -c /root/jelix/jelix.c -o jelix.lo
 mkdir .libs

 gcc -I. -I/root/jelix -DPHP_ATOM_INC -I/root/jelix/include -I/root/jelix/main -I/root/jelix 
 -I/usr/local/include/php -I/usr/local/include/php/main -I/usr/local/include/php/TSRM -I/usr/local/include/php/Zend 
 -I/usr/local/include/php/ext -I/usr/local/include/php/ext/date/lib -DHAVE_CONFIG_H -g -O2 
 -c /root/jelix/jelix.c  -fPIC -DPIC -o .libs/jelix.o

 /root/jelix/jelix.c: In function `zif_jelix_scan_module_sel':
 /root/jelix/jelix.c:342: parse error before `int'
 /root/jelix/jelix.c:350: `cursor_count' undeclared (first use in this function)
 /root/jelix/jelix.c:350: (Each undeclared identifier is reported only once
 /root/jelix/jelix.c:350: for each function it appears in.)
 /root/jelix/jelix.c:353: parse error before `int'
 /root/jelix/jelix.c:366: `module_length' undeclared (first use in this function)
 /root/jelix/jelix.c:374: `resource_length' undeclared (first use in this function)
 /root/jelix/jelix.c: In function `zif_jelix_scan_old_action_sel':
 /root/jelix/jelix.c:439: parse error before `int'
</code>

Etc etc pour finir sur :

<code>
 make: *** [jelix.lo] Erreur 1
</code>

Une idée du problème ? Un OS trop vieux ?

  [Opened] Re: extension version Gold

Reply #1 Posted by laurentj on 09/02/2008 22:26

Salut,

Tel que je vois l'erreur, ton compilateur n'aime pas trop. Certainement qu'il s'agit d'une version plus vieille que la mienne, et qui soit moins permissif. Je viens en effet de découvrir que je n'ai pas mis de point-virgule après le RETURN_FALSE ligne 339. L'erreur est peut-être due à ça. Rajoute ce point virgule, et aussi à toutes les autres lignes où il y a RETURN_FALSE ou RETURN_TRUE qui ne soient pas suivi par un point virgule. Et dis moi si la compilation passe :-)

  [Opened] extension version Gold

Reply #2 Posted by achel on 07/31/2010 20:06

Bonjour, nous travaillons sur des serveurs basé sur la distribution Blueonyx (sur des sun cobalt3/550/XTR et des serveurs plus conventionnels) qui comporte php5.1.6 de base. Nous avons aussi un package de chez solarspeed fait par Michael Stauber (fondateur et codeur principal de blueonyx) pour updater en php5.2.1 : avec les packet de la gold d'avant hier, sur le php5.2.1 ça roule nickel après le make et le make install (pas testé comment il réagissait à l'utilisation, mais déjà aucun problème de compilation malgré l'installation de zend et des autres lib comme ioncube et l'extention est bien loadée dans le phpinfo).

Nous avons donc mis à jour, en le compilant, php 5.3.1 en extension cgi (2 et 3 aussi pour faire des tests). Il est aussi compilé pour avoir zend. Donc je réitère l'installation de la lib gold (voici les étapes sur une blueonyx).

créer le répertoire jelix dans mon /share et lancer :

#/home/openskill/usr/local/531/bin/phpize
#./configure --enable-jelix --with-php-config=/home/openskill/usr/local/531/bin/php-config
#make

et voili les belles erreurs avec zend :

/bin/sh /home/openskill/usr/local/531/share/pear/temp/download/jelix/libtool --mode=compile cc  -I. -I/home/openskill/usr/local/531/share/pear/temp/download/jelix -DPHP_ATOM_INC -I/home/openskill/usr/local/531/share/pear/temp/download/jelix/include -I/home/openskill/usr/local/531/share/pear/temp/download/jelix/main -I/home/openskill/usr/local/531/share/pear/temp/download/jelix -I/home/openskill/usr/local/531/include/php -I/home/openskill/usr/local/531/include/php/main -I/home/openskill/usr/local/531/include/php/TSRM -I/home/openskill/usr/local/531/include/php/Zend -I/home/openskill/usr/local/531/include/php/ext -I/home/openskill/usr/local/531/include/php/ext/date/lib  -DHAVE_CONFIG_H  -g -O2   -c /home/openskill/usr/local/531/share/pear/temp/download/jelix/jelix.c -o jelix.lo
<code>
 cc -I. -I/home/openskill/usr/local/531/share/pear/temp/download/jelix -DPHP_ATOM_INC -I/home/openskill/usr/local/531/share/pear/temp/download/jelix/include -I/home/openskill/usr/local/531/share/pear/temp/download/jelix/main -I/home/openskill/usr/local/531/share/pear/temp/download/jelix -I/home/openskill/usr/local/531/include/php -I/home/openskill/usr/local/531/include/php/main -I/home/openskill/usr/local/531/include/php/TSRM -I/home/openskill/usr/local/531/include/php/Zend -I/home/openskill/usr/local/531/include/php/ext -I/home/openskill/usr/local/531/include/php/ext/date/lib -DHAVE_CONFIG_H -g -O2 -c /home/openskill/usr/local/531/share/pear/temp/download/jelix/jelix.c  -fPIC -DPIC -o .libs/jelix.o

/home/openskill/usr/local/531/share/pear/temp/download/jelix/jelix.c: In function 'zif_jelix_read_ini': /home/openskill/usr/local/531/share/pear/temp/download/jelix/jelix.c:260: warning: 'zend_get_parameters_ex' is deprecated (declared at /home/openskill/usr/local/531/include/php/Zend/zend_API.h:222) /home/openskill/usr/local/531/share/pear/temp/download/jelix/jelix.c:268: warning: 'zend_get_parameters_ex' is deprecated (declared at /home/openskill/usr/local/531/include/php/Zend/zend_API.h:222) /home/openskill/usr/local/531/share/pear/temp/download/jelix/jelix.c:292: warning: passing argument 3 of 'zend_parse_ini_file' makes integer from pointer without a cast /home/openskill/usr/local/531/share/pear/temp/download/jelix/jelix.c:292: warning: passing argument 4 of 'zend_parse_ini_file' from incompatible pointer type /home/openskill/usr/local/531/share/pear/temp/download/jelix/jelix.c:292: error: too few arguments to function 'zend_parse_ini_file' /home/openskill/usr/local/531/share/pear/temp/download/jelix/jelix.c: In function 'zif_jelix_scan_module_sel': /home/openskill/usr/local/531/share/pear/temp/download/jelix/jelix.c:309: warning: 'zend_get_parameters_ex' is deprecated (declared at /home/openskill/usr/local/531/include/php/Zend/zend_API.h:222) /home/openskill/usr/local/531/share/pear/temp/download/jelix/jelix.c: In function 'zif_jelix_scan_old_action_sel': /home/openskill/usr/local/531/share/pear/temp/download/jelix/jelix.c:419: warning: 'zend_get_parameters_ex' is deprecated (declared at /home/openskill/usr/local/531/include/php/Zend/zend_API.h:222) /home/openskill/usr/local/531/share/pear/temp/download/jelix/jelix.c: In function 'zif_jelix_scan_action_sel': /home/openskill/usr/local/531/share/pear/temp/download/jelix/jelix.c:680: warning: 'zend_get_parameters_ex' is deprecated (declared at /home/openskill/usr/local/531/include/php/Zend/zend_API.h:222) /home/openskill/usr/local/531/share/pear/temp/download/jelix/jelix.c: In function 'zif_jelix_scan_class_sel': /home/openskill/usr/local/531/share/pear/temp/download/jelix/jelix.c:919: warning: 'zend_get_parameters_ex' is deprecated (declared at /home/openskill/usr/local/531/include/php/Zend/zend_API.h:222) /home/openskill/usr/local/531/share/pear/temp/download/jelix/jelix.c: In function 'zif_jelix_scan_locale_sel': /home/openskill/usr/local/531/share/pear/temp/download/jelix/jelix.c:1042: warning: 'zend_get_parameters_ex' is deprecated (declared at /home/openskill/usr/local/531/include/php/Zend/zend_API.h:222) make: *** jelix.lo Error 1

</code>

Quelqu'un aurait il une idée??? Comptez vous un jour faire un repo pecl pour une installe rapide via pear ? On a essayé avec un make -m, ça ne crée un so seulement si on fait un ./configure sans le path vers le php-config, donc la compilation se rabat sur le php-config du php 5.1.6 et évidement il ne se load pas quand on utilise php 5.3.x

Si quelqu'un a une idée, on dirait que les problèmes viennent de zend. Un tout grand merci d'avance.

  [Opened] extension version Gold

Reply #3 Posted by Michael on 11/28/2010 03:07

J'ai le même problème. (Debian Lenny avec PHP Version 5.3.3-0.dotdeb.1)

Quelques tests : Pour parvenir à compiler tout de même, j'ai tâtonner un peu avec un résultat peu probant.

Dans le fichier jelix.c Ajout de :

  1. include "zend_ini_scanner.h"

Et vers la ligne 293 ajout de ZEND_INI_SCANNER_NORMAL comme suis : zend_parse_ini_file( (zend_file_handle*)&fh, ZEND_INI_SCANNER_NORMAL, (zend_bool)0, (zend_ini_parser_cb_t)jelix_ini_parser_cb, (void *)confObject);

Puis dans le fichier jelix_interfaces.c j'ai du supprimer le mot-clé static de toutes les fonctions, sinon j'avais le droit a des messages du type : error: duplicate ‘static’

Après cela la compilation c'est bien passer. Mais j'ai du modifier le fichier jelix/core/jConfigCompiler.class.php car la fonction jelix_read_ini ne marchais plus correctement.

J'espère que ces infos pourront aider à corriger le problème que je rencontre aussi.

Cdt Michael

  [Opened] extension version Gold

Reply #4 Posted by laurentj on 11/30/2010 09:50

Merci pour le rapport de bug, et le début de correction :). C'est désormais corrigé dans la branche 1.1.x et le trunk. Téléchargez une nightly pour en profiter.

  [Opened] Re: extension version Gold

Reply #5 Posted by Michael on 12/01/2010 17:33

Merci pour la correction rapide.

 
Page
  1. extension version Gold