Précédent   Forum des professionnels en informatique > PHP > Bibliothèques et frameworks
Bibliothèques et frameworks Forum d'entraide sur les frameworks, templates, bibliothèques de code (PDFLib, eZPdf, JpGraph, Artichow, PEAR, etc). Avant de poster : FAQ bibliothèques, toutes les FAQ PHP et cours bibliothèques
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 13/12/2006, 03h44   #1
Invité de passage
 
Inscription : décembre 2006
Messages : 9
Détails du profil
Informations forums :
Inscription : décembre 2006
Messages : 9
Points : 3
Points : 3
Par défaut [MySQL]Probleme compilation extension

Bonjour,

Je viens tout juste d'installer apache2 sur mon serveur perso ( un vieux pc qui tourne sous DSL cf ma config).
J'ai installé Php5, Mysql et Postgresql.

Mysql et Postgresql fonctionnent parfaitement.
J'ai utiliser les fichiers binaires de mysql, toutes les autres installations ont été faites à partir des sources.

J'ai donc voulu ajouter leurs extensions à php5.
J'ai donc utilisé phpize, dans /ext/mysql et pgsql.
Pour Postgresql, tout s'est bien passé, configure, make et make install parfait.
Postgresql est donc maintenant pris en compte dans php.

Seulement, pour mysql ça se complique.
Une fois phpize appliqué, sans probleme, ./configure ne fonctionne pas.
j'ai bien indiqué :
Code X :
1
2
3
4
5
6
./configure
--prefix=/usr/local/php5 
--with-php-config=/usr/local/php5/bin/php-config
--with-mysql=/usr/local/mysql 
--with-zlib-dir=/usr/bin

/usr/local/mysql est bien sur le dossier où j'ai installé mysql.

