Probleme de compilation de php et mysql

Probleme de compilation de php et mysql - Installation - Linux et OS Alternatifs

Marsh Posté le 10-02-2004 à 15:29:24    

J'essaie depuis ce matin d'installer php 4.1.2 et mysql 3.23.49 à partir des sources. Je l'ai déjà fait des dizaines de fois chez moi avec les dernières versions sans rencontrer le moindre problème mais là, comme c'est pour le boulot, ça chie :).
Le ./configure se passe très bien dans les 2 cas, mais le make à quelques problèmes.
Voici le message d'erreur (j'ai copier-coller les dernières lignes) pour php :

Code :
  1. /usr/src/php-4.1.2/ext/mysql/libmysql/my_malloc.c:24: undefined reference to `errno'
  2. ./.libs/libphp4.a(my_realloc.o)(.text+0xc0): In function `my_realloc':
  3. /usr/src/php-4.1.2/ext/mysql/libmysql/my_realloc.c:44: undefined reference to `errno'
  4. ./.libs/libphp4.a(my_error.o)(.text+0x28c): In function `my_error':
  5. /usr/src/php-4.1.2/ext/mysql/libmysql/my_error.c:32: undefined reference to `errno'
  6. ./.libs/libphp4.a(my_lib.o)(.text+0x3a3): In function `my_dir':
  7. /usr/src/php-4.1.2/ext/mysql/libmysql/my_lib.c:162: undefined reference to `errno'
  8. ./.libs/libphp4.a(my_lib.o)(.text+0x59c): In function `my_stat':
  9. /usr/src/php-4.1.2/ext/mysql/libmysql/my_lib.c:585: undefined reference to `errno'
  10. ./.libs/libphp4.a(my_getwd.o)(.text+0xd2):/usr/src/php-4.1.2/ext/mysql/libmysql/my_getwd.c:43: more undefined references to `errno' follow
  11. collect2: ld returned 1 exit status
  12. make[1]: *** [php] Error 1
  13. make[1]: Leaving directory `/usr/src/php-4.1.2'
  14. make: *** [all-recursive] Error 1


 
Et voici le message d'erreur pour mysql :

Code :
  1. /bin/sh ../libtool --mode=link c++  -O3 -DDBUG_OFF   -fno-implicit-templates -fno-exceptions -fno-rtti -rdynamic -o mysql  mysql.o readline.o sql_string.o completion_hash.o ../readline/libreadline.a -lncurses ../libmysql/libmysqlclient.la -lz -lcrypt -lnsl -lm
  2. mkdir .libs c++ -O3 -DDBUG_OFF -fno-implicit-templates -fno-exceptions -fno-rtti -rdynamic -o .libs/mysql mysql.o readline.o sql_string.o completion_hash.o ../readline/libreadline.a -lncurses ../libmysql/.libs/libmysqlclient.so -lz -lcrypt -lnsl -lm -lz -lcrypt -lnsl -lm -Wl,--rpath -Wl,/usr/local/mysql/lib/mysql
  3. mysql.o(.text+0x1aa9): In function `com_source(String*, char*)':: undefined reference to `errno'
  4. collect2: ld returned 1 exit status
  5. make[2]: *** [mysql] Error 1
  6. make[2]: Leaving directory `/usr/src/mysql-3.23.49/client'
  7. make[1]: *** [all-recursive] Error 1
  8. make[1]: Leaving directory `/usr/src/mysql-3.23.49'
  9. make: *** [all-recursive-am] Error 2


 
Vous avez une idée ?


Message édité par zezette le 11-02-2004 à 10:55:25

---------------
"Par moment j'me d'mande si chui pas con" G. de Suresnes
Reply

Marsh Posté le 10-02-2004 à 15:29:24   

Reply

Marsh Posté le 10-02-2004 à 17:55:44    

Je viens de tenter de le faire chez moi (pour mysql) et j'ai rencontré le même problème... Ca me rassure un peu c'est surement des versions pourraves :)


Message édité par zezette le 10-02-2004 à 17:55:58

---------------
"Par moment j'me d'mande si chui pas con" G. de Suresnes
Reply

Marsh Posté le 10-02-2004 à 19:03:29    

J'ai essayé les versions précédentes et j'ai le même problème. Je suis avec apache 1.qqch et j'ai plus utilisé ça depuis un bail. Je me demande s'il faut pas ajouter un lien vers le repertoire des sources de apache pour compiler php ou un truc du genre...
Y'a vraiment personne qui se souvient de ces vieux trucs ???