le ./configure affiche donc :
Citation:
checking for MySQL support... yes, shared
checking for specified location of the MySQL UNIX socket... no
checking for the location of libz... /usr/local/lib
checking for MySQL UNIX socket location... no
checking for mysql_close in -lmysqlclient... no
checking for mysql_error in -lmysqlclient... no
configure: error: mysql configure failed. Please check config.log for more information.
Un petit tour dans le fichier config.conf :
Code X :
1
2
3
4
5
6
7
8
9
10
11
12
    162 configure:3865: checking for the location of libz
    163 configure:3883: result: /usr/local/lib
    164 configure:3898: checking for MySQL UNIX socket location
    165 configure:3942: result: no
    166 configure:4097: checking for mysql_close in -lmysqlclient
    167 configure:4132: gcc -o conftest -g -O2  -Wl,-rpath,/usr/local/mysql/lib         -L/usr/local/mysql/lib  conftest.c -lmysqlclient   >&5
    168 /usr/local/mysql/lib/libmysqlclient.a(my_compress.o)(.text+0xc5): In fun        ction `my_compress_alloc':
    169 : undefined reference to `compress'
    170 /usr/local/mysql/lib/libmysqlclient.a(my_compress.o)(.text+0x14c): In fu        nction `my_uncompress':
    171 : undefined reference to `uncompress'
    172 /usr/local/mysql/lib/libmysqlclient.a(libtaocrypt_la-dh.o)(.text+0x8c):         In function `TaoCrypt::(anonymous namespace)::DiscreteLogWorkFactor(unsi        gned)':

et ça continue avec des erreurs comme celles-ci jusqu'à la fin du log.
Il semble donc qu'il trouve bien les fichiers mysql, mais que ceux-ci retournent une erreur (ou que le script "./configure" compile mal).
Le fait est que ça ne fonctionne pas, donc pas de mysql.so, pas de Php+Mysql

Je suppose aussi que récupérer un mysql.so d'une autre machine ne resoudra pas le probleme (pas les mêmes config donc pas les mêmes resutlats).

J'ai essayé d'autre mysql : standard , max, l'extension mysql du site php.net, ... rien n'y fait.

je ne sais pas quoi faire, toute aide sera la bienvenue.

Merci d'avance !

PS: Config :
distrib : DSL (et oui vieux pc serveur) linux 2.4.26
Server version : Apache 2.2.3
Php version : Php 5.2.0
MySQL version : Ver 5.0.7-max
PostgreSQL : V. 8.2.0
beberforever est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/12/2006, 11h06   #2
En attente de confirmation mail
 
Inscription : juin 2002
Messages : 6 164
Détails du profil
Informations forums :
Inscription : juin 2002
Messages : 6 164
Points : 6 404
Points : 6 404
Tentez d'ajouter le répertoire du script mysql_config à votre variable d'environnement PATH puisqu'en général les scripts configure cherche à utiliser ce dernier pour définir les options de compilation qui lui sont liées. S'il ne trouve toujours pas libmysql vous pouvez ajouter le chemin de son répertoire dans /etc/ld.so.conf et lancez ensuite la commande ldconfig.

Par contre vous avez encore un problème avec zlib, je vous propose d'utiliser comme mentionner dans la doc de MySQL :
Code X :
1
2
3
4
5
6
LDFLAGS="-L/usr/local/lib -lz" \
./configure \
--prefix=/usr/local/php5 \
--with-php-config=/usr/local/php5/bin/php-config \
--with-mysql=/usr/local/mysql \
--with-zlib-dir=/usr/bin


Julp.
julp est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/12/2006, 12h37   #3
Invité de passage
 
Inscription : décembre 2006
Messages : 9
Détails du profil
Informations forums :
Inscription : décembre 2006
Messages : 9
Points : 3
Points : 3
Merci de votre reponse.

J'ai essayé de suivre vos instructions, en modifiant la variable PATH, etc, ... Mais toujours rien.

J'ai cependant trouvé un article sur le site de mysql qui pourrait peut-être m'aider :
Citation:
Si vous obtenez une erreur undefined reference pour des fonctions inexistantes sur votre système, ressemblant à ce qui suit :

Code :
mf_format.o(.text+0x201): undefined reference to `__lxstat'
cela signifie que votre bibliothèque est compilé sur un système qui n'est pas à 100% compatible avec le votre. Dans ce cas, vous devez obtenir la dernière distribution des sources de MySQL et compiler vous-mêmes. See Section 2.4, « Installation de MySQL avec une distribution source ».
http://dev.mysql.com/doc/refman/5.0/fr/link-errors.html

Je vais donc tenter d'installer mysql à partir des sources, en esperant qu'il n'y aura pas trop de complications .

Je vous tient au courant de la suite de l'installation,
@+.
beberforever est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/12/2006, 20h18   #4
Invité de passage
 
Inscription : décembre 2006
Messages : 9
Détails du profil
Informations forums :
Inscription : décembre 2006
Messages : 9
Points : 3
Points : 3
Bon ben même en ayant tout recompilé ( et c'est long ...) ca ne fonctionne toujours pas.

Je pense donc que je vais réinstaller le systeme entier.

Désolé pour ceux qui rencontreraient ce genre de probleme, mais mes compétences sont bien insuffisantes face à ça.

Merci tout de même pour votre aide, si quelqu'un, un jour, à la reponse, et bien qu'il la post, on ne sait jamais.
beberforever est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/12/2006, 02h52   #5
Invité de passage
 
Inscription : décembre 2006
Messages : 9
Détails du profil
Informations forums :
Inscription : décembre 2006
Messages : 9
Points : 3
Points : 3
Désolé, j'ai rendu les armes trop rapidement apparement !
Le message précedent était une erreur (fatigue + énervement)

Et oui, j'ai réussi !!!

J'ai recompilé les sources mysql (une 1/2 journée sur mon serveur, d'où l'énervement), et là, ca a marché. La compile : pas de probleme, make & make install aussi.

Voilà donc pour tous ceux qui rencontreraient se genre de problemes : mettez les mains dans le camboui, compilez les sources !

merci pour votre aide.

A bientôt.
beberforever est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 23h44.


 
 
 
 
Partenaires

Hébergement Web