---------------
"Par moment j'me d'mande si chui pas con" G. de Suresnes
Reply

Marsh Posté le 11-02-2004 à 09:51:31    

Grâce à votre aide :), j'ai trouvé la solution pour PHP : je devais configurer apache avec le module "so" puis je devais configurer php avec --with-apxs. Au passage, l'option "gd" (génération d'image) ne fonctionne pas avec cette version de php car il manque le fichier "gd.h".
Pour mysql ça chie toujours mais je vais chercher...


---------------
"Par moment j'me d'mande si chui pas con" G. de Suresnes
Reply

Marsh Posté le 11-02-2004 à 11:15:51    

Pour le fichier gd.h , tu n'a qu'a installer la lib correspondante ...
 
Sinon pour le mysql as tu libc6-dev d'installer ?
 
A+

Reply

Marsh Posté le 11-02-2004 à 11:55:19    

Je ne trouve pas libc6-dev quand je regarde les packages installés avec pkgtool. Je ne le trouve pas non plus sur mon CD de Linux (Slackware 9.1). Si c'est un package qu'il me manque, le ./configure ne devrait pas me le dire ?
 
J'ai essayé de compiler avec make -k mais ça change pas grand chose
 
Pour gd.h je pense que c'est dans les sources de php qu'il est manquant car pendant la compilation, il y a clairement le message "file not found"...


Message édité par zezette le 11-02-2004 à 11:56:33

---------------
"Par moment j'me d'mande si chui pas con" G. de Suresnes
Reply

Marsh Posté le 11-02-2004 à 12:10:21    

Quand je dis installer la lib de gd, c'est pour avoir le fameux fichier gd.h , qui n'est pas automatiquement inclue dans les sourcesdu programme qui en as bessoin.
 
Pour lib6-dev, en fait c'est pour que le fichier errno.h soit dispo sur ton système, l'ai t il ?
 
A+

Reply

Marsh Posté le 11-02-2004 à 12:44:29    

ben comme je l'ai dit plus haut, ni gd ni lib6-dev n'apparait dans mes packages installés, mais le fichier errno.h existe à plusieurs endroits en dessous de /usr/include. Le fichier gd.h n'est nulle part sur mon système.


---------------
"Par moment j'me d'mande si chui pas con" G. de Suresnes
Reply

Marsh Posté le 11-02-2004 à 12:59:46    

Il faut que errno.h soit dans /usr/include , sinon il va pas le trouver ... a moins que tu modifie le make de mysql ... mais bon fo mieux que tu installe ce fichier toi meme !
 
gd.h ce trouve dans ces pakages ( debian ):
libgd2-noxpm-dev: usr/include/gd.h
libgd2-xpm-dev: usr/include/gd.h
 
A+

Reply

Marsh Posté le 11-02-2004 à 13:33:25    

Je me suis mal exprimé : il se trouve dans /usr/include mais aussi dans /usr/include/bits, /usr/include/sys, /usr/include/linux et /usr/include/asm-i386
 
Pour le package, il a pas le même nom en slackware (fallait s'y attendre). Y'a pas moyen de faire une recherche dans les packages de manière à trouver le package contenant gd.h ?


Message édité par zezette le 11-02-2004 à 13:40:27

---------------
"Par moment j'me d'mande si chui pas con" G. de Suresnes
Reply

Marsh Posté le 11-02-2004 à 13:33:25   

Reply

Marsh Posté le 12-02-2004 à 09:42:52    

Bon, pour gd tu pêux recuperer les sources de la lib sur le net, tu l'install et tu specifiera le path d'installation dans le configure de mysql.
Pour le pbs avec errno, as tu essaye la meme chose qui t'a permis de reussir la compile de php ?
 
A+

Reply

Marsh Posté le 12-02-2004 à 10:22:59    

Pour GD je ferai une recherche, mais comme je n'en ai pas besoin dans l'immediat, ça attendra. Pour mysql, j'ai compilé avec make -k (qui ne s'arrete pas lors de la rencontre d'erreurs). J'ai installé également avec un make -k et ça à l'air de fonctionner (j'ai su creer une BD, une table, faire un insert et tout virer)...
La commande qui a résolu le probleme de php ne marcherait pas pour mysql car j'ai spécifier le path vers l'apxs de apache (et ça n'a rien avoir avec mysql)
 
Merci pour ton aide


---------------
"Par moment j'me d'mande si chui pas con" G. de Suresnes
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